Support pour AWS Outposts - Guide de l'utilisateur d'Eksctl

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Support pour AWS Outposts

Avertissement

Les groupes de nœuds gérés par EKS ne sont pas pris en charge sur les Outposts.

Étendre les clusters existants à AWS Outposts

Vous pouvez étendre un cluster EKS existant exécuté dans une région AWS à AWS Outposts en configurant de nouveaux groupes de nœuds afin de créer nodeGroup.outpostARN des groupes de nœuds sur les Outposts, comme dans :

# 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

Dans cette configuration, le plan de contrôle EKS s'exécute dans une région AWS tandis que les groupes de nœuds outpostARN définis s'exécutent sur l'avant-poste spécifié. Lorsqu'un groupe de nœuds est créé sur Outposts pour la première fois, eksctl étend le VPC en créant des sous-réseaux sur l'Outpost spécifié. Ces sous-réseaux sont utilisés pour créer des groupes de nœuds définis. outpostARN

Les clients possédant un VPC préexistant sont tenus de créer les sous-réseaux sur les Outposts et de les transmettrenodeGroup.subnets, comme dans :

# 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"

Création d'un cluster local sur AWS Outposts

Note

Les clusters locaux prennent uniquement en charge les racks Outpost.

Note

Seul Amazon Linux 2 est pris en charge pour les groupes de nœuds lorsque le plan de contrôle se trouve sur Outposts. Seuls les types de volumes EBS gp2 sont pris en charge pour les groupes de nœuds sur les Outposts.

La prise en charge d'AWS Outposts dans eksctl vous permet de créer des clusters locaux avec l'ensemble du cluster Kubernetes, y compris le plan de contrôle EKS et les nœuds de travail, exécutés localement sur AWS Outposts. Les clients peuvent soit créer un cluster local avec le plan de contrôle EKS et les nœuds de travail exécutés localement sur AWS Outposts, soit étendre un cluster EKS existant exécuté dans une région AWS à AWS Outposts en créant des nœuds de travail sur les Outposts.

Pour créer le plan de contrôle EKS et les groupes de nœuds sur AWS Outposts, outpost.controlPlaneOutpostARN définissez l'Outpost ARN, comme dans :

# 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

Cela indique à eksctl de créer le plan de contrôle EKS et les sous-réseaux sur l'avant-poste spécifié. Comme un rack Outposts existe dans une seule zone de disponibilité, eksctl ne crée qu'un seul sous-réseau public et privé. eksctl n'associe pas le VPC créé à une passerelle locale et, par conséquent, eksctl ne sera pas connecté au serveur API et ne pourra pas créer de groupes de nœuds. Par conséquent, s'il ClusterConfig contient des groupes de nœuds lors de la création du cluster, la commande doit être exécutée avec--without-nodegroup, comme dans :

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

Il est de la responsabilité du client d'associer le VPC créé par eksctl à la passerelle locale après la création du cluster afin de permettre la connectivité au serveur API. Après cette étape, les groupes de nœuds peuvent être créés à l'aide de. eksctl create nodegroup

Vous pouvez éventuellement spécifier le type d'instance pour les nœuds du plan de contrôle dans outpost.controlPlaneInstanceType ou pour les groupes de nœuds dansnodeGroup.instanceType, mais le type d'instance doit exister sur Outpost, sinon eksctl renverra une erreur. Par défaut, eksctl essaie de choisir le plus petit type d'instance disponible sur Outpost pour les nœuds et les groupes de nœuds du plan de contrôle.

Lorsque le plan de contrôle se trouve sur les Outposts, des groupes de nœuds sont créés sur ces Outposts. Vous pouvez éventuellement spécifier l'ARN d'avant-poste pour le groupe de nœuds dans, nodeGroup.outpostARN mais il doit correspondre à l'ARN d'avant-poste du plan de contrôle.

# 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 existant

Les clients disposant d'un VPC existant peuvent créer des clusters locaux sur AWS Outposts en spécifiant la configuration vpc.subnets du sous-réseau dans, comme dans :

# 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

Les sous-réseaux doivent exister sur l'avant-poste spécifié dans, outpost.controlPlaneOutpostARN sinon eksctl renverra une erreur. Vous pouvez également spécifier des groupes de nœuds lors de la création du cluster si vous avez accès à la passerelle locale pour le sous-réseau ou si vous êtes connecté aux ressources VPC.

Fonctionnalités non prises en charge sur les clusters locaux

Plus d'informations