翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インスタンスセレクタ
eksctl は、マネージド型ノードグループとセルフマネージド型ノードグループに複数のインスタンスタイプの指定をサポートしていますが、270 を超える EC2 インスタンスタイプでは、ユーザーはノードグループに適したインスタンスタイプを見つけるために時間を費やす必要があります。Cluster Autoscaler と連携する一連のインスタンスを選択する必要があるため、スポットインスタンスを使用するとさらに難しくなります。
eksctl は EC2 インスタンスセレクタ
クラスターとノードグループを作成する
eksctl に渡されたインスタンスセレクタリソース条件に一致するインスタンスタイプを使用する単一のノードグループを持つクラスターを作成するには、 を実行します。
eksctl create cluster --instance-selector-vcpus=2 --instance-selector-memory=4
これにより、 instanceTypes
フィールドが に設定されているクラスターとマネージド型ノードグループが作成されます [c5.large, c5a.large, c5ad.large, c5d.large, t2.medium, t3.medium, t3a.medium]
(返されるインスタンスタイプのセットは変更される可能性があります)。
アンマネージド型ノードグループの場合、 instancesDistribution.instanceTypes
フィールドが設定されます。
eksctl create cluster --managed=false --instance-selector-vcpus=2 --instance-selector-memory=4
インスタンスセレクタ条件は ClusterConfig で指定することもできます。
# instance-selector-cluster.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster region: us-west-2 nodeGroups: - name: ng instanceSelector: vCPUs: 2 memory: "4" # 4 GiB, unit defaults to GiB managedNodeGroups: - name: mng instanceSelector: vCPUs: 2 memory: 2GiB # cpuArchitecture: x86_64 # default value
eksctl create cluster -f instance-selector-cluster.yaml
次のインスタンスセレクタ CLI オプションは、 eksctl create cluster
および でサポートされていますeksctl create nodegroup
。
--instance-selector-vcpus
、--instance-selector-memory
、--instance-selector-gpus
および instance-selector-cpu-architecture
ファイルの例については、こちら
ドライラン
ドライラン機能を使用すると、ノードグループの作成に進む前に、インスタンスセレクタに一致するインスタンスを検査および変更できます。
eksctl create cluster --name development --instance-selector-vcpus=2 --instance-selector-memory=4 --dry-run apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig # ... managedNodeGroups: - amiFamily: AmazonLinux2 instanceSelector: memory: "4" vCPUs: 2 instanceTypes: - c5.large - c5a.large - c5ad.large - c5d.large - t2.medium - t3.medium - t3a.medium ... # other config
その後、生成された ClusterConfig を に渡すことができますeksctl create cluster
。
eksctl create cluster -f generated-cluster.yaml
CLI オプションを表す instanceSelector
フィールドは、可視性とドキュメント化の目的で ClusterConfig ファイルにも追加されます。--dry-run
を省略すると、このフィールドは無視され、 instanceTypes
フィールドが使用されます。省略しない場合、 への変更は eksctl によって上書きinstanceTypes
されます。
ClusterConfig ファイルを で渡すと--dry-run
、eksctl は各ノードグループのインスタンスセレクタリソース条件を展開した後、同じノードグループのセットを含む ClusterConfig ファイルを出力します。
# instance-selector-cluster.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster region: us-west-2 nodeGroups: - name: ng instanceSelector: vCPUs: 2 memory: 4 # 4 GiB, unit defaults to GiB managedNodeGroups: - name: mng instanceSelector: vCPUs: 2 memory: 2GiB # cpuArchitecture: x86_64 # default value
eksctl create cluster -f instance-selector-cluster.yaml --dry-run apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig # ... managedNodeGroups: - amiFamily: AmazonLinux2 # ... instanceSelector: cpuArchitecture: x86_64 memory: 2GiB vCPUs: 2 instanceTypes: - t3.small - t3a.small nodeGroups: - amiFamily: AmazonLinux2 # ... instanceSelector: memory: "4" vCPUs: 2 instanceType: mixed instancesDistribution: capacityRebalance: false instanceTypes: - c5.large - c5a.large - c5ad.large - c5d.large - t2.medium - t3.medium - t3a.medium # ...