En esta página, se explica cómo actualizar la versión de Kubernetes de tus clústeres de GKE en AWS.
Requisitos previos
La actualización de la versión de Kubernetes de tu clúster es un caso específico de la operación de actualización del clúster más general. Puedes leer sobre las operaciones de actualización del clúster en general en la página de actualización del clúster. Para actualizar la versión del clúster, haz lo siguiente:
- Debes actualizar cada versión secundaria entre la versión actual y la de destino. Por ejemplo, para actualizar de la versión 1.20 a la 1.22, primero debes actualizar de la 1.20 a la 1.21 y, luego, de la 1.21 a la 1.22.
- Debes tener el permiso
gkemulticloud.googleapis.com/awsClusters.update
de Identity and Access Management.
Cómo GKE en AWS realiza actualizaciones
Debido a que la actualización de un clúster requiere reiniciar los nodos del plano de control, GKE en AWS realiza una “actualización progresiva” con los siguientes pasos:
- Eligen una instancia del plano de control para actualizar. GKE en AWS actualiza las instancias en mal estado, si las hay, antes que aquellas en buen estado.
- Crean una plantilla de inicio nueva para la instancia.
- Actualizan la plantilla de lanzamiento del grupo de ajuste de escala automático.
- Borra la instancia. AWS vuelve a crear la instancia y esta se inicia con la configuración nueva.
- Realizan verificaciones de estado en la instancia nueva.
- Si las verificaciones de estado se ejecutan correctamente, selecciona otra instancia y realiza los mismos pasos en ella. Repiten este ciclo hasta que todas las instancias se reinicien o se vuelvan a crear. Si la verificación de estado falla, GKE en AWS coloca el clúster en un estado
DEGRADED
y detiene la actualización. Para obtener más información, consulta la siguiente sección: - Borran la plantilla de inicio original.
Cuando falla una actualización
Después de una actualización, GKE en AWS realiza una verificación de estado en el clúster.
Si la verificación de estado falla, el clúster se marca como DEGRADED
. Puedes mostrar el estado del clúster con el siguiente comando de Google Cloud CLI:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre de tu clúster.GOOGLE_CLOUD_LOCATION
: Es la región de Google Cloud que administra tu clúster.
Realiza la actualización
Verifica tu versión del clúster
Antes de actualizar la versión del clúster, usa el siguiente comando para verificar qué versiones están disponibles en tu región:
gcloud container aws get-server-config \
--location=GOOGLE_CLOUD_LOCATION
Reemplaza GOOGLE_CLOUD_LOCATION
por la ubicación de Google Cloud desde la que administras tus clústeres.
Elige un método de actualización
Puedes actualizar la versión del clúster a través de la consola de Google Cloud, Google Cloud CLI o la API de GKE Multi-Cloud. Si quieres usar la consola para actualizar un clúster, primero debes elegir y configurar un método de autenticación a fin de acceder al clúster. Para obtener más información, consulta Conéctate y autentícate en el clúster.
Consola
En la consola de Google Cloud, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.
Selecciona el proyecto de Google Cloud en el que se encuentra el clúster.
En la lista de clústeres, selecciona su nombre y, luego, Ver detalles en el panel lateral.
En la pestaña Detalles, selecciona
Actualizar.En el cuadro de diálogo Actualiza la versión de Kubernetes para el clúster, selecciona la versión a la que deseas actualizar y haz clic en Listo. Ten en cuenta que debes actualizar todas las versiones secundarias cuando actualizas el clúster.
gcloud
Para actualizar la versión de Kubernetes de tu clúster, ejecuta el siguiente comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clústerGOOGLE_CLOUD_LOCATION
: Es la región de Google Cloud compatible con la que se administra el clúster, por ejemplo,us-west1
.CLUSTER_VERSION
: la nueva versión de clúster compatible
API
Para actualizar tu clúster a través de la API, usa una operación PATCH
en la API de GKE Multi-Cloud.
Crea un archivo JSON llamado
cluster_update.json
con el siguiente contenido:{ "controlPlane": { "version": "CLUSTER_VERSION", }, }
Reemplaza lo siguiente:
CLUSTER_VERSION
: la nueva versión de clúster compatible. Ten en cuenta que debes actualizar todas las versiones secundarias cuando actualizas el clúster.
Actualiza esta configuración a través de la API de GKE Multi-Cloud con el siguiente comando.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_ID?update_mask=controlPlane.Version
Reemplaza lo siguiente:
ENDPOINT
: Es el extremo de servicio de Google Cloud.PROJECT_ID
: Tu proyecto de Google CloudGOOGLE_CLOUD_LOCATION
: Es la región de Google Cloud compatible con la que se administra el clúster, por ejemplo,us-west1
.CLUSTER_ID
: Tu ID de clúster
Para obtener más información, consulta la documentación del método projects.locations.awsClusters.patch
.
Actualiza los grupos de nodos
Después de actualizar la versión del clúster, actualiza los grupos de nodos para completar el proceso. Para aprender a hacerlo, consulta Actualiza un grupo de nodos.
¿Qué sigue?
Aprende a realizar otras actualizaciones de clústeres.
Para obtener más información sobre los campos actualizables, consulta la documentación de referencia
gcloud container aws clusters update
.Consulta la documentación de la API de REST de
projects.locations.awsClusters.patch
.