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

Windows Server 支援來到 Kubernetes

編者按:這篇博文是關於 Kubernetes 1.5 新功能系列深度文章的一部分。

為了擴充套件為使用者提供選擇的主題,Kubernetes 1.5 版本包含對 Windows Server 的支援。隨著超過 80% 的企業應用程式在 Linux 上執行 Java 或在 Windows 上執行 .Net,Kubernetes 正在預覽擴充套件其覆蓋範圍到絕大多數企業工作負載的功能。

新的 Kubernetes Windows Server 2016 和 Windows 容器支援包含公共預覽版,具有以下功能:

  • 容器化多平臺應用程式 - 以前,用 Go 和 .NET Core 等作業系統中立語言開發的應用程式無法在 Linux 和 Windows 之間進行編排。現在,藉助 Kubernetes 中對 Windows Server 2016 的支援,此類應用程式可以部署在 Windows Server 和 Linux 上,為開發人員提供了作業系統執行時選擇。客戶對這種能力的需求已經近二十年了。

  • 同時支援 Windows Server 容器和 Hyper-V 容器 - Windows Server 2016 中有兩種型別的容器。Windows 容器類似於 Linux 上的 Docker 容器,並使用核心共享。另一種稱為 Hyper-V 容器,比虛擬機器更輕量級,同時提供更大的隔離性、自己的核心副本和直接記憶體分配。Kubernetes 可以編排這兩種型別的容器。

  • 擴充套件的應用程式生態系統 - 在 Kubernetes 中引入 Windows Server 支援的關鍵驅動力之一是擴充套件 Kubernetes 支援的應用程式生態系統:IIS、.NET、Windows Services、ASP.NET、.NET Core 是現在可以由 Kubernetes 編排的應用程式型別,它們在 Windows Server 上的容器中執行。

  • 異構資料中心覆蓋 - 組織已經使用 Kubernetes 在全球 2000 強和財富 500 強企業中託管了數萬個應用程式例項。這將使他們能夠將 Kubernetes 擴充套件到龐大的 Windows Server 足跡。

將 Windows Server 引入 Kubernetes 的過程是一個真正的多供應商合作,由 Windows 特別興趣小組 (SIG) 牽頭——Apprenda、Google、Red Hat 和 Microsoft 都參與了將 Kubernetes 引入 Windows Server 的工作。關於將 Kubernetes 引入 Windows Server 的社群工作,微軟首席專案經理 Taylor Brown 表示:“這項新的 Kubernetes 社群工作進一步增強了對流行編排器中 Windows Server 容器的支援選項,重申了微軟對 Windows 和 Linux 生態系統選擇和靈活性的承諾。”

當前使用指南

| 何時使用 Windows Server 支援? | 目前,組織應開始在 Windows Server 上測試 Kubernetes 並提供反饋。大多陣列織需要數月時間才能建立加固的生產環境,而通用可用性應在 Kubernetes 的接下來的幾個版本中提供。 | | 什麼有效? | 大多數 Kubernetes 構造,例如 Pods、Services、Labels 等,都適用於 Windows 容器。 | | 什麼尚無效? |

  • 由於網路名稱空間,Pod 抽象不相同。最終結果是單個 POD 中的 Windows 容器無法透過 localhost 進行通訊。Linux 容器可以透過將它們放置在相同的網路名稱空間中來共享網路堆疊。
  • DNS 功能尚未完全實現
  • 容器內不支援 UDP

| | 何時可用於所有生產工作負載(通用可用性)? | 目標是改進網路和其他需要改進的領域,以便在接下來的幾個版本中為 Kubernetes 使用者提供 Windows Server 2016 的生產版本支援,包括 Windows Nano Server 和 Windows Server Core 安裝選項。 |

技術演示

路線圖

Kubernetes 1.5 的 Windows Server 容器支援處於 Alpha 版本模式,但社群不止於此。客戶希望為他們的整個技術組合提供企業級加固的容器排程和管理。這必須包括 Linux 和 Windows Server 在生產中的功能完全對等。通過幾個關鍵投資領域,Windows Server SIG 將在 Kubernetes 的未來一兩個版本中實現這種對等性:

  • 網路 - SIG 將繼續與微軟並肩工作,以增強 Windows Server 容器的網路骨幹,特別是圍繞點亮容器模式網路和對容器端點的原生網路覆蓋支援。
  • OOBE - 改進 Windows Server 節點的設定、部署和診斷,包括部署到任何雲(Azure、AWS、GCP)的能力
  • 執行時操作 - SIG 將在定義容器執行時介面 (CRI) 的監控介面方面發揮關鍵作用,利用它為基於 Windows Server 的容器提供深入的洞察和監控。入門

要開始在 Windows Server 2016 上使用 Kubernetes,請訪問 GitHub 指南瞭解更多詳細資訊。
如果您想幫助支援 Windows Server,請聯絡 Windows Server SIG,或直接在 GitHub 上聯絡 SIG 負責人 Michael Michael。

| | | Kubernetes 在 Windows Server 2016 上的架構 |