翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタム AMI サポート
ノード AMI ID の設定
--node-ami
フラグを使用すると、カスタム AMI の使用や、使用する AMI のリアルタイムクエリなど、さまざまな高度なユースケースが可能になります。フラグは、非 GPU イメージと GPU イメージの両方に使用できます。
フラグは、明示的に使用するイメージの AMI イメージ ID を取得できます。また、次の「特別な」キーワードを使用することもできます。
キーワード | 説明 |
---|---|
自動 |
ノードに使用する AMI が AWS EC2 をクエリして検索されることを示します。これは自動リゾルバーに関連しています。 |
auto-ssm |
ノードに使用する AMI が AWS SSM パラメータストアにクエリを実行して検索されることを示します。 |
注記
--node-ami
を ID 文字列に設定すると、 eksctl
はカスタム AMI がリクエストされたことを前提としています。EKS マネージドノードとセルフマネージドノードの両方である AmazonLinux2 ノードと Ubuntu ノードの場合、これは overrideBootstrapCommand
が必要であることを意味します。AmazonLinux2023 では、ノードブートストラップの/etc/eks/bootstrap.sh
スクリプトの使用を停止するため、nodeadm 初期化プロセス (詳細については、ノードブートストラップドキュメントを参照してくださいoverrideBootstrapCommand
はサポートされていません。
CLI フラグの例:
eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234
Config ファイルの例:
nodeGroups: - name: ng1 instanceType: p2.xlarge amiFamily: AmazonLinux2 ami: auto - name: ng2 instanceType: m5.large amiFamily: AmazonLinux2 ami: ami-custom1234 managedNodeGroups: - name: m-ng-2 amiFamily: AmazonLinux2 ami: ami-custom1234 instanceType: m5.large overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh <cluster-name>
--node-ami
フラグは でも使用できますeksctl create nodegroup
。
ノード AMI ファミリーの設定
--node-ami-family
では、次のキーワードを使用できます。
キーワード | 説明 |
---|---|
AmazonLinux2 |
Amazon Linux 2 に基づく EKS AMI イメージを使用することを示します (デフォルト)。 |
AmazonLinux2023 |
Amazon Linux 2023 に基づく EKS AMI イメージを使用する必要があることを示します。 |
Ubuntu2004 |
Ubuntu 20.04 LTS (Focal) に基づく EKS AMI イメージを使用する必要があることを示します (EKS ⇐ 1.29 でサポートされています)。 |
UbuntuPro2004 |
Ubuntu Pro 20.04 LTS (Focal) に基づく EKS AMI イメージを使用する必要があることを示します (EKS >= 1.27、⇐ 1.29 で使用可能)。 |
Ubuntu2204 |
Ubuntu 22.04 LTS (Jammy) に基づく EKS AMI イメージを使用する必要があることを示します (EKS >= 1.29 で使用可能)。 |
UbuntuPro2204 |
Ubuntu Pro 22.04 LTS (Jammy) に基づく EKS AMI イメージを使用する必要があることを示します (EKS >= 1.29 で使用可能)。 |
Ubuntu2404 |
Ubuntu 24.04 LTS (Noble) に基づく EKS AMI イメージを使用する必要があることを示します (EKS >= 1.31 で使用可能)。 |
UbuntuPro2404 |
Ubuntu Pro 24.04 LTS (Noble) に基づく EKS AMI イメージを使用する必要があることを示します (EKS >= 1.31 で使用可能)。 |
Bottlerocket |
Bottlerocket に基づく EKS AMI イメージを使用する必要があることを示します。 |
WindowsServer2019FullContainer |
Windows Server 2019 Full Container に基づく EKS AMI イメージを使用する必要があることを示します。 |
WindowsServer2019CoreContainer |
Windows Server 2019 Core Container に基づく EKS AMI イメージを使用する必要があることを示します。 |
WindowsServer2022FullContainer |
Windows Server 2022 Full Container に基づく EKS AMI イメージを使用する必要があることを示します。 |
WindowsServer2022CoreContainer |
Windows Server 2022 Core Container に基づく EKS AMI イメージを使用する必要があることを示します。 |
CLI フラグの例:
eksctl create cluster --node-ami-family=AmazonLinux2
Config ファイルの例:
nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204
--node-ami-family
フラグは でも使用できますeksctl create nodegroup
。 eksctl
では、カスタム AMI を使用するたびに、設定ファイルまたは --node-ami-family
CLI フラグを使用して AMI ファミリーを明示的に設定する必要があります。
注記
現時点では、カスタム AMI を使用する場合、EKS AmazonLinux2
マネージド型ノードグループは 、AmazonLinux2023
、Ubuntu1804
、 Ubuntu2004
の AMIs ファミリーのみをサポートします。 Ubuntu2204
Windows カスタム AMI のサポート
カスタム AMI を指定できるのはセルフマネージド型の Windows ノードグループのみです。 は有効な Windows AMI ファミリーに設定amiFamily
する必要があります。
ブートストラップスクリプトでは、次の PowerShell 変数を使用できます。
$EKSBootstrapScriptFile
$EKSClusterName
$APIServerEndpoint
$Base64ClusterCA
$ServiceCIDR
$KubeletExtraArgs
$KubeletExtraArgsMap: A hashtable containing arguments for the kubelet, e.g., @{ 'node-labels' = ''; 'register-with-taints' = ''; 'max-pods' = '10'}
$DNSClusterIP
$ContainerRuntime
Config ファイルの例:
nodeGroups: - name: custom-windows amiFamily: WindowsServer2022FullContainer ami: ami-01579b74557facaf7 overrideBootstrapCommand: | & $EKSBootstrapScriptFile -EKSClusterName "$EKSClusterName" -APIServerEndpoint "$APIServerEndpoint" -Base64ClusterCA "$Base64ClusterCA" -ContainerRuntime "containerd" -KubeletExtraArgs "$KubeletExtraArgs" 3>&1 4>&1 5>&1 6>&1
Bottlerocket カスタム AMI サポート
Bottlerocket ノードでは、 overrideBootstrapCommand
はサポートされていません。代わりに、独自のブートストラップコンテナを指定するには、設定ファイルの一部として bottlerocket
フィールドを使用する必要があります。例:
nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>