標籤:

Kubernetes 1.11開箱亮點:定製化資源、pod優先和搶佔等更新

Kubernetes 1.11開箱亮點:定製化資源、pod優先和搶佔等更新

來自專欄 K8S技術社區

上游Kubernetes開發工作一直在進行,旨在為社區和企業提供支持,最新的成果是Kubernetes 1.11。

每次發布的Kubernetes,都包含構建可擴展的API的持續努力。這個最新版本為定製化資源定義(CRD)帶來了更大的穩定性和增強功能,默認啟用了pod優先順序和搶佔,使用CoreDNS作為集群的DNS插件等。這個版本中包含的額外工作非常令人激動,可以幫助開發人員構建更豐富的Kubernetes原生應用程序,特別是Operator。

感謝社區和發布團隊的共同努力。以下是Kubernetes 1.11的幾個亮點:

CRD增強功能:使構建Operator變得更容易

CRD是一種擴展機制,可讓用戶創建和編程Kubernetes對象。Kubernetes 1.11會有兩個主要的增強功能:CRD版本控制現在進入beta階段並支持子資源。這使CRD體驗更接近開箱即用的Kubernetes資源所提供的功能集。

版本控制實際上是大多數其他Kubernetes對象現在所支持的內容。這是管理API生命周期的關鍵部分。過去,CRD用戶必須手動轉換他們的資源,並在每個版本更改時重新創建它們。通過提供一種通過多版本支持來演進CRD的方法,Operator的作者可以更輕鬆地迭代和進化自動管理特定應用程序的方式。這種能力也可以消除障礙,使用戶更容易開始構建Operator。

在此版本中,CRD規範還包括「scale」和「status」子資源。scale子資源支持讓其他系統(如HorizontalPodAutoscaler和PodDisruptionBudget控制器)與你的資源進行交互。另外,像kubectl scale這樣的本地CLI命令可以擴展自定義資源。status子資源支持允許Operator的作者分離開——他們可以將資源的規範寫入獨立於報告其狀態的系統組件。編寫規範和狀態的分離是Kubernetes API的一個中心概念。它為Operator作者提供了更細粒度的訪問控制,並有助於提供更可靠的系統。

pod優先和搶佔功能進入beta階段

在Kubernetes控制平面上運行集群關鍵服務(例如日誌代理或SDN)的管理員將會很高興看到,在Kubernetes 1.11中將pod優先順序和搶佔功能變成beta。現在,你可以將某個pod的調度優先順序設置為高於和低於其他pod—— 這是運行關鍵任務工作負載的生產集群的一個重要功能。想像一下,想在晚上運行任務,如運行可能需要在資源稀缺的團隊中管理的功能。如果能夠將相對權重與每個pod相關聯,調度程序可以踢出不那麼重要的pod,以便在集群資源不足時騰出空間讓最重要的pod運行。

自行託管控制平面或在控制平面上運行多個集群關鍵服務的集群運維人員會從此功能中受益。

有兩個開箱即用的系統優先順序:「系統節點關鍵」和「系統集群關鍵」,它們具有最高的調度優先順序。運維人員可以使用這些優先順序來允許支持集群操作所需的pod始終調度。在這些優先順序不夠用的情況下,運維人員可以為其用例定義更多的優先順序。

其他一些顯著特徵

持續進行的CRI(容器運行時介面)工作,改進了日誌記錄和指標收集。除了可觀察性之外,對Windows容器的增強CRI支持使得更接近Windows版本的全面可用性。

CoreDNS是一種輕量級、快速和可插拔的集群DNS模塊,可以提供全面的可用性。這將有助於它替代kuberns成為Kubernetes中DNS插件的事實標準。



推薦閱讀:

數人云|一年4更,如此勤奮的Kuberentes,1.9版更新前瞻
k8s學習筆記之持久化存儲
梁勝:Kubernetes 已成為新的基礎設施標準
kubernetes1.9源碼閱讀 kubernetes的watch包
快速了解 kubernetes 的 ConfigMap 和 Secrets

TAG:Kubernetes |