要利用這種技術(shù),重要的是要首先了解其可用的功能。以下將了解Kubernetes的一些更加高級的功能,以幫助人們從其配置中獲取更多信息。
什么是Kubernetes?
Kubernetes是一個開源平臺,它支持容器和容器化應(yīng)用程序的自動化部署、擴展和管理。它可以在本地或云平臺中使用。Kubernetes的常見用例包括采用混合云和多云、創(chuàng)建與供應(yīng)商無關(guān)的無服務(wù)器平臺,或者部署自我修復(fù)和擴展服務(wù)。
盡管Kubernetes并不是唯一可用的業(yè)務(wù)流程平臺,但它是受到支持最多的平臺。Docker Swarm和OpenShift都是備選方案。
人們需要知道的10個Kubernetes特性
在人們掌握了Kubernetes的基本知識之后,可能會想開始利用其高級功能和特性。
1. Sidecars
Sidecar使用戶可以在Pod中運行其他容器以用作觀察程序或代理。用戶可以使用這個額外的容器來引導(dǎo)需要安裝的數(shù)據(jù),并將數(shù)據(jù)公開到容器中的其他容器。例如,Sidecar可用于處理主容器的日志記錄或身份驗證。當用戶要允許Pod中的相關(guān)進程進行通信而無需修改主容器源代碼時,Sidecar就會很有用。
2. Helm Charts
Helm Charts是Kubernetes的軟件包管理器,可用于簡化Kubernetes應(yīng)用程序的安裝和管理。它使用由軟件包描述和包含Kubernetes清單文件的模板組成的圖表。用戶可以在Kubernetes中使用清單文件來創(chuàng)建、修改和刪除資源。
Helm Charts使用戶能夠創(chuàng)建和共享可復(fù)制的Kubernetes應(yīng)用程序版本。其中有許多預(yù)配置的圖表及其相關(guān)性,因此Helm Charts可以使用戶能夠快速輕松地部署應(yīng)用程序。
3.自定義控制器
控制器是調(diào)節(jié)系統(tǒng)或資源狀態(tài)的循環(huán)。使用自定義控制器,用戶可以完成標準控制器未包含的任務(wù)。例如,可以動態(tài)地重新加載應(yīng)用程序配置。自定義控制器可以與本機或自定義資源類型一起使用。
與工具鏈相比,使用這些控制器可以更輕松地管理部署??刂破魇菃味未a,而工具鏈則需要熟悉許多接口。
4.自定義計劃
Kubernetes附帶了一個默認調(diào)度程序,用于將新創(chuàng)建的Pod分配給節(jié)點。如果此計劃程序無法滿足用戶的需要,或者想運行多個計劃程序,則可以創(chuàng)建一個自定義計劃程序。例如,用戶可以使用自定義計劃來促進云爆發(fā)。云爆發(fā)是指將工作負載移至云中以滿足更高性能或流量需求的情況。
如果用戶希望將特殊Pod與其他Pod分開處理,則自定義調(diào)度程序會很有用。可以根據(jù)其偏好或要求設(shè)置調(diào)度程序。調(diào)度可以依賴嚴格的匹配列表或包含和排除列表。
5. Pod中斷預(yù)算(PDB)
Pod中斷預(yù)算(PDB)是一項功能,使用戶可以限制自動停止集群中的Pod數(shù)量。它有助于確保在維護、自動縮減、升級等任務(wù)期間保持最少數(shù)量的Pod處于活動狀態(tài)。
使用Pod中斷預(yù)算(PDB),可以防止應(yīng)用程序可用性或性能受到管理任務(wù)的影響。Pod中斷預(yù)算(PDB)要牢記的一個重要限制是,在自動完成更改時,如果節(jié)點發(fā)生故障,它才起作用。
6. Go模塊
Go模塊是Go軟件包的集合,可用于管理應(yīng)用程序依賴項。依賴項是應(yīng)用程序運行所依賴的代碼、庫或框架的一部分。Kubernetes支持v1.15版本的Go模塊。
使用模塊,用戶可以使用同一依賴包的多個版本,也可以使用存儲在不同環(huán)境中的依賴。用戶可以使用模塊來簡化分布式團隊之間的代碼共享,并最大程度地減少依賴關(guān)系更改而帶來的影響。
7.污點和容忍
污染和容忍使用戶可以將節(jié)點定向為“吸引”或“排斥”Pod。將污點分配給節(jié)點,并指定不接受或不容許分配污點的Pod。
容差分配給了容器,并向具有匹配污點的節(jié)點發(fā)出信號,表明可以接受容器。如果用戶需要在特定硬件上部署應(yīng)用程序,或者想要將一組節(jié)點專用于特定用戶,則此功能很有用。
8. 集群聯(lián)合
集群聯(lián)合使用戶可以將多個集群視為通過單個控制平臺進行管理的單個邏輯集群。其聯(lián)合使在不同位置或環(huán)境中運行的集群更易于管理。用戶可以使用集群聯(lián)合通過使工作負載在集群之間傳遞,從而使集群具有高可用性和彈性。
9.健康檢查
用戶可以通過定義要由kubelet代理運行的探測,來檢查Kubernetes中Pod或應(yīng)用程序的運行狀況。用戶可以定義就緒性、活動性和啟動探測,如下所示:
•準備就緒—確定容器是否可以接收請求。如果失敗,則從將流量定向到Pod的所有端點中刪除Pod IP地址。
•活動性—確定是否需要重新啟動容器。失敗意味著容器被終止并重新啟動。
•啟動—確定容器中的應(yīng)用程序是否已啟動。在失敗的情況下,容器將被終止并重新啟動。
用戶可以使用超時、重試次數(shù)、最小成功或失敗閾值以及延遲的運行時間自定義探測。
10. Feature Gates
Feature Gates是Kubernetes中的一項功能,可用于在節(jié)點、集群或平臺級別上打開或關(guān)閉功能。此功能使用戶可以安全地測試功能,而不必擔(dān)心關(guān)鍵組件或生產(chǎn)環(huán)境的風(fēng)險。
用戶可以使用Feature Gates來控制Alpha、beta或穩(wěn)定功能。每個Feature Gates僅控制一個功能。Alpha功能默認為關(guān)閉,Beta和GA功能默認為打開。還有關(guān)門、功能描述和狀態(tài)等。
結(jié)論
Kubernetes是用于協(xié)調(diào)容器部署的強大工具,但是使用它可能會面臨挑戰(zhàn)。要充分利用此工具,必須了解可用的功能。
如果此處介紹的任何功能似乎對用戶的部署有用,則需要進一步研究。Kubernetes文檔是最佳起點,通??梢蕴峁┡渲弥改匣?qū)⒍ㄏ虻酵獠抠Y源。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。