Kubernetes 1.14:生產級 Windows 節點支援、Kubectl 更新、Persistent Local Volumes GA

我們很高興宣布 Kubernetes 1.14 的發布,這是我們 2019 年的第一個版本!

Kubernetes 1.14 包含 31 項增強功能:10 項進入穩定版,12 項進入 Beta 版,以及 7 項全新功能。此版本的主要主題是可擴展性,以及在 Kubernetes 上支援更多工作負載,其中三項主要功能進入正式發布,以及一項重要的安全性功能進入 Beta 版。

在此版本中,升級到穩定版的增強功能比以往任何 Kubernetes 版本都多。這代表在設定支援期望方面,對於使用者和營運商而言,都是一個重要的里程碑。此外,此版本還有值得注意的 Pod 和 RBAC 增強功能,將在下方的「其他值得注意的功能」部分中討論。

讓我們深入探討此版本的關鍵功能

Windows 節點的生產級支援

到目前為止,Kubernetes 中的 Windows 節點支援一直處於 Beta 版,讓許多使用者能夠實驗並了解 Kubernetes 對於 Windows 容器的價值。Kubernetes 現在正式支援新增 Windows 節點作為工作節點和排程 Windows 容器,使龐大的 Windows 應用程式生態系統能夠利用我們平台的強大功能。對 Windows 應用程式和 Linux 應用程式都有投資的企業,不必尋找單獨的協調器來管理他們的工作負載,從而在他們的部署中提高營運效率,無論作業系統為何。

在 Kubernetes 中啟用 Windows 容器的一些主要功能包括

  • 支援 Windows Server 2019 作為工作節點和容器
  • 支援使用 Azure-CNI、OVN-Kubernetes 和 Flannel 進行樹狀結構外的網路
  • 改進對 Pod、服務類型、工作負載控制器和指標/配額的支援,以緊密匹配為 Linux 容器提供的功能

值得注意的 Kubectl 更新

新的 Kubectl 文件和標誌

