AWS Outposts のサポート - Eksctl ユーザーガイド

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

AWS Outposts のサポート

警告

EKS Managed Nodegroups は Outposts ではサポートされていません。

既存のクラスターを AWS Outposts に拡張する

AWS リージョンで実行されている既存の EKS クラスターを AWS Outposts に拡張するには、次のように、新しいノードグループnodeGroup.outpostARNが Outposts にノードグループを作成できるように を設定します。

# extended-cluster.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: existing-cluster region: us-west-2 nodeGroups: # Nodegroup will be created in an AWS region. - name: ng # Nodegroup will be created on the specified Outpost. - name: outpost-ng privateNetworking: true outpostARN: "arn:aws:outposts:us-west-2:1234:outpost/op-1234"
eksctl create nodegroup -f extended-cluster.yaml

この設定では、EKS コントロールプレーンは AWS リージョンで実行され、 outpostARNが設定されたノードグループは指定された Outpost で実行されます。Outposts でノードグループが初めて作成されるとき、eksctl は指定された Outpost にサブネットを作成して VPC を拡張します。これらのサブネットは、 がoutpostARN設定したノードグループを作成するために使用されます。

既存の VPC を持つお客様は、Outposts でサブネットを作成しnodeGroup.subnets、次のように に渡す必要があります。

# extended-cluster-vpc.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: extended-cluster-vpc region: us-west-2 vpc: id: vpc-1234 subnets: private: outpost-subnet-1: id: subnet-1234 nodeGroups: # Nodegroup will be created in an AWS region. - name: ng # Nodegroup will be created on the specified Outpost. - name: outpost-ng privateNetworking: true # Subnet IDs for subnets created on Outpost. subnets: [subnet-5678] outpostARN: "arn:aws:outposts:us-west-2:1234:outpost/op-1234"

AWS Outposts でのローカルクラスターの作成

注記

ローカルクラスターは Outpost ラックのみをサポートします。

注記

コントロールプレーンが Outposts にある場合、Amazon Linux 2 のみがノードグループでサポートされています。Outposts のノードグループでは、EBS gp2 ボリュームタイプのみがサポートされています。

eksctl での AWS Outposts のサポートにより、EKS コントロールプレーンやワーカーノードなど、Kubernetes クラスター全体でローカルクラスターを作成し、AWS Outposts でローカルに実行できます。お客様は、AWS Outposts でローカルに実行されている EKS コントロールプレーンとワーカーノードの両方を使用してローカルクラスターを作成するか、Outposts でワーカーノードを作成することで、AWS リージョンで実行されている既存の EKS クラスターを AWS Outposts に拡張できます。

AWS Outposts で EKS コントロールプレーンとノードグループを作成するには、次のように outpost.controlPlaneOutpostARNを Outpost ARN に設定します。

# outpost.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: outpost region: us-west-2 outpost: # Required. controlPlaneOutpostARN: "arn:aws:outposts:us-west-2:1234:outpost/op-1234" # Optional, defaults to the smallest available instance type on the Outpost. controlPlaneInstanceType: m5d.large
eksctl create cluster -f outpost.yaml

これにより、指定した Outpost に EKS コントロールプレーンとサブネットを作成するように eksctl に指示します。Outposts ラックは単一のアベイラビリティーゾーンに存在するため、eksctl はパブリックサブネットとプライベートサブネットを 1 つだけ作成します。eksctl は、作成された VPC をローカルゲートウェイと関連付けないため、eksctl は API サーバーに接続できず、ノードグループを作成できません。したがって、クラスターの作成中に にノードグループClusterConfigが含まれている場合、 コマンドは--without-nodegroup次のように で実行する必要があります。

eksctl create cluster -f outpost.yaml --without-nodegroup

クラスターの作成後に eksctl が作成した VPC をローカルゲートウェイに関連付けて、API サーバーへの接続を有効にするのはお客様の責任です。このステップの後、 を使用してノードグループを作成できますeksctl create nodegroup

必要に応じて、 のコントロールプレーンノードoutpost.controlPlaneInstanceTypeまたは のノードグループのインスタンスタイプを指定できますがnodeGroup.instanceType、インスタンスタイプが Outpost に存在する必要があります。存在しない場合、eksctl はエラーを返します。デフォルトでは、eksctl はコントロールプレーンノードとノードグループに対して Outpost で使用可能な最小のインスタンスタイプを選択しようとします。

コントロールプレーンが Outposts にある場合、その Outpost にノードグループが作成されます。必要に応じて、 のノードグループの Outpost ARN を指定できますnodeGroup.outpostARNが、コントロールプレーンの Outpost ARN と一致する必要があります。

# outpost-fully-private.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: outpost-fully-private region: us-west-2 privateCluster: enabled: true outpost: # Required. controlPlaneOutpostARN: "arn:aws:outposts:us-west-2:1234:outpost/op-1234" # Optional, defaults to the smallest available instance type on the Outpost. controlPlaneInstanceType: m5d.large
# outpost.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: outpost region: us-west-2 outpost: # Required. controlPlaneOutpostARN: "arn:aws:outposts:us-west-2:1234:outpost/op-1234" # Optional, defaults to the smallest available instance type on the Outpost. controlPlaneInstanceType: m5d.large controlPlanePlacement: groupName: placement-group-name

既存の VPC

既存の VPC を持つお客様は、次のように でサブネット設定を指定することでvpc.subnets、AWS Outposts でローカルクラスターを作成できます。

# outpost-existing-vpc.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: outpost region: us-west-2 vpc: id: vpc-1234 subnets: private: outpost-subnet-1: id: subnet-1234 nodeGroups: - name: outpost-ng privateNetworking: true outpost: # Required. controlPlaneOutpostARN: "arn:aws:outposts:us-west-2:1234:outpost/op-1234" # Optional, defaults to the smallest available instance type on the Outpost. controlPlaneInstanceType: m5d.large
eksctl create cluster -f outpost-existing-vpc.yaml

サブネットは、 で指定された Outpost に存在する必要があります。存在しないoutpost.controlPlaneOutpostARN場合、eksctl はエラーを返します。サブネットのローカルゲートウェイにアクセスできる場合、または VPC リソースに接続している場合は、クラスターの作成時にノードグループを指定することもできます。

ローカルクラスターでサポートされていない機能

詳細情報