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

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及其依賴項打包,適用於包括Red Hat和Ubuntu Xenial在內的大多數主要Linux發行版,安裝也得到了簡化。這意味著使用者現在可以使用apt-get和yum等熟悉的工具安裝Kubernetes。
  • 附加元件部署(例如用於覆蓋網路)可以透過使用DaemonSet簡化為一條命令。
  • 實現這種簡單性的是新的證書API及其用於kubelet TLS引導,以及新的發現API。

擴充套件的有狀態應用支援 - 儘管雲原生應用旨在執行在容器中,但許多現有應用需要額外功能才能輕鬆採用容器。最常見的是有狀態應用,例如批處理、資料庫和鍵值儲存。在Kubernetes 1.4中,我們引入了多項功能,簡化了此類應用的部署,其中包括:

  • 引入ScheduledJob作為Alpha版本,以便使用者可以定期執行批處理作業。
  • Init-containers(初始化容器)已升級到Beta版本,解決了在啟動主應用程式之前執行一個或多個容器的需求,例如在啟動資料庫或多層應用程式時按順序處理依賴關係。
  • 動態PVC配置已升級到Beta版本。此功能現在允許叢集管理員公開多個儲存提供程式,並允許使用者使用新的儲存類API物件選擇它們。
  • 針對MariaDB、MySQL和Jenkins等常見有狀態應用程式的精選和預測試Helm charts將可透過Helm包管理器版本2實現一鍵啟動。

叢集聯合API新增功能 - 全球客戶最常請求的功能之一是能夠構建跨區域和跨雲集群的應用程式。

  • 聯邦副本集 Beta版 - 副本現在可以跨越部分或所有叢集,實現跨區域或跨雲複製。聯邦副本集控制器持續協調總聯邦副本計數和相對叢集權重/副本計數,以確保您在每個區域/雲中擁有所需的Pod。
  • 聯邦服務現已成為 Beta 版,並且 secretseventsnamespaces 也已新增到聯邦 API 中。
  • 聯邦Ingress Alpha 版本 - 從Google Cloud Platform(GCP)開始,使用者可以建立一個跨越GCP內叢集聯邦部署的服務,實現單個L7全球負載均衡的VIP。藉助GCP中的聯邦Ingress,外部客戶端指向一個IP地址,並被髮送到聯邦在GCP中任何區域或區域中具有可用容量的最近叢集。

容器安全支援 - 多租戶叢集的管理員需要能夠在租戶、基礎設施元件和系統終端使用者之間提供不同許可權集的能力。

  • Pod 安全策略是一個新物件,允許叢集管理員控制Pod/容器安全上下文的建立和驗證。管理員可以將服務帳戶、組和使用者與一組約束關聯起來,以定義安全上下文。
  • 增加了 AppArmor 支援,使管理員能夠執行更安全的部署,並提供更好的系統審計和監控。使用者可以透過設定一個欄位來配置容器在 AppArmor 配置檔案中執行。

基礎設施增強功能 - 我們根據使用者和生態系統的需求,繼續增強Kubernetes中的排程器、儲存和客戶端功能。

Kubernetes Dashboard UI - 最後,一個美觀的Kubernetes Dashboard UI,擁有90%的CLI功能,可實現一目瞭然的管理。

有關更新的完整列表,請參閱GitHub上的釋出說明。除了功能之外,Kubernetes開發最令人印象深刻的方面是貢獻者社群。1.4版本的全面內容將在未來幾周內陸續展開,這一點尤其突出。

可用性
Kubernetes 1.4 可在 get.k8s.io 下載,也可透過 GitHub 上的開源倉庫獲取。要開始使用 Kubernetes,請嘗試 Hello World 應用

要參與該專案,請加入每週社群會議或在此處(標記為幫助)開始為專案做貢獻。

使用者和案例研究
自Kubernetes 1.0全面釋出以來,在過去的15個月裡,這個專案的採用和熱情超出了所有人的想象。Kubernetes在數百個組織中投入生產,還有數千個專案正在開發中。以下是幾家執行Kubernetes的獨特公司的亮點:

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

我們非常感謝我們擁有900多名貢獻者的社群,他們貢獻了5000多次提交,才使這個版本得以釋出。要更深入地瞭解社群如何使用Kubernetes,請加入我們的使用者大會KubeCon,直接聽取使用者和貢獻者的意見。

聯絡我們

感謝您的支援!