kubectl 的文件已從頭開始重寫,重點在使用宣告式資源配置管理資源。該文件已發布為獨立網站,格式為書籍,並從主要的 k8s.io 文件連結(位於 https://kubectl.docs.kubernetes.io)。

新的 kubectl 標誌和吉祥物(發音為 kubee-cuddle)顯示在新的文件網站標誌上。

Kustomize 整合

kustomize 的宣告式資源配置編寫功能現在可透過 -k 標誌在 kubectl 中使用(例如,對於 apply、get 等命令)和 kustomize 子命令。Kustomize 協助使用者使用 Kubernetes 原生概念編寫和重複使用資源配置。使用者現在可以使用 kubectl apply -k dir/ 將包含 kustomization.yaml 的目錄套用到叢集。使用者也可以透過 kubectl kustomize dir/ 將自訂資源配置輸出到 stdout,而無需套用它們。新功能記錄在新的文件 https://kubectl.docs.kubernetes.io

kustomize 子命令將繼續在 Kubernetes 擁有的 kustomize 儲存庫中開發。最新的 kustomize 功能將可以從獨立的 kustomize 二進位檔(發布到 kustomize 儲存庫)以頻繁的發布節奏取得,並將在每個 Kubernetes 發布之前在 kubectl 中更新。

kubectl 外掛程式機制升級到穩定版

kubectl 外掛程式機制允許開發人員以獨立二進位檔的形式發布他們自己的自訂 kubectl 子命令。這可以用於使用新的更高級別的功能和額外的介面(例如,新增 set-ns 命令)來擴展 kubectl。

外掛程式必須具有 kubectl- 名稱前綴,並且存在於使用者的 $PATH 中。GA 的外掛程式機制已大幅簡化,並且與 git 外掛程式系統類似。

持久本機卷現在是 GA

此功能升級到穩定版,使本機連接的儲存空間可用作持久卷來源。分散式檔案系統和資料庫是持久本機儲存的主要使用案例,因為效能和成本考量。在雲端供應商上,本機 SSD 比遠端磁碟提供更好的效能。在裸機上,除了效能之外,本機儲存通常更便宜,並且使用它是配置分散式檔案系統的必要條件。

PID 限制正在轉向 Beta 版

程序 ID (PID) 是 Linux 主機上的基本資源。很容易在沒有達到任何其他資源限制的情況下達到任務限制,並導致主機不穩定。管理員需要機制來確保使用者 Pod 無法引起 PID 耗盡,從而阻止主機守護程序(runtime、kubelet 等)運行。此外,重要的是確保在 Pod 之間限制 PID,以確保它們對節點上其他工作負載的影響有限。

管理員可以透過預設每個 Pod 的 PID 數量作為 Beta 版功能來提供 Pod 到 Pod 的 PID 隔離。此外,管理員可以透過節點可分配資源,為使用者 Pod 保留一定數量的可分配 PID,從而啟用節點到 Pod 的 PID 隔離作為 Alpha 版功能。社群希望在下一個版本中將此功能升級到 Beta 版。

其他值得注意的功能更新

Pod 優先順序和搶佔 使 Kubernetes 排程器能夠優先排程更重要的 Pod,並且當叢集資源不足時,它會移除不太重要的 Pod,以為更重要的 Pod 騰出空間。重要性由優先順序指定。

Pod 就緒閘道 為 Pod 就緒狀態的外部回饋引入了擴展點。

強化預設 RBAC 探索 clusterrolebindings 從預設允許未經驗證存取的 API 集中刪除探索,從而提高 CRD 的隱私性以及一般預設叢集的預設安全性態勢。

可用性

Kubernetes 1.14 可在 GitHub 上下載。若要開始使用 Kubernetes,請查看這些互動式教學課程。您也可以使用 kubeadm 輕鬆安裝 1.14。

功能部落格系列

如果您有興趣更深入地探索這些功能,請在下週回來查看我們的 Kubernetes 五天系列,我們將重點介紹以下功能的詳細演練

  • 第 1 天 - Windows Server 容器
  • 第 2 天 - 強化預設 RBAC 探索 clusterrolebindings
  • 第 3 天 - Kubernetes 中的 Pod 優先順序和搶佔
  • 第 4 天 - PID 限制
  • 第 5 天 - 持久本機卷

發布團隊

此版本的發布歸功於數百位貢獻技術和非技術內容的個人。特別感謝由 Google 資深測試工程師 Aaron Crickenberger 領導的發布團隊。發布團隊中的 43 位個人協調了發布的許多方面,從文件到測試、驗證和功能完整性。

隨著 Kubernetes 社群的成長,我們的發布流程代表了開放原始碼軟體開發中令人驚嘆的協作示範。Kubernetes 持續快速獲得新使用者。這種成長創造了一個正向回饋循環,更多貢獻者提交程式碼,創造一個更充滿活力的生態系統。迄今為止,Kubernetes 已經有超過 28,000 名個人貢獻者和一個超過 57,000 人的活躍社群。

專案速度

CNCF 持續改進 DevStats,這是一個雄心勃勃的專案,旨在視覺化專案中的無數貢獻。K8s DevStats 說明了主要公司貢獻者的貢獻明細,以及一組令人印象深刻的預先配置報告,涵蓋從個人貢獻者到提取請求生命週期時間的所有內容。在過去一年中,平均每月有 381 家不同的公司和超過 2,458 名個人為 Kubernetes 做出貢獻。查看 DevStats 以了解更多關於 Kubernetes 專案和社群的整體速度。

使用者重點

已建立的全球組織正在大規模生產環境中使用 Kubernetes。最近發布的社群使用者案例包括

Kubernetes 是否正在幫助您的團隊?與社群分享您的故事

生態系統更新

KubeCon

全球最大的 Kubernetes 聚會 KubeCon + CloudNativeCon 即將於 2019 年 5 月 20-23 日在巴塞隆納以及 2019 年 6 月 24-26 日在上海(與開放原始碼高峰會同期舉辦)舉行。這些會議將包含技術會議、案例研究、開發人員深入探討、沙龍等等!立即註冊

網路研討會

於太平洋時間 4 月 23 日上午 10 點加入 Kubernetes 1.14 發布團隊的成員,以了解此版本中的主要功能。在此處註冊

參與其中

參與 Kubernetes 最簡單的方式是加入與您的興趣一致的眾多特別興趣小組 (SIG) 之一。有任何想向 Kubernetes 社群廣播的內容嗎?在我們每週的社群會議以及以下管道中分享您的聲音。

感謝您持續的回饋和支持。