Rotación de IP del plano de control

En esta página, se explica cómo realizar una rotación del 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

Sigue estos pasos a fin de prepararte para esta tarea:

  • Asegúrate de haber habilitado la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Asegúrate de haber instalado el SDK de Cloud.
  • Establece tu ID del proyecto predeterminado:
    gcloud config set project [PROJECT_ID]
  • Si trabajas con clústeres zonales, establece tu zona de procesamiento predeterminada:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Si trabajas con clústeres regionales, establece 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, se deben actualizar los clientes de la API del clúster (como las máquinas de desarrollo que usan la interfaz de línea de comandos de kubectl) para comenzar a comunicarse con la instancia principal a través de la dirección IP nueva.
  • Cuando finalizas la rotación, la instancia principal deja de entregar tráfico en la dirección IP anterior.

Realiza 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, debes ejecutar el comando siguiente:

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 dirección nueva. 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 se configura la instancia principal de nuevo, GKE actualiza los nodos de tu clúster de forma automática para usar la dirección IP nueva. Cada grupo de nodos está marcado como “requiere recreación”. GKE no finalizará la rotación de IP hasta que 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.

Actualiza clientes de la API

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

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

gcloud container clusters get-credentials [CLUSTER_NAME]

Finaliza 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.

Pasos siguientes

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

Enviar comentarios sobre...

Documentación de Kubernetes Engine