翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Windows ワーカーノード
バージョン 1.14 以降、Amazon EKS は Windows コンテナの実行を許可する Windows ノードをサポートしています。Windows ノードに加えて、Microsoft はまだホストネットワークモードをサポートしていないため、 CoreDNS を実行するにはクラスター内の Linux ノードが必要です。したがって、Windows EKS クラスターは Windows ノードと少なくとも 1 つの Linux ノードが混在します。Linux ノードはクラスターの機能にとって重要です。したがって、本番稼働用クラスターでは、HA 用に少なくとも 2 つの t2.large Linux ノードを持つことをお勧めします。
注記
2021 年 10 月 22 日以降に作成された EKS クラスターで Windows ワークロードを実行するために、VPC リソースコントローラーを Linux ワーカーノードにインストールする必要がなくなりました。EKS コントロールプレーンで Windows IP アドレス管理を有効にするには、ConfigMap 設定を使用します (詳細については、「link:eks/latest/userguide/windows-support.html」を参照してください)。eksctl は ConfigMap に自動的にパッチを適用して、Windows ノードグループの作成時に Windows IP アドレス管理を有効にします。
Windows サポートを使用した新しいクラスターの作成
設定ファイルの構文を使用すると、Windows サポートを備えた完全に機能するクラスターを 1 つのコマンドで作成できます。
# cluster.yaml
# An example of ClusterConfig containing Windows and Linux node groups to support Windows workloads
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: windows-cluster
region: us-west-2
nodeGroups:
- name: windows-ng
amiFamily: WindowsServer2019FullContainer
minSize: 2
maxSize: 3
managedNodeGroups:
- name: linux-ng
instanceType: t2.large
minSize: 2
maxSize: 3
- name: windows-managed-ng
amiFamily: WindowsServer2019FullContainer
minSize: 2
maxSize: 3
eksctl create cluster -f cluster.yaml
設定ファイルを使用せずに Windows アンマネージド型ノードグループで新しいクラスターを作成するには、次のコマンドを発行します。
eksctl create cluster --managed=false --name=windows-cluster --node-ami-family=WindowsServer2019CoreContainer
既存の Linux クラスターへの Windows サポートの追加
Linux ノード (AmazonLinux2 AMI ファミリー) を持つ既存のクラスターで Windows ワークロードの実行を有効にするには、Windows ノードグループを追加する必要があります。
新しい Windows マネージド型ノードグループのサポートが追加されました (--managed=true または フラグを省略)。
eksctl create nodegroup --managed=false --cluster=existing-cluster --node-ami-family=WindowsServer2019CoreContainer eksctl create nodegroup --cluster=existing-cluster --node-ami-family=WindowsServer2019CoreContainer
ワークロードを適切な OS でスケジュールするには、実行する必要がある OS をnodeSelectorターゲットとする が必要です。
# Targeting Windows nodeSelector: kubernetes.io/os: windows kubernetes.io/arch: amd64
# Targeting Linux nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: amd64
より古いクラスターを使用している場合は、 kubernetes.io/os および 1.19 kubernetes.io/archラベルbeta.kubernetes.io/archをそれぞれ beta.kubernetes.io/osおよび に置き換える必要があります。