本文發表於一年多前。舊文章可能包含過時內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.7:安全強化、有狀態應用更新和可擴充套件性
本文由 Aparna Sinha 和 Ihor Dvoretskyi 代表 Kubernetes 1.7 釋出團隊撰寫。
今天我們宣佈釋出 Kubernetes 1.7,這是一個里程碑式的版本,它增加了安全性、儲存和可擴充套件性功能,這些功能是受 Kubernetes 在最苛刻的企業環境中廣泛生產使用的驅動。
一目瞭然,此版本中的安全增強功能包括加密金鑰、用於 Pod 間通訊的網路策略、限制 kubelet 訪問的節點授權器以及客戶端/伺服器 TLS 證書輪換。
對於那些在 Kubernetes 上執行橫向擴充套件資料庫的使用者,此版本有一個主要功能,即為 StatefulSet 增加自動化更新並增強 DaemonSet 的更新。我們還宣佈了對本地儲存的 Alpha 支援以及用於更快擴充套件 StatefulSet 的突發模式。
此外,對於高階使用者,此版本中的 API 聚合允許使用者提供的 apiserver 與 Kubernetes API 的其餘部分在執行時一起提供服務。其他亮點包括支援可擴充套件的准入控制器、可插拔的雲提供商以及容器執行時介面(CRI)增強功能。
新增功能
安全
- 網路策略 API 已升級為穩定版。網路策略透過網路外掛實現,允許使用者設定和執行規則,以管理哪些 Pod 可以相互通訊。
- 節點授權器和准入控制外掛是新增功能,它們根據 kubelet 的節點限制其對金鑰、Pod 和其他物件的訪問。
- etcd 中 Secrets 和其他資源的加密現已提供 Alpha 版本。
- Kubelet TLS 引導現在支援客戶端和伺服器證書輪換。
- API 伺服器儲存的審計日誌現在具有事件過濾和 Webhook 支援,更具可定製性和可擴充套件性。它們還為系統審計提供了更豐富的資料。
有狀態工作負載
- StatefulSet 更新是 1.7 中的一項新的 Beta 功能,它允許使用包括滾動更新在內的一系列更新策略,自動更新 Kafka、Zookeeper 和 etcd 等有狀態應用程式。
- StatefulSet 現在還透過Pod 管理策略支援更快地擴充套件和啟動不需要排序的應用程式。這可以帶來重大的效能改進。
- 本地儲存(Alpha)是針對有狀態應用程式最常請求的功能之一。使用者現在可以透過標準 PVC/PV 介面和 StatefulSet 中的 StorageClasses 訪問本地儲存卷。
- DaemonSet 會為每個節點建立一個 Pod,它已經具有更新功能,並在 1.7 中增加了智慧的回滾和歷史功能。
- 新的StorageOS 卷外掛提供了來自本地或連線的節點儲存的高可用叢集範圍持久卷。
可擴充套件性
執行時 API 聚合是此版本中最強大的可擴充套件性功能,它允許高階使用者向其叢集新增 Kubernetes 風格的預構建、第三方或使用者建立的 API。
容器執行時介面(CRI)已透過新的 RPC 呼叫得到增強,以從執行時檢索容器指標。CRI 的驗證測試已釋出,現在提供與containerd的 Alpha 整合,該整合支援基本的 Pod 生命週期和映象管理。閱讀我們之前深入介紹 CRI 的文章。
其他功能
- 引入了對外部准入控制器的 Alpha 支援,提供了兩種選擇,用於向 API 伺服器新增自定義業務邏輯,以在建立物件時修改物件並驗證策略。
- 作為 Alpha 版本引入了基於策略的聯邦資源放置,它根據法規、定價或效能等自定義要求,為聯邦叢集提供放置策略。
棄用:
- 第三方資源(TPR)已被自定義資源定義(CRD)取代,CRD 提供了更清晰的 API,並解決了在 TPR Beta 期間出現的問題和邊緣情況。如果您使用 TPR Beta 功能,建議您遷移,因為它計劃在 Kubernetes 1.8 中被社群移除。
以上是 Kubernetes 1.7 功能亮點的一個子集。有關完整列表,請訪問釋出說明。
採用情況
此版本得益於我們龐大而開放的社群。三年內,我們總共已經提交了超過 50,000 次提交,這僅僅是在 Kubernetes 主倉庫中。Kubernetes 的其他擴充套件功能在相關倉庫中貢獻,為專案帶來了整體穩定性。這種速度使 Kubernetes 成為有史以來增長最快的開源專案之一。
Kubernetes 的採用來自世界各地的各個領域。社群最近的使用者故事包括:
- GolfNow(NBC 體育集團的成員)將其應用程式遷移到 Kubernetes,從而提高了資源利用率,並將其基礎設施成本削減了一半。
- 影片基礎設施解決方案提供商 Bitmovin 向我們展示了他們如何使用 Kubernetes 在雲端和本地進行多階段金絲雀部署。
- 全球最大的線上超市 Ocado 使用 Kubernetes 為其智慧倉庫建立分散式資料中心。在此處閱讀他們的完整設定:此處。
- Kubernetes 對您的團隊有幫助嗎?與社群分享您的故事。檢視我們不斷增長的使用者案例研究資源,並向 Box 等在其組織中採用 Kubernetes 的優秀公司學習。
衷心感謝由 Google 的 Dawn Chen 領導的 Kubernetes 1.7 釋出團隊。
可用性
Kubernetes 1.7 可在 GitHub 上下載。要開始使用 Kubernetes,請嘗試這些互動式教程之一。
參與其中
12 月 6-8 日在奧斯汀參加 CloudNativeCon + KubeCon,加入有史以來最大的 Kubernetes 聚會。演講提交截止日期為 8 月 21 日,折扣註冊截止日期為 10 月 6 日。
最簡單的參與方式是加入與您興趣相符的眾多特別興趣小組(SIG)。有什麼想向 Kubernetes 社群宣傳的嗎?在我們的每週社群會議和這些渠道中表達您的聲音
- 在 Stack Overflow 上提問(或回答問題)
- 加入 K8sPort 上的倡導者社群門戶
- 在 Twitter 上關注我們 @Kubernetesio 獲取最新更新
- 在 Slack 上與社群聯絡
- 分享您的 Kubernetes 故事。
衷心感謝我們廣大的貢獻者和支持者社群,使此版本和所有版本成為可能。