¿Cómo agrego subredes nuevas a un clúster de Amazon EKS existente?
Quiero agregar nuevas subredes al plano de control de clústeres de Amazon Elastic Kubernetes Service (Amazon EKS).
Descripción breve
Si agregas subredes a nuevas zonas de disponibilidad o eliminas subredes de zonas de disponibilidad existentes, es posible que recibas un mensaje de error similar al siguiente:
«An error occurred (InvalidParameterException) when calling the UpdateClusterConfig operation: Provided subnets belong to the AZs 'us-west-2a,us-west-2c,us-west-2d'. But they should belong to the exact set of AZs 'us-west-2a,us-west-2c' in which subnets were provided during cluster creation».
Tus subredes deben estar en el mismo conjunto de zonas de disponibilidad que AWS eligió para ti cuando creaste el clúster. Las subredes también deben estar en la misma Amazon Virtual Private Cloud (Amazon VPC) que AWS proporcionó cuando creaste el clúster. La VPC debe tener suficientes direcciones IP disponibles para el clúster. Para obtener más información, consulta la sección Crear una subred y los requisitos y consideraciones de la VPC.
Resolución
Para modificar las subredes de clústeres de Amazon EKS, puedes utilizar la consola de Amazon EKS, la AWS CLI o eksctl de la CLI.
Uso de la consola de Amazon EKS
Sigue estos pasos:
- Abre la consola de Amazon EKS.
- En el panel de navegación, selecciona Clúster.
- Selecciona Red y, a continuación, selecciona Administrar recursos de VPC.
- En el menú Subredes, selecciona las subredes que desees agregar.
- Selecciona Guardar.
- En la sección Red, confirma que se agregaron las subredes.
Uso de la AWS CLI
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
El comando de la AWS CLI sustituye las subredes de clúster existentes por las subredes que se incluyen en el comando. Para agregar subredes, especifica las subredes existentes y las subredes adicionales.
-
Ejecuta el comando describe-subnets para identificar las zonas de disponibilidad que has configurado para tu clúster de EKS:
aws ec2 describe-subnets --subnet-ids $(aws eks describe-cluster --name your-cluster-name --query 'cluster.resourcesVpcConfig.subnetIds' --output text) --query 'Subnets[*].AvailabilityZone'Nota: Sustituye your-cluster-name por el nombre de tu clúster y los ID de subred de ejemplo por tus ID de subred.
Resultado de ejemplo:[ "us-west-2c", "us-west-2d", "us-west-2a" ] -
Ejecuta el comando update-cluster-config para actualizar las subredes del plano de control del clúster:
aws eks update-cluster-config --name your-cluster-name \ --resources-vpc-config subnetIds=subnet-1234,subnet-5678,subnet-9101Nota: Sustituye your-cluster-name por el nombre de tu clúster y los ID de subred de ejemplo por tus ID de subred. Al agregar subredes nuevas, asegúrate de representar cada zona de disponibilidad del conjunto original en al menos una subred. Para mantener una subred existente para una zona de disponibilidad, incluye la subred en el comando.
El siguiente ejemplo obtiene las zonas de disponibilidad actuales del clúster de EKS y agrega nuevas subredes a las zonas existentes. El comando update-cluster-config incluye las subredes originales y nuevas para mantener la configuración de la zona de disponibilidad del clúster y expandir las subredes de cada zona:aws eks describe-cluster --name gpusharing-demo --query 'cluster.resourcesVpcConfig.subnetIds' [ "subnet-03d59dfc8d9380b4c", "subnet-0c4f51f27d109fa32", "subnet-037b42db1a08da5ae" ] aws eks update-cluster-config --name gpusharing-demo --resources-vpc-config subnetIds=subnet-xxxxxxx80b4c,subnet-xxxxxxx8da5ae,subnet-xxxxxxx9fa32,subnet-xxxxxxee3bb,subnet-xxxxxxa761ac,subnet-xxxxxxde8b8 { "update": { "id": "e7ed1fbf-01ab-3472-8204-149cdc3337be", "status": "InProgress", "type": "VpcConfigUpdate", "params": [ { "type": "Subnets", "value": "[subnet-xxxxxxx80b4c, subnet-xxxxxxx8da5ae, subnet-xxxxxxxx9fa32, subnet-xxxxxxxee3bb, subnet-xxxxxxxxa761ac, subnet-xxxxxxde8b8]" } ], "createdAt": "2024-09-09T18:06:16.493000+00:00", "errors": [] } }
Uso de eksctl de la CLI
El comando eksctl de la CLI sustituye las subredes del clúster existentes por las subredes que se incluyen en el comando. Para agregar subredes, especifica las subredes existentes y las subredes adicionales.
Ejecuta el siguiente comando eksctl para actualizar las subredes del plano de control del clúster:
eksctl utils update-cluster-vpc-config --cluster=your-cluster-name \ --control-plane-subnet-ids=subnet-1234,subnet-5678 --approve
El siguiente ejemplo de salida muestra que el clúster se actualizó en una subred para cada zona de disponibilidad:
eksctl utils update-cluster-vpc-config --cluster=gpusharing-demo --control-plane-subnet-ids=subnet-03d59dfc8d9380b4c,subnet-0c4f51f27d109fa32,subnet-037b42db1a08da5ae --approve 2024-09-09 18:23:54 [ℹ] using region us-west-2 2024-09-09 18:23:54 [ℹ] will update control plane subnet IDs for cluster "gpusharing-demo" in "us-west-2" to: [subnet-xxxxxxx80b4c subnet-xxxxxxx9fa32 subnet-xxxxxx8da5ae] 2024-09-09 18:32:07 [✔] control plane subnets and security groups for cluster "gpusharing-demo" in "us-west-2" have been updated to: controlPlaneSubnetIDs=[subnet-xxxxxxx80b4c subnet-xxxxxxxx9fa32 subnet-xxxxxxxx8da5ae], controlPlaneSecurityGroupIDs=[sg-xxxxx31d2]
Para usar el archivo config.yaml para actualizar subredes, ejecuta el siguiente comando:
eksctl utils update-cluster-vpc-config -f config.yaml
Resultado de ejemplo:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster region: us-west-2 vpc: controlPlaneSubnetIDs: [subnet-1234, subnet-5678, subnet-9101] controlPlaneSecurityGroupIDs: [sg-1234, sg-5678]
Información relacionada:
Flexibilidad de VPC mejorada: modificación de subredes y grupos de seguridad en Amazon EKS
Actualización de subredes y grupos de seguridad del plano de control en el sitio web de eksctl
- Temas
- Containers
- Etiquetas
- Amazon Elastic Kubernetes Service
- Idioma
- Español

Contenido relevante
- preguntada hace 4 días
- preguntada hace 5 meses
- preguntada hace 8 meses
- preguntada hace 4 meses
- preguntada hace un mes
OFICIAL DE AWSActualizada hace 3 años
OFICIAL DE AWSActualizada hace 4 meses