すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Windowsノードプールでのワークロードの展開

最終更新日:Nov 04, 2024

デプロイするWindowsアプリケーションのDockerイメージを作成し、ワークロードのデプロイ中にクラスターがリポジトリからそれをプルできるようにすることができます。 イメージを作成した後、Container Service for Kubernetes (ACK) クラスターにWindowsノードプールを作成して、イメージをWindowsノードにデプロイできます。

ステップ1: イメージをビルドしてイメージリポジトリにプッシュ

アプリケーションを展開するには、まずカスタムWindowsイメージに変換します。 Windows Server Coreベースイメージを使用してカスタムイメージを作成できます。 システムライブラリへの依存関係が最小限のアプリケーションでは、Nano Serverまたは公式PowerShellイメージの使用を検討してください。

次の例では、Windows Server Coreを基本イメージとして使用して、カスタムDockerイメージを作成します。 ベースイメージには、実行可能ファイルtest.exeとPowerShellスクリプトhello.ps1が含まれています。 PowerShellスクリプト (.ps1ファイル) は、Windowsアプリケーションの展開時に、環境変数の構成やファイルのコピーなどの前処理および初期化タスクによく使用されます。

説明

次のDockerfileの例では、FRO M mcr.microsoft.com/windows/servercore:ltsc2019はバージョンltsc2019を指定します。これはWindows Server 2019でのみ実行できます。 ノードにWindows Server 2022が必要な場合は、20192022: mcr.microsoft.com/windows/servercore:ltsc2022に置き換えます。

# Use Windows Server Core as the base image
FROM mcr.microsoft.com/windows/servercore:ltsc2019

# Set the working directory
WORKDIR /app

# Copy local files into the container
COPY test.exe .
COPY hello.ps1 .

# Run the PowerShell script
CMD ["powershell.exe", "./hello.ps1"]

カスタムDockerfileを作成した後、docker buildコマンドを実行してイメージをビルドします。 イメージがビルドされたら、このトピックの手順に従って、Alibaba Cloud Container Registryのイメージリポジトリにプッシュします。Container Registry Enterprise Editionインスタンスを使用してイメージをビルドする。 将来の展開では、Container Registryから直接イメージを取得することで時間を節約できます。

手順2: ノードプールの作成

Windowsノードプールを設定し、ノードのアップグレードやスケーリングなど、プールレベルでWindowsノードを管理するには、「Windowsノードプールの作成」の手順に従います。

ステップ3: アプリケーションのデプロイ

Windowsノードプールを作成したら、前の手順で作成したDockerイメージを使用してワークロードをデプロイします。 詳細については、「Windowsアプリケーションの作成」をご参照ください。