Rotación de IP del plano de control

En esta página se explica cómo realizar una rotación de IP para tu plano de control en Google Kubernetes Engine.

Descripción general

Puedes realizar una rotación de IP para cambiar la dirección IP que la instancia principal de Kubernetes de tu clúster utiliza a fin de entregar solicitudes desde la API de Kubernetes.

La rotación de IP también cambia la autoridad certificada de clúster y de SSL, de modo que no exista una conexión visible de manera externa entre la dirección anterior y la nueva.

Antes de comenzar

Como preparación para esta tarea, realiza los siguientes pasos:

  • Asegúrate de habilitar la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Asegúrate de instalar el SDK de Cloud.
  • Configura el ID del proyecto predeterminado:
    gcloud config set project [PROJECT_ID]
  • Si trabajas con clústeres por zona, configura tu zona de procesamiento predeterminada:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Si trabajas con clústeres por región, configura tu región de procesamiento predeterminada:
    gcloud config set compute/region [COMPUTE_REGION]
  • Actualiza gcloud a la versión más reciente:
    gcloud components update

Cómo funciona la rotación de IP

La rotación de IP es un proceso de varios pasos:

  • Cuando inicias una rotación de IP, la instancia principal de tu clúster comienza a entregar en la nueva dirección IP, además de hacerlo en la dirección IP original.
  • Después de iniciar una rotación, debes actualizar los clientes de la API de tu clúster (como máquinas de desarrollo que usan la interfaz de línea de comandos kubectl) para comenzar a comunicarse con la instancia principal en la nueva dirección IP.
  • Cuando finalizas la rotación, la instancia principal deja de entregar tráfico en la dirección IP anterior.

Cómo realizar una rotación de IP

En la siguiente sección se explica cómo realizar una rotación de IP.

Cómo iniciar la rotación

Para iniciar una rotación de IP, ejecuta el siguiente comando:

gcloud container clusters update [CLUSTER_NAME] --start-ip-rotation

en el cual [CLUSTER_NAME] corresponde al nombre del clúster.

Este comando configura la instancia principal del clúster para entregar en dos direcciones IP, su dirección original y una nueva dirección. Esto genera un tiempo de inactividad breve para la API del clúster.

El comando muestra el siguiente resultado:


This will start an IP Rotation on cluster [CLUSTER-NAME].
The master will be updated to serve on a new IP address in addition to
the current IP address. GKE will then recreate all
nodes to point to the new IP address. This operation is
long-running and will block other operations on the cluster (including
delete) until it has run to completion.
Do you want to continue (Y/n)?

Después de confirmar, deja tu shell abierta hasta que finalice la operación.

Una vez que la instancia principal ha sido configurada nuevamente, GKE actualiza los nodos de tu clúster de forma automática para usar la nueva dirección IP. Cada grupo de nodos se marca como “requiere recreación”. GKE no finalizará la rotación de IP hasta que finalice la recreación automática.

Cómo inspeccionar la rotación

Para supervisar la operación de actualización, ejecuta el siguiente comando:

gcloud container operations list --filter="UPGRADE_NODES RUNNING"

Este comando muestra el ID de la operación para la operación de actualización.

Para sondear la operación, pasa el ID de la operación al siguiente comando:

gcloud container operations wait [OPERATION_ID]

Los grupos de nodos se recrean uno a uno, y cada cual tiene su propia operación. Si tienen varios grupos de nodos, puedes usar las instrucciones de arriba para sondear cada operación.

Cómo actualizar clientes de API

Una vez que se ha iniciado la rotación de IP, debes actualizar todos los clientes de API que se encuentren fuera del clúster (como kubectl en máquinas de desarrolladores) para indicar una nueva dirección.

A fin de actualizar los clientes de API, ejecuta el siguiente comando para cada cliente:

gcloud container clusters get-credentials [CLUSTER_NAME]

Cómo finalizar la rotación

Para finalizar la rotación, ejecuta el siguiente comando:

gcloud container clusters update [CLUSTER_NAME] --complete-ip-rotation

El comando muestra el siguiente resultado:

This will complete the in-progress IP Rotation on cluster [CLUSTER_NAME].
The master will be updated to stop serving on the old IP address and only
serve on the new IP address. Make sure all API clients have been updated
to communicate with the new IP address (e.g. by running `gcloud container
clusters get-credentials --project [PROJECT-ID] --zone [COMPUTE-ZONE]
[CLUSTER-NAME]`). This operation is long-running and will
block other operations on the cluster (including delete) until it has
run to completion.

Este comando configura la instancia principal de clúster para entregar solo en su nueva dirección IP. Esto genera un tiempo de inactividad breve para la API del clúster.

Qué sigue

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...