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