翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 リソースに接続している場合は、クラスターの作成時にノードグループを指定することもできます。
ローカルクラスターでサポートされていない機能
-
アベイラビリティーゾーンは、デフォルトで Outpost アベイラビリティーゾーンであるため指定できません。
-
vpc.publicAccessCIDRsとvpc.autoAllocateIPv6はサポートされていません。 -
API サーバーへのパブリックエンドポイントアクセスはサポートされていません。ローカルクラスターはプライベートのみのエンドポイントアクセスでのみ作成できるためです。