Kubernetes 1.14:對 Windows 節點的生產級支援、Kubectl 更新、持久本地卷 GA
我們很高興宣佈 Kubernetes 1.14 釋出,這是我們 2019 年的第一個版本!
Kubernetes 1.14 包含 31 項增強功能:10 項進入穩定版,12 項進入測試版,7 項全新功能。本次釋出的主要主題是可擴充套件性和支援更多 Kubernetes 工作負載,其中三項主要功能已普遍可用,一項重要的安全功能已進入測試版。
本次釋出中進入穩定版的增強功能比以往任何 Kubernetes 版本都多。這對於使用者和運營商而言,在設定支援預期方面是一個重要的里程碑。此外,本次釋出中還有值得注意的 Pod 和 RBAC 增強功能,將在下面的“其他值得注意的功能”部分進行討論。
讓我們深入瞭解此版本的主要功能
對 Windows 節點的生產級支援
到目前為止,Kubernetes 中的 Windows 節點支援一直處於測試階段,許多使用者得以嘗試並瞭解 Kubernetes 對 Windows 容器的價值。Kubernetes 現在正式支援將 Windows 節點新增為工作節點並排程 Windows 容器,從而使龐大的 Windows 應用程式生態系統能夠利用我們平臺的力量。對基於 Windows 的應用程式和基於 Linux 的應用程式進行投資的企業無需尋找單獨的編排器來管理其工作負載,從而無論作業系統如何,都能提高其部署的運營效率。
在 Kubernetes 中啟用 Windows 容器的一些主要功能包括
- 支援 Windows Server 2019 作為工作節點和容器
- 支援使用 Azure-CNI、OVN-Kubernetes 和 Flannel 進行樹外網路
- 改進了對 Pod、服務型別、工作負載控制器和指標/配額的支援,以與為 Linux 容器提供的功能緊密匹配
值得注意的 Kubectl 更新
新的 Kubectl 文件和 Logo
kubectl 的文件已經從頭開始重寫,重點是使用宣告式資源配置來管理資源。文件已作為一本獨立書籍釋出,並從主 k8s.io 文件(可在 https://kubectl.docs.kubernetes.io 獲取)連結。
新的 kubectl 徽標和吉祥物(發音為 *kubee-cuddle*)顯示在新的文件站點徽標上。
Kustomize 整合
kustomize 的宣告式資源配置創作功能現已透過 `-k` 標誌(例如,用於 `apply, get` 等命令)和 `kustomize` 子命令在 kubectl 中可用。Kustomize 幫助使用者使用 Kubernetes 原生概念創作和重用資源配置。使用者現在可以使用 `kubectl apply -k dir/` 將包含 `kustomization.yaml` 的目錄應用到叢集。使用者還可以使用 `kubectl kustomize dir/` 將自定義的資源配置輸出到標準輸出,而無需應用它們。新功能已在 https://kubectl.docs.kubernetes.io 的新文件中詳細說明。
kustomize 子命令將繼續在 Kubernetes 擁有的 kustomize 倉庫中開發。最新的 kustomize 功能將以頻繁的釋出節奏從獨立的 kustomize 二進位制檔案(釋出到 kustomize 倉庫)中提供,並將在每個 Kubernetes 釋出之前在 kubectl 中更新。
kubectl 外掛機制進入穩定版
kubectl 外掛機制允許開發人員以獨立二進位制檔案的形式釋出自己的自定義 kubectl 子命令。這可用於透過新的高階功能和附加的“瓷”(porcelain)擴充套件 kubectl(例如,新增 `set-ns` 命令)。
外掛必須具有 `kubectl-` 名稱字首並存在於使用者的 $PATH 中。外掛機制已針對 GA 大幅簡化,類似於 git 外掛系統。
持久化本地卷現已普遍可用
此功能已升級到穩定版,使本地附加儲存可用作持久卷源。分散式檔案系統和資料庫是持久化本地儲存的主要用例,因為它們具有效能和成本優勢。在雲提供商上,本地 SSD 比遠端磁碟提供更好的效能。在裸機上,除了效能之外,本地儲存通常更便宜,並且使用它對於提供分散式檔案系統是必不可少的。
PID 限制進入 Beta 版
程序 ID (PID) 是 Linux 主機上的基本資源。在不觸及任何其他資源限制的情況下,很容易達到任務限制並導致主機不穩定。管理員需要機制來確保使用者 Pod 不會引起 PID 耗盡,從而阻止主機守護程序(執行時、kubelet 等)執行。此外,重要的是要確保 Pod 之間的 PID 受到限制,以確保它們對節點上的其他工作負載的影響有限。
管理員能夠透過將每個 Pod 的 PID 數量預設設定為 Beta 功能來提供 Pod 到 Pod 的 PID 隔離。此外,管理員可以透過節點可分配來為使用者 Pod 保留一定數量的可分配 PID,從而作為 Alpha 功能啟用節點到 Pod 的 PID 隔離。社群希望在下一個版本中將此功能升級到 Beta 版。
其他值得注意的功能更新
Pod 優先順序和搶佔使 Kubernetes 排程器能夠優先排程更重要的 Pod,並且當叢集資源不足時,它會刪除不太重要的 Pod 以騰出空間給更重要的 Pod。重要性由優先順序指定。
Pod 就緒門引入了一個擴充套件點,用於外部對 Pod 就緒的反饋。
強化預設 RBAC 發現叢集角色繫結將發現從預設允許未經身份驗證訪問的 API 集中移除,從而提高了 CRD 的隱私性,並普遍改善了預設叢集的預設安全態勢。
可用性
Kubernetes 1.14 可在 GitHub 上下載。要開始使用 Kubernetes,請檢視這些互動式教程。您還可以使用 kubeadm 輕鬆安裝 1.14。
功能部落格系列
如果您有興趣更深入地探索這些功能,請下週回來檢視我們的 Kubernetes 5 天系列,我們將重點介紹以下功能的詳細演練:
- 第一天 - Windows Server 容器
- 第二天 - 強化預設 RBAC 發現叢集角色繫結
- 第三天 - Kubernetes 中的 Pod 優先順序和搶佔
- 第四天 - PID 限制
- 第五天 - 持久化本地卷
釋出團隊
此版本是透過數百名個人貢獻技術和非技術內容而實現的。特別感謝由 Google 高階測試工程師 Aaron Crickenberger 領導的釋出團隊。釋出團隊的 43 名成員協調了釋出的許多方面,從文件到測試、驗證和功能完整性。
隨著 Kubernetes 社群的發展,我們的釋出過程展示了開源軟體開發中令人驚歎的協作。Kubernetes 繼續快速獲得新使用者。這種增長創造了一個積極的反饋迴圈,更多的貢獻者提交程式碼,從而建立了一個更充滿活力的生態系統。Kubernetes 迄今已有超過 28,000 名個人貢獻者和超過 57,000 人的活躍社群。
專案速度
CNCF 繼續改進 DevStats,這是一個雄心勃勃的專案,旨在視覺化專案中發生的無數貢獻。K8s DevStats 展示了主要公司貢獻者的貢獻細分,以及一系列令人印象深刻的預配置報告,涵蓋從個人貢獻者到拉取請求生命週期時間的所有內容。在過去的一年裡,平均每月有 381 家不同的公司和超過 2,458 名個人為 Kubernetes 做出貢獻。檢視 DevStats 以瞭解 Kubernetes 專案和社群的整體速度。
使用者亮點
成熟的全球組織正在大規模使用生產中的 Kubernetes。社群最近釋出的成功案例包括:
- 網易轉向 Kubernetes 後,其研發效率提高了 100% 以上,部署效率提高了 280%。
- VSCO 發現,轉向持續整合、容器化和 Kubernetes 後,速度顯著提高。對於典型服務,從程式碼完成到在真實基礎設施上生產部署的時間從 1-2 周縮短到 2-4 小時。
- NAV 轉向 Kubernetes 後,公司節省了 50% 的基礎設施成本,部署量從每天 10 次增加到每天 50 次,資源利用率從 1% 提高到 40%。
Kubernetes 正在幫助您的團隊嗎?與社群分享您的故事。
生態系統更新
- Kubernetes 正在 CNCF 下參與 GSoC 2019。檢視 CNCF 的 GitHub 頁面上 2019 年的專案創意完整列表。
- CNCF 2018 年度報告回顧了 Kubernetes 和基金會、社群參與、生態系統工具、測試一致性專案、KubeCon 等的發展。
- 在 KubeCon + CloudNativeCon North America 2018 的 8,000 名與會者中,有 73% 是首次參加 KubeCon 的人,這突出顯示了 Kubernetes 和雲原生技術的大規模增長和新興趣。會議透明度報告。
KubeCon
全球最大的 Kubernetes 聚會 KubeCon + CloudNativeCon 將於 2019 年 5 月 20-23 日在巴塞羅那舉行,並於 2019 年 6 月 24-26 日在上海(與開源峰會同期舉行)舉行。這些會議將包括技術會議、案例研究、開發者深度剖析、沙龍等等!立即註冊!
網路研討會
請於太平洋夏令時 4 月 23 日上午 10 點加入 Kubernetes 1.14 釋出團隊的成員,瞭解本次釋出的主要功能。在此註冊。
參與其中
參與 Kubernetes 最簡單的方法是加入與您的興趣相符的眾多特別興趣小組 (SIG)。有什麼想向 Kubernetes 社群廣播的嗎?在我們的每週社群會議和以下渠道中分享您的聲音。
感謝您一直以來的反饋和支援。
- 在 Stack Overflow 上提問(或回答問題)
- 在 Discuss 上加入社群討論
- 在 Twitter 上關注我們 @Kubernetesio 獲取最新更新
- 在 Slack 上加入社群
- 分享你的 Kubernetes 故事