本文已超過一年。較舊的文章可能包含過時的內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes 1.7:安全性強化、具狀態應用程式更新與可延伸性
本文由 Aparna Sinha 和 Ihor Dvoretskyi 代表 Kubernetes 1.7 發布團隊撰寫。
今天我們宣布 Kubernetes 1.7,這是一個里程碑版本,增加了安全性、儲存和可擴展性功能,其動機是 Kubernetes 在最嚴苛的企業環境中的廣泛生產使用。
概括而言,此版本中的安全性增強功能包括加密的密碼、Pod 到 Pod 通訊的網路政策、限制 Kubelet 存取權的節點授權器以及用戶端/伺服器 TLS 憑證輪換。
對於那些在 Kubernetes 上執行橫向擴展資料庫的使用者,此版本有一個主要功能,可為 StatefulSet 新增自動更新,並增強 DaemonSet 的更新。我們還宣布對本機儲存的 Alpha 支援以及用於更快擴展 StatefulSet 的突發模式。
此外,對於進階使用者,此版本中的 API 聚合允許在執行時期將使用者提供的 API 伺服器與 Kubernetes API 的其餘部分一起提供。其他重點包括對可擴展的准入控制器、可插拔的雲端供應商和容器執行時期介面 (CRI) 增強功能的支援。
新功能
安全性
- 網路政策 API 已升級為穩定版。透過網路外掛程式實作的網路政策,允許使用者設定和強制執行規則,以管理哪些 Pod 可以彼此通訊。
- 節點授權器 和准入控制外掛程式是新增加的功能,可根據節點限制 Kubelet 對密碼、Pod 和其他物件的存取權。
- 密碼加密,以及 etcd 中的其他資源,現在以 Alpha 版提供。
- Kubelet TLS 啟動 現在支援用戶端和伺服器憑證輪換。
- 稽核日誌 由 API 伺服器儲存,現在透過支援事件篩選和 Webhook,變得更加可自訂和可擴展。它們還為系統稽核提供更豐富的資料。
具狀態工作負載
- StatefulSet 更新 是 1.7 中的新 Beta 版功能,允許使用一系列更新策略(包括滾動更新)自動更新具狀態應用程式,例如 Kafka、Zookeeper 和 etcd。
- StatefulSet 現在還支援更快的擴展和啟動,適用於不需要透過 Pod 管理政策 排序的應用程式。這可能是一項重大的效能改進。
- 本機儲存 (Alpha) 是具狀態應用程式最常要求的功能之一。使用者現在可以透過標準 PVC/PV 介面和 StatefulSet 中的 StorageClass 存取本機儲存卷。
- DaemonSet(每個節點建立一個 Pod)已經具有更新功能,並且在 1.7 中新增了智慧型 回滾和歷史記錄 功能。
- 新的 StorageOS Volume 外掛程式 從本機或連接的節點儲存提供高度可用的叢集範圍持續性卷。
可擴展性
API 聚合 在執行時期是此版本中最強大的可擴展性功能,允許進階使用者將 Kubernetes 風格的預先建置、協力廠商或使用者建立的 API 新增至其叢集。
容器執行時期介面 (CRI) 已透過新的 RPC 呼叫進行增強,以從執行時期擷取容器指標。CRI 的驗證測試 已發布,並且與 containerd 的 Alpha 整合現在可用,它支援基本的 Pod 生命週期和映像檔管理。請閱讀我們先前的 深入文章,介紹 CRI。
其他功能
- 引入了對 外部准入控制器 的 Alpha 支援,提供兩個選項,用於將自訂業務邏輯新增至 API 伺服器,以在建立物件時修改物件並驗證政策。
- 基於政策的聯邦資源放置 作為 Alpha 引入,為聯邦叢集提供放置政策,基於自訂需求,例如法規、定價或效能。
棄用:
- 協力廠商資源 (TPR) 已被自訂資源定義 (CRD) 取代,後者提供更清晰的 API,並解決了 TPR Beta 版期間提出的問題和邊角案例。如果您使用 TPR Beta 版功能,建議您 遷移,因為社群計劃在 Kubernetes 1.8 中將其移除。
以上是 Kubernetes 1.7 中功能重點的子集。如需完整清單,請造訪發行說明。
採用
此版本的發布歸功於我們龐大且開放的社群。我們共同努力,僅在三年內就提交了超過 50,000 次提交,而這僅僅是在主要的 Kubernetes 儲存庫中。Kubernetes 的其他擴展在相關的儲存庫中貢獻,從而為專案帶來整體穩定性。這種速度使 Kubernetes 成為有史以來成長最快的開放原始碼專案之一。
Kubernetes 的採用來自世界各地的各個領域。來自社群的最新使用者案例包括:
- NBC Sports Group 的成員 GolfNow 將其應用程式遷移到 Kubernetes,為他們提供了更好的資源利用率,並將其基礎架構成本削減了一半。
- 視訊基礎架構解決方案供應商 Bitmovin 向我們展示了他們如何使用 Kubernetes 在雲端和內部部署中執行多階段 Canary 部署。
- 世界最大的線上超市 Ocado 使用 Kubernetes 為其智慧倉庫建立分散式資料中心。在此處閱讀有關其完整設定的資訊 here。
- Kubernetes 是否對您的團隊有所幫助?與社群分享您的故事。查看我們不斷增長的使用者案例資源,並向採用 Kubernetes 的偉大公司(如 Box)學習。
非常感謝 Kubernetes 1.7 發布團隊,由 Google 的 Dawn Chen 領導。
可用性
Kubernetes 1.7 可在 GitHub 上下載。若要開始使用 Kubernetes,請試試這些互動式教學課程。
參與其中
加入 12 月 6 日至 8 日在奧斯汀舉行的 CloudNativeCon + KubeCon 社群,參加有史以來最大的 Kubernetes 聚會。演講提交 開放到 8 月 21 日,折扣註冊 於 10 月 6 日結束。
最簡單的參與方式是加入與您的興趣一致的眾多 特別興趣小組 (SIG) 之一。有什麼想向 Kubernetes 社群廣播的嗎?在我們的每週 社群會議 和這些頻道中分享您的聲音
- 在 Stack Overflow 上發布問題(或回答問題)
- 加入 K8sPort 上的倡導者社群入口網站
- 在 Twitter 上關注我們 @Kubernetesio 以獲取最新更新
- 在 Slack 上與社群聯繫
- 分享您的 Kubernetes 故事。
非常感謝我們廣大的貢獻者和支持者社群,使此版本和所有版本成為可能。