Aquí se describe cómo actualizar la configuración de un clúster de usuario existente.
Descripción general
Con los clústeres de usuario que ejecutan la versión 1.20 de Kubernetes y las posteriores, puedes modificar los siguientes atributos:
- Los grupos de seguridad de un clúster de usuario, que se describen en este tema.
- Las versiones de clústeres y grupos de nodos. Para obtener más información, consulta Actualiza GKE en AWS.
- Configuración de proxy. Para obtener más información, consulta Cambia la configuración del proxy.
- El tamaño de un grupo de nodos. Para obtener más información, consulta Modifica el tamaño de un grupo de nodos
Con Kubernetes 1.22 y versiones posteriores, puedes actualizar los tipos de instancias de EC2.
Para actualizar estos recursos, edita los recursos AWSCluster y AWSNodePool.
Después de actualizar la configuración, GKE en AWS coloca el clúster o grupo de nodos en el estado Updating
. Cuando se completa la actualización, el clúster o grupo de nodos vuelve al estado Provisioned
.
Antes de comenzar
Para modificar tus clústeres de usuario, el clúster y el grupo de nodos deben ejecutar la versión 1.20 de Kubernetes o una posterior. Si tu clúster no ejecuta Kubernetes 1.20, primero actualiza tu clúster de usuario.
Para modificar los grupos de seguridad de tu clúster, la función IAM de AWS (configurada como spec.authentication.awsIAM.adminIdentityARNs
en anthos-gke.yaml
) que administra tus clústeres de Anthos en los clústeres de usuario de AWS debe tener el permiso ec2:ModifyNetworkInterfaceAttribute
.
Actualiza los grupos de seguridad
En esta sección, actualizarás los grupos de seguridad para un clúster y un grupo de nodos. Para actualizar los grupos de seguridad, realiza los siguientes pasos:
Desde tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio administrado.cd anthos-aws anthos-gke aws management get-credentials
Abre el archivo YAML que creó el AWSCluster en un editor de texto. Si no tienes el archivo YAML inicial, puedes usar
kubectl edit
.Edita YAML
Si seguiste las instrucciones en Crea un clúster de usuario, el archivo YAML se llama
cluster-0.yaml
. Abre este archivo en un editor de texto.Edita mediante kubectl
Para usar
kubectl edit
a fin de editar el AWSCluster, ejecuta el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
Reemplaza cluster-name por el AWSCluster. Por ejemplo, para editar el clúster predeterminado,
cluster-0
, ejecuta el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
Edita el campo
spec.controlPlane.securityGroupIDs
de tuAWSCluster
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster ... spec: controlPlane: securityGroupIDs: - SECURITY_GROUP_ID ...
Reemplaza SECURITY_GROUP_ID por el ID del grupo de seguridad nuevo. Para agregar varios grupos de seguridad, agrega valores adicionales al array en
spec.controlPlane.securityGroupIDs
.En el siguiente ejemplo, se incluyen los grupos de seguridad
sg-12345678ab
ysg-abcdef1234
:apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster spec: controlPlane: securityGroupIDs: - sg-12345678ab - sg-abcdef1234 ...
Edita el campo
spec.securityGroupIDs
de los recursos deAWSNodePool
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool spec: securityGroupIDs: - SECURITY_GROUP_ID ...
Guarda el archivo. Si usas
kubectl edit
,kubectl
aplica los cambios de forma automática. Si editas el archivo YAML, aplícalo al servicio de administración mediante el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Comprueba el estado de la actualización con
kubectl
. Cuando finaliza la actualización, el estado del objeto cambia deUpdating
aProvisioned
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters,AWSNodePools
Por ejemplo, mientras el clúster está en estado de actualización, el resultado se parece al siguiente:
NAME STATE AGE VERSION ENDPOINT cluster-0 Updating 10m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com NAME CLUSTER STATE AGE VERSION cluster-0-pool-0 cluster-0 Updating 10m40s 1.25.5-gke.2100
Actualizar tipos de instancias
En esta sección, actualizarás los tipos de instancias para un clúster y un grupo de nodos. Para actualizar los tipos de instancias, realiza los siguientes pasos:
Desde tu directorio de
anthos-aws
, usaanthos-gke
para cambiar el contexto a tu servicio administrado.cd anthos-aws anthos-gke aws management get-credentials
Abre el archivo YAML que creó el AWSCluster en un editor de texto. Si no tienes el archivo YAML inicial, puedes usar
kubectl edit
.Edita YAML
Si seguiste las instrucciones en Crea un clúster de usuario, el archivo YAML se llama
cluster-0.yaml
. Abre este archivo en un editor de texto.Edita mediante kubectl
Para usar
kubectl edit
a fin de editar el AWSCluster, ejecuta el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-name
Reemplaza cluster-name por el AWSCluster. Por ejemplo, para editar el clúster predeterminado,
cluster-0
, ejecuta el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl edit awscluster cluster-0
Edita el campo
spec.controlPlane.instanceType
de tuAWSCluster
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSCluster ... spec: controlPlane: instanceType: AWS_INSTANCE_TYPE ...
Reemplaza AWS_INSTANCE_TYPE por el nuevo tipo de instancia. Para obtener más información, consulta los grupos de instancias compatibles.
Edita el campo
spec.instanceType
de los recursos deAWSNodePool
.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSNodePool spec: instanceType: AWS_INSTANCE_TYPE ...
Guarda el archivo. Si usas
kubectl edit
,kubectl
aplica los cambios de forma automática. Si editas el archivo YAML, aplícalo al servicio de administración mediante el siguiente comando:env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Comprueba el estado de la actualización con
kubectl
. Cuando finaliza la actualización, el estado del objeto cambia deUpdating
aProvisioned
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters,AWSNodePools
Por ejemplo, mientras el clúster está en estado de actualización, el resultado se parece al siguiente:
NAME STATE AGE VERSION ENDPOINT cluster-0 Updating 10m41s 1.25.5-gke.2100 gke-xyz.elb.us-east-1.amazonaws.com NAME CLUSTER STATE AGE VERSION cluster-0-pool-0 cluster-0 Updating 10m40s 1.25.5-gke.2100
¿Qué sigue?
- Para obtener más información sobre la actualización de un clúster de usuario, consulta Actualiza GKE en AWS.