Esta página describe cómo actualizar la configuración de su clúster de GKE en AWS. Puede usar estas instrucciones para actualizar cualquier configuración actualizable en su clúster, incluida la versión de Kubernetes. Dado que actualizar la versión es una de las operaciones de actualización de clúster más comunes, una página independiente sobre cómo actualizar su clúster explica cómo hacerlo.
Razones para actualizar un cluster
Puede actualizar un clúster por cualquiera de los siguientes motivos:
- Para actualizar la descripción de su clúster.
- Para actualizar las anotaciones de su clúster.
- Para actualizar la lista de usuarios administrativos de su clúster.
- Para actualizar la configuración de registro de su clúster.
- Para rotar sus claves de cifrado .
- Para actualizar los grupos de seguridad de su plano de control de clúster.
También puede actualizar otros campos de sus clústeres que no aparecen aquí. Para obtener una lista completa de los campos que puede actualizar, consulte la documentación de gcloud container aws clusters update
y projects.locations.awsClusters.patch
.
Prerrequisitos
Para actualizar cualquiera de los campos de su clúster, debe tener el permiso de Administración de identidad y acceso
gkemulticloud.googleapis.com/awsClusters.update
.Para actualizar los grupos de seguridad del clúster, el rol del plano de control debe tener el permiso
ec2:ModifyNetworkInterfaceAttribute
. Para obtener más información, consulte Crear el rol del plano de control .Además, para actualizar las etiquetas de su clúster, la función de API de su clúster debe tener los siguientes permisos de AWS:
-
autoscaling:CreateOrUpdateTags
-
autoscaling:DeleteTags
-
ec2:CreateTags
-
ec2:DescribeLaunchTemplates
-
ec2:DescribeSecurityGroupRules
-
ec2:DeleteTags
-
elasticloadbalancing:AddTags
-
elasticloadbalancing:RemoveTags
Lea Crear roles de AWS IAM para aprender cómo crear y agregar permisos al rol de API de su clúster.
-
El proceso de actualización
El proceso mediante el cual GKE en AWS actualiza un clúster varía según el tipo de actualización. Para algunos cambios, GKE en AWS puede actualizar un clúster sin reiniciar ni recrear ningún recurso; por ejemplo, actualizar la descripción del clúster. GKE en AWS realiza estos cambios inmediatamente.
Otros cambios requieren reiniciar los nodos del plano de control; por ejemplo, actualizar la versión de Kubernetes. Para estas actualizaciones, GKE en AWS realiza una actualización continua que consta de los siguientes pasos:
- Seleccione una instancia del plano de control para actualizar. GKE en AWS actualiza las instancias con problemas (si las hay) antes que las que sí los tienen.
- Cree una nueva plantilla de lanzamiento para la instancia.
- Actualice la plantilla de lanzamiento del grupo de escalamiento automático.
- Eliminar la instancia. AWS la recrea y se inicia con la nueva configuración.
- Realizar comprobaciones del estado de la nueva instancia.
- Si las comprobaciones de estado son correctas, seleccione otra instancia y realice los mismos pasos. Repita este ciclo hasta que todas las instancias se reinicien o vuelvan a crear. Si la comprobación de estado falla, GKE en AWS coloca el clúster en estado
DEGRADED
y detiene la actualización. Para obtener más información, consulte la siguiente sección. - Eliminar la plantilla de lanzamiento original.
Cuando falla una actualización
Tras una actualización, GKE en AWS realiza una comprobación del estado del clúster. Si la comprobación falla, el clúster se marca como DEGRADED
. Puedes ver el estado de tu clúster con el siguiente comando de la CLI de Google Cloud:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
GOOGLE_CLOUD_LOCATION
: la Google Cloud región que administra su clúster
Actualice su clúster
Puedes utilizar cualquiera de los dos Google Cloud consola, la CLI de Google Cloud o la API Multi-Cloud de GKE para actualizar varios campos del clúster a la vez.
Elija un método de actualización
Puede actualizar la mayoría de los campos mediante la consola, la CLI de gcloud o la API Multi-Cloud de GKE. Algunos campos solo se pueden actualizar mediante un mecanismo u otro. Si desea usar la consola para actualizar un clúster, primero debe elegir y configurar un método de autenticación para iniciar sesión en él. Para obtener más información, consulte Conectarse y autenticarse en el clúster .
Consola
En el Google Cloud consola, vaya a la página de descripción general de clústeres de Google Kubernetes Engine .
Seleccione el Google Cloud proyecto en el que se encuentra el cluster.
En la lista de clústeres, seleccione el nombre del clúster y luego seleccione Ver detalles en el panel lateral.
En la pestaña Detalles , seleccione
Editar en el campo que desea cambiar.Por ejemplo, para otorgar privilegios administrativos de clúster a otros usuarios, seleccione
Editar junto a Usuarios administradores e ingrese la dirección de correo electrónico del usuario.Cuando haya terminado de realizar cambios, seleccione Listo .
nube g
Al actualizar un clúster mediante la CLI de gcloud, siempre debe incluir los campos CLUSTER_NAME
y GOOGLE_CLOUD_LOCATION
, que indican a GKE en AWS qué clúster actualizar. En el siguiente comando, incluya solo los campos que desee actualizar; elimine los demás campos antes de ejecutar el comando.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--root-volume-iops=ROOT_VOLUME_IOPS \
--root-volume-size=ROOT_VOLUME_SIZE \
--root-volume-type=ROOT_VOLUME_TYPE \
--security-group-ids=SECURITY_GROUP_IDS
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
GOOGLE_CLOUD_LOCATION
(obligatorio): la ubicación compatible Google Cloud región que administra su clúster, por ejemplo,us-west1
-
CLUSTER_VERSION
: la nueva versión del clúster compatible -
USERNAME_LIST
: una lista de nombres de usuario separados por comas, por ejemplo, "kai@example.com,hao@example.com,kalani@example.com". Estas son las direcciones de correo electrónico de los usuarios a los que se les otorgan privilegios administrativos en este clúster. Los nombres de esta configuración reemplazarán cualquier lista anterior de usuarios administradores en el clúster. -
ROOT_VOLUME_IOPS
: el máximo de operaciones de E/S por segundo del volumen raíz -
ROOT_VOLUME_SIZE
: el tamaño del volumen raíz, en Gb -
ROOT_VOLUME_TYPE
: el tipo de volumen de AWS EBS del volumen raíz -
SECURITY_GROUP_IDS
: los ID del grupo de seguridad de AWS que se agregarán a las instancias del plano de control del clúster -
SECURITY_GROUP_IDS
: los ID del grupo de seguridad de AWS que se agregarán a las instancias del plano de control del clúster
API
Al actualizar un clúster mediante la API Multi-Cloud de GKE, siempre debe incluir los campos CLUSTER_NAME
y GOOGLE_CLOUD_LOCATION
en la solicitud HTTP. Estos campos indican a GKE en AWS qué clúster actualizar. También debe incluir el punto de conexión de la API en la solicitud. Cree un archivo JSON con los campos que desea actualizar. Incluya solo los campos que desea actualizar en el archivo JSON y en UPDATE_MASK
.
El siguiente ejemplo muestra cómo actualizar el clúster mediante la API. Para obtener más información, incluida la lista de campos que se pueden actualizar, consulte la documentación del método projects.locations.awsClusters.patch
.
Crea un archivo JSON llamado
cluster_update.json
con los campos que deseas actualizar.{ "controlPlane": { "version": "CLUSTER_VERSION", }, "description": "CLUSTER_DESCRIPTION", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }
Reemplace lo siguiente:
-
CLUSTER_VERSION
: la nueva versión del clúster compatible . Tenga en cuenta que debe actualizar todas las versiones secundarias al actualizar el clúster. -
CLUSTER_DESCRIPTION
: la nueva descripción del clúster -
USERNAME1
,USERNAME2
,USERNAME3
: las direcciones de correo electrónico de los usuarios a los que se les otorgan privilegios administrativos en este clúster. Los nombres en estos campos reemplazarán cualquier lista anterior de usuarios administradores del clúster.
-
Actualice estas configuraciones a través de la API Multi-Cloud de GKE con el siguiente comando.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
Reemplace lo siguiente:
-
ENDPOINT
(obligatorio): Su Google Cloudpunto final del servicio -
PROJECT_ID
(obligatorio): Su Google Cloud proyecto -
GOOGLE_CLOUD_LOCATION
(obligatorio): la ubicación compatible Google Cloud región que administra su clúster, por ejemplo,us-west1
-
CLUSTER_NAME
(obligatorio): su nombre de clúster -
UPDATE_MASK
(obligatorio): una lista separada por comas de uno o más de los siguientes indicadores, que indica los campos que desea actualizar. En este ejemplo, especifique lo siguiente.- controlPlane.versión
- descripción
- autorización.admin_users
Actualice los grupos de seguridad de su clúster
Para actualizar los grupos de seguridad del clúster, el rol del plano de control debe tener el permiso ec2:ModifyNetworkInterfaceAttribute
. Para obtener más información, consulte Crear el rol del plano de control .
Puede utilizar el comando gcloud container aws clusters update
para agregar grupos de seguridad adicionales a su plano de control del clúster.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
GOOGLE_CLOUD_LOCATION
: la ubicación compatible Google Cloud región que administra su clúster, por ejemplo,us-west1
-
SECURITY_GROUP_IDS
: los ID del grupo de seguridad de AWS que se agregarán a las instancias del plano de control del clúster
Eliminar grupos de seguridad del clúster
Puedes eliminar todos los grupos de seguridad no predeterminados de tu clúster con la CLI de Google Cloud. Para actualizar un clúster, ejecuta:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--clear-security-group-ids
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
GOOGLE_CLOUD_LOCATION
: la ubicación compatible Google Cloud región que administra su clúster, por ejemplo,us-west1
Actualizar la información del volumen del clúster
Puedes actualizar los volúmenes del plano de control de tu clúster con la CLI de Google Cloud. Para actualizar las claves KMS de volumen, consulta Rotación de claves .
Para actualizar el tamaño, el tipo o las IOPS del volumen, ejecute el siguiente comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--root-volume-iops=ROOT_VOLUME_IOPS
--root-volume-size=ROOT_VOLUME_SIZE
--root-volume-type=ROOT_VOLUME_TYPE
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
GOOGLE_CLOUD_LOCATION
: la ubicación compatible Google Cloud región que administra su clúster, por ejemplo,us-west1
-
ROOT_VOLUME_IOPS
: las operaciones de E/S por segundo del volumen raíz -
ROOT_VOLUME_SIZE
: el tamaño del volumen raíz, en Gb -
ROOT_VOLUME_TYPE
: el tipo de volumen AWS EBS del volumen raíz.
Actualizar configuración de registro
Puedes actualizar la configuración de Cloud Logging de tu clúster con la CLI de Google Cloud. Para actualizar la configuración de registro, ejecuta el siguiente comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster -
GOOGLE_CLOUD_LOCATION
: la ubicación compatible Google Cloud región que administra su clúster, por ejemplo,us-west1
-
LOGGING_CONFIG
: [SISTEMA] o [SISTEMA,CARGA DE TRABAJO]
¿Qué sigue?
- Para actualizar las claves KMS de volumen, consulte Rotación de claves
- Para obtener más información sobre los campos actualizables, consulte la documentación de referencia
gcloud container aws clusters update
. - Consulte la documentación de la API REST
projects.locations.awsClusters.patch
.