Windows ワーカーノード - Eksctl ユーザーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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および に置き換える必要があります。

詳細情報