本文已發布超過一年。較舊的文章可能包含過時的內容。請檢查頁面中的資訊自發布以來是否已變得不正確。

Kubernetes 1.4:讓您在任何地方都能輕鬆執行 Kubernetes

今天我們很高興宣布 Kubernetes 1.4 的發布。

自 15 個月前正式發布以來,Kubernetes 持續成長,並在業界獲得廣泛採用。從全新的新創公司到大型企業,使用者都描述了 Kubernetes 在建構、部署和管理分散式應用程式方面發揮了多麼大的作用。然而,使用者最常提出的要求之一是讓 Kubernetes 本身更容易安裝和使用。我們已將這些回饋銘記在心,而 1.4 版本進行了多項重大改進。

這些設定和可用性增強功能是社群共同協調努力的成果 - 來自 SIG-Cluster-Lifecycle 的 20 多位貢獻者齊聚一堂,大幅簡化 Kubernetes 使用者體驗,涵蓋安裝、啟動、憑證產生、探索、網路和應用程式部署方面的改進。

此版本的其他產品亮點包括簡化在任何雲端上的叢集部署、輕鬆安裝具狀態應用程式,以及大幅擴展的叢集聯邦功能,實現跨多個叢集和多個雲端的直接部署。

新功能

使用兩個命令建立叢集 - 若要開始使用 Kubernetes,使用者必須佈建節點、安裝 Kubernetes 並引導啟動叢集。使用者常見的要求是在任何雲端(公有雲、私有雲或裸機)上輕鬆且可攜式地執行此操作。

  • Kubernetes 1.4 引入了 ‘kubeadm’,它將引導啟動簡化為兩個命令,無需複雜的腳本。安裝 Kubernetes 後,kubeadm init 會啟動主節點,而 kubeadm join 會將節點加入叢集。
  • 透過將 Kubernetes 與其相依性一起封裝,也簡化了安裝流程,適用於大多數主要的 Linux 發行版,包括 Red Hat 和 Ubuntu Xenial。這表示使用者現在可以使用熟悉的工具(例如 apt-get 和 yum)安裝 Kubernetes。
  • 透過使用 DaemonSet,附加元件部署(例如覆疊網路)可以簡化為一個命令。
  • 實現這種簡化的是新的憑證 API 及其用於 kubelet TLS 啟動引導,以及新的探索 API。

擴展的具狀態應用程式支援 - 雖然雲端原生應用程式是為了在容器中執行而建構的,但許多現有的應用程式需要額外的功能才能輕鬆採用容器。最常見的是,這些包括具狀態應用程式,例如批次處理、資料庫和鍵值儲存。在 Kubernetes 1.4 中,我們引入了許多功能來簡化此類應用程式的部署,包括:

  • ScheduledJob 作為 Alpha 版本推出,因此使用者可以定期執行批次作業。
  • Init-containers 為 Beta 版本,解決了在啟動主要應用程式之前執行一個或多個容器的需求,例如在啟動資料庫或多層應用程式時對相依性進行排序。
  • 動態 PVC 佈建 已移至 Beta 版本。此功能現在使叢集管理員能夠公開多個儲存佈建器,並允許使用者使用新的 Storage Class API 物件選取它們。
  • 適用於常見具狀態應用程式(例如 MariaDB、MySQL 和 Jenkins)的精選和預先測試的 Helm charts 將可透過 Helm Package Manager 版本 2 進行一鍵啟動。

叢集聯邦 API 新增功能 - 我們的全球客戶最常要求的功能之一是能夠使用跨越區域和雲端的叢集來建構應用程式。

  • 聯邦 Replica Sets Beta 版本 - 複本現在可以跨越部分或所有叢集,實現跨區域或跨雲端複製。聯邦複本集控制器會持續協調聯邦複本總數和相對叢集權重/複本計數,以確保您在每個區域/雲端中都有所需的 Pod。
  • 聯邦服務現在為 Beta 版本,並且 密鑰事件命名空間 也已新增至聯邦 API。
  • 聯邦 Ingress Alpha 版本 - 從 Google Cloud Platform (GCP) 開始,使用者可以建立單一 L7 全域負載平衡 VIP,該 VIP 跨越部署在 GCP 內聯邦叢集中的服務。透過 GCP 中的聯邦 Ingress,外部用戶端指向單一 IP 位址,並被傳送到 GCP 中聯邦任何區域或可用容量最近的叢集。

容器安全性支援 - 多租戶叢集的管理員需要能夠在租戶、基礎架構元件和系統的最終使用者之間提供不同的權限集。

  • Pod 安全性原則 是一個新的物件,使叢集管理員能夠控制 Pod/容器安全性內容的建立和驗證。管理員可以將服務帳戶、群組和使用者與一組限制條件相關聯,以定義安全性內容。
  • 新增了 AppArmor 支援,使管理員能夠執行更安全的部署,並提供更好的系統稽核和監控。使用者可以透過設定單一欄位來設定在 AppArmor 設定檔中執行的容器。

基礎架構增強功能 - 我們根據使用者和生態系統的需求,持續為 Kubernetes 中的排程器、儲存和用戶端功能新增功能。

  • 排程器 - 為想要自訂 Kubernetes 如何共同放置或分散其 Pod 的使用者引入 Pod 間親和性和反親和性 Alpha 版本。還有用於叢集附加元件(例如 DNS、Heapster 和 Kube 儀表板)的 優先順序排程功能
  • 中斷 SLO - 引入 Pod 中斷預算,以限制叢集管理作業(例如節點升級)在任何一次刪除 Pod 的影響。
  • 儲存 - 新增了 Quobyte 和 Azure Data Disk 的 磁碟區外掛程式
  • 用戶端 - 新增了 Swagger 2.0 支援,支援非 Go 用戶端。

Kubernetes 儀表板 UI - 最後,外觀精美的 Kubernetes 儀表板 UI,具有 90% 的 CLI 對等功能,可實現一目了然的管理。

如需完整的更新清單,請參閱 GitHub 上的 發行說明。除了功能之外,Kubernetes 開發最令人印象深刻的方面是貢獻者社群。對於 1.4 版本而言尤其如此,其完整廣度將在未來幾週內展開。

可用性
Kubernetes 1.4 可在 get.k8s.io 下載,並可透過託管在 GitHub 上的開放原始碼儲存庫取得。若要開始使用 Kubernetes,請嘗試 Hello World 應用程式

若要參與專案,請加入 每週社群會議 或從這裡開始貢獻專案 (標記為 help)。

使用者和案例研究
自 Kubernetes 1.0 GA 版本發布以來的過去十五個月,此專案的 採用和熱情 超出了所有人的想像。Kubernetes 在數百個組織的生產環境中執行,還有數千個組織正在開發中。以下是一些執行 Kubernetes 的公司的獨特亮點:

  • Box -- 將服務交付時間從六個月縮短到不到一週。閱讀更多關於 Box 如何在 Kubernetes 上執行任務關鍵型生產服務的資訊。
  • Pearson -- 最大程度地降低了複雜性並提高了工程師的生產力。閱讀 Pearson 如何使用 Kubernetes 來改造全球最大的教育公司。
  • OpenAI -- 一家非營利人工智慧研究公司,使用 Kubernetes 建構 深度學習基礎架構,以最大限度地提高研究人員的生產力,讓他們能夠專注於科學研究。

我們非常感謝超過 900 位貢獻者的社群,他們貢獻了超過 5,000 次提交,使此版本成為可能。若要更深入了解社群如何使用 Kubernetes,請加入我們的使用者大會 KubeCon,直接聽取使用者和貢獻者的意見。

連線

感謝您的支持!