Soporte para AWS Outposts - Guía del usuario de Eksctl

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Soporte para AWS Outposts

aviso

Los grupos de nodos gestionados por EKS no son compatibles con Outposts.

Ampliación de los clústeres existentes a AWS Outposts

Puede extender un clúster de EKS existente que se ejecute en una región de AWS a AWS Outposts configurando nuevos grupos de nodeGroup.outpostARN nodos para crear grupos de nodos en Outposts, como en:

# 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

En esta configuración, el plano de control de EKS se ejecuta en una región de AWS, mientras que los grupos de nodos con outpostARN set se ejecutan en el Outpost especificado. Cuando se crea un grupo de nodos en Outposts por primera vez, eksctl amplía la VPC creando subredes en el Outpost especificado. Estas subredes se utilizan para crear grupos de nodos establecidos. outpostARN

Los clientes con una VPC preexistente deben crear las subredes en Outposts y nodeGroup.subnets pasarlas, como en:

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

Creación de un clúster local en AWS Outposts

nota

Los clústeres locales solo admiten bastidores de Outpost.

nota

Solo Amazon Linux 2 es compatible con los grupos de nodos cuando el plano de control está en Outposts. Solo se admiten los tipos de volumen gp2 de EBS para los grupos de nodos de Outposts.

La compatibilidad con AWS Outposts en eksctl le permite crear clústeres locales con todo el clúster de Kubernetes, incluidos el plano de control de EKS y los nodos de trabajo, ejecutándose localmente en AWS Outposts. Los clientes pueden crear un clúster local con el plano de control de EKS y los nodos de trabajo ejecutándose localmente en AWS Outposts, o pueden extender un clúster de EKS existente que se ejecute en una región de AWS a AWS Outposts creando nodos de trabajo en Outposts.

Para crear el plano de control y los grupos de nodos de EKS en AWS Outposts, configúrelo en el ARN de Outpost, como outpost.controlPlaneOutpostARN se muestra en:

# 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

Esto indica a eksctl que cree el plano de control y las subredes de EKS en el Outpost especificado. Dado que existe un rack de Outposts en una única zona de disponibilidad, eksctl crea solo una subred pública y privada. eksctl no asocia la VPC creada a una puerta de enlace local y, por lo tanto, eksctl carecerá de conectividad con el servidor API y no podrá crear grupos de nodos. Por lo tanto, si ClusterConfig contiene algún grupo de nodos durante la creación del clúster, el comando debe ejecutarse con, como en: --without-nodegroup

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

Es responsabilidad del cliente asociar la VPC creada por eksctl con la puerta de enlace local después de la creación del clúster para permitir la conectividad con el servidor API. Después de este paso, se pueden crear grupos de nodos utilizando. eksctl create nodegroup

Si lo desea, puede especificar el tipo de instancia para los nodos del plano de control outpost.controlPlaneInstanceType o para los grupos de nodos incluidosnodeGroup.instanceType, pero el tipo de instancia debe existir en Outpost o eksctl devolverá un error. De forma predeterminada, eksctl intenta elegir el tipo de instancia más pequeño disponible en Outpost para los nodos y grupos de nodos del plano de control.

Cuando el plano de control está en Outposts, se crean grupos de nodos en ese Outpost. Si lo desea, puede especificar el ARN de Outpost para el grupo de nodos nodeGroup.outpostARN en, pero debe coincidir con el ARN de Outpost del plano de control.

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

Los clientes con una VPC existente pueden crear clústeres locales en AWS Outposts especificando la configuración vpc.subnets de subred en, como en:

# 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

Las subredes deben existir en el Outpost especificado en outpost.controlPlaneOutpostARN o eksctl devolverá un error. También puedes especificar grupos de nodos durante la creación del clúster si tienes acceso a la puerta de enlace local de la subred o si tienes conectividad a los recursos de la VPC.

Funciones no compatibles con los clústeres locales

Más información