Clústeres regionales


En esta página, se explica cómo funcionan los clústeres regionales en Google Kubernetes Engine (GKE).

Los clústeres regionales aumentan la disponibilidad de un clúster mediante la replicación del plano de control y los nodos en varias zonas de una región.

Los clústeres regionales proporcionan todas las ventajas de los clústeres multizonales con los siguientes beneficios adicionales:

  • Resiliencia ante fallas en zonas únicas: Los clústeres regionales están disponibles en una región, en lugar de estar disponibles solo en una zona de una región. Si solo una zona deja de estar disponible, el plano de control y tus recursos no se verán afectados.
  • Actualizaciones del plano de control continuo, cambios de tamaño de los planos de control y tiempo de inactividad reducido por las fallas del plano de control. Con las réplicas redundantes del plano de control, los clústeres regionales proporcionan una mayor disponibilidad de la API de Kubernetes, por lo que puedes acceder a tu plano de control incluso durante las actualizaciones.

Los clústeres de GKE Autopilot siempre son regionales. Si usas GKE Standard, puedes crear clústeres regionales, zonales o multizonales. Para obtener información sobre los diferentes tipos de disponibilidad del clúster, consulta Acerca de las opciones de configuración del clúster.

En los clústeres regionales, incluidos los clústeres de Autopilot, el plano de control se replica en tres zonas de una región. GKE replica de forma automática los nodos en las zonas de la misma región. En los grupos de nodos y los clústeres de Standard, puedes especificar de forma manual las zonas en las que se ejecutan los nodos. Todas las zonas deben estar dentro de la misma región que el plano de control.

Después de crear un clúster regional, no puedes cambiarlo a un clúster zonal.

Cómo funcionan los clústeres regionales

Los clústeres regionales replican el plano de control y los nodos del clúster en varias zonas dentro de una sola región. Por ejemplo, con la configuración predeterminada, un clúster regional en la región us-east1 crea réplicas del plano de control y los nodos en tres zonas us-east1: us-east1-b, us-east1-c y us-east1-d. En el caso de una interrupción de la infraestructura, las cargas de trabajo de Autopilot continúan ejecutándose y GKE rebalancea los nodos de forma automática. Si usas clústeres estándar, debes volver a balancear los nodos de forma manual o mediante el escalador automático de clústeres.

Limitaciones

  • El grupo de nodos predeterminado creado para los clústeres de Standard regionales consta de nueve nodos (tres por zona) distribuidos de manera uniforme entre tres zonas de una región. Para los clústeres públicos, esto consume nueve direcciones IP. Si lo deseas, puedes reducir la cantidad de nodos a uno por zona. Las cuentas de Cloud Billing recién creadas reciben solo ocho direcciones IP por región, por lo que es posible que debas solicitar un aumento de cuotas para las direcciones IP regionales en uso, según el tamaño de tu clúster regional. Si tienes muy pocas direcciones IP en uso disponibles, la creación del clúster fallará.

  • Para ejecutar GPU en tu clúster regional, elige una región que tenga al menos una zona en la que estén disponibles las GPU solicitadas. Debes usar la marca --node-locations cuando creas el grupo de nodos para especificar las zonas que contienen las GPU solicitadas.

    Si la región que eliges no tiene al menos una zona en la que estén disponibles las GPU solicitadas, es posible que veas un error como el siguiente:

    ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=
        (1) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-c.
        (2) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-a.
    

    Para obtener una lista completa de las regiones y zonas donde están disponibles las GPU, consulta GPU en Compute Engine.

  • Las zonas de los grupos de nodos del modo Standard deben estar en la misma región que el plano de control del clúster. Si es necesario, puedes cambiar las zonas de un clúster, lo que hará que todos los nodos nuevos y existentes abarquen esas zonas.

Precios

Todos los clústeres de Autopilot son regionales y están sujetos al modelo de precios de Autopilot.

En el modo estándar, los clústeres regionales requieren más cuotas regionales de tu proyecto que un clúster zonal o multizonal similar. Asegúrate de comprender tus cuotas y precios de Standard antes de usar clústeres regionales. Si encuentras un error Insufficient regional quota to satisfy request for resource, tu solicitud excede la cuota disponible en la región actual.

Además, se te cobra por el tráfico de nodo a nodo en las zonas. Por ejemplo, si una carga de trabajo que se ejecuta en una zona necesita comunicarse con una carga de trabajo en una zona diferente, el tráfico entre zonas genera un costo. Para obtener más información sobre la salida entre zonas en la misma región (por GB), consulta la página de precios de Compute Engine.

Almacenamiento continuo en clústeres regionales

Los discos persistentes zonales son recursos zonales y los discos persistentes regionales son recursos multizonales. Cuando se agrega almacenamiento persistente, a menos que se especifique una zona, GKE asigna el disco a una sola zona aleatoria. Para obtener información sobre cómo controlar las zonas, consulta Zonas en discos persistentes.

Ajuste de escala automático de clústeres regionales

Ten en cuenta las siguientes consideraciones cuando uses el escalador automático de clústeres para realizar un ajuste de escala automático en grupos de nodos en clústeres del modo Standard regionales.

También puedes obtener más información sobre los límites del ajuste de escala automático para clústeres regionales o sobre cómo el escalador automático del clúster realiza el balanceo entre zonas.

Estas consideraciones solo se aplican a los clústeres del modo Standard con el escalador automático de clústeres.

Aprovisiona en exceso los límites de escalamiento

Para mantener la capacidad en el caso improbable de falla zonal, puedes permitir que GKE aprovisione en exceso tus límites de escalamiento a fin de garantizar un nivel mínimo de disponibilidad, incluso cuando algunas zonas no estén disponibles.

Por ejemplo, si aprovisionas en exceso un clúster de tres zonas al 150% (exceso de capacidad del 50%), puedes asegurarte de que el 100% del tráfico se enrute a zonas disponibles si se pierde un tercio de la capacidad del clúster. En el ejemplo anterior, esto se lograría si especificas un máximo de seis nodos por zona en lugar de cuatro. Si una zona falla, el clúster escala a 12 nodos en las zonas restantes.

De manera similar, si aprovisionas en exceso un clúster de dos zonas al 200%, puedes asegurarte de que el 100% del tráfico se redirija si se pierde la mitad de la capacidad del clúster.

Puedes obtener más información sobre el escalador automático del clúster o leer las Preguntas frecuentes sobre ajuste de escala automático en la documentación de Kubernetes.

¿Qué sigue?