共用方式為


容器的可移植性

適用於:Windows Server,版本 23H2

可移植性是適用於容器的 Windows Server 年度通道功能。 可移植性可簡化升級程式,協助您充分利用容器所提供的增強彈性和相容性。 本文提供容器映像可移植性如何針對年度通道容器主機進行優化的詳細說明。

Windows Server 年度容器通道是專為 Azure Kubernetes Service 和容器導向的 Windows Server 部署所設計的 Windows Server 版本,可提升效率,併為 Windows 和 Linux 容器提供優化的可移植性。 如需 Windows Server 中容器年度通道的詳細資訊,請參閱 TechCommunity 公告

可移植性的運作方式

Windows 使用模組化核心,其中元件通常會在使用者模式與核心模式之間緊密系結。 緊密系結的元件是核心模式驅動程式之上的實用圖形化介面,或藉由將核心模式縮減為使用者模式內容切換來優化效能。 不過,它為容器帶來了挑戰。 可移植性可讓以使用者模式執行的容器,以與主機操作系統版本不同的容器映像版本來執行工作負載。

若沒有可移植性,使用者只能執行具有相符映像和主機版本的工作負載。 例如,執行 Windows Server 2022 主機的使用者無法執行 Windows Server 2019 進程隔離容器。 主機與容器映像之間的版本控制代表 Windows 容器化的重大痛點,使得移至較新版本的容器主機具有挑戰性。 例如,Windows Server 2022 LTSC 要求所有基礎結構和應用程式映像都更新為最新版本,同時更新主機。

應用程式二進位介面

應用程式二進位介面或 ABI 可讓各種程式設計語言與使用者和核心模式介面互動。 用戶端程式代碼與運行時間對象的互動會在最低層級發生,用戶端語言建構會轉譯成呼叫物件的ABI。 Windows 容器的可移植性為使用者和核心互動引進了穩定的 ABI。 這個穩定的 ABI 會分離系統的使用者和核心元件,並讓您能夠個別更新系統的核心和用戶元素。

容器可以從其基底層執行所有使用者模式二進位檔,但ABI層除外。

下圖說明使用者模式和內核模式元件之間的通訊。

顯示穩定 ABI 界限的圖表。主機進程和服務,以及容器進程和服務,使用此抽象層與基礎共用核心通訊。

我可以使用哪些版本?

Nano Server、Server Core 和 Windows Server 容器映射僅適用於執行 Windows Server 2019 或更新版本的容器的長期維護通道。 如需所支援 Windows Server 容器映像的詳細資訊,請參閱 基底映像服務生命週期

Windows Server 版本 23H2 容器主機僅支援 Windows Server 2022 長期維護通道 (LTSC) 容器映像。

Azure Kubernetes Service 目前支援 Windows Server 2019 和更新版本的主機。 Windows Server 年度容器通道是 Microsoft 提供的另一個容器 OS 選項,以及 Kubernetes 1.28。 您可以根據年度通道建立新的節點集區,並在這些節點上持續部署 Windows Server 2022 容器映像。 Microsoft 會自動更新年度通道版本和任何新的 Kubernetes 版本。 不過,也建議您遵循最新的 LTSC 版本,以確保您的容器是最新的。

注意

雖然先前的容器映像版本可以在較新的主機操作系統上執行,但較新的容器映像操作系統無法在先前的主機操作系統上執行。