Clústeres regionales


En esta página, se explica cómo funcionan los clústeres regionales en Google Kubernetes Engine (GKE). Puedes crear un clúster regional o ver más información sobre los diferentes tipos de clústeres.

Descripción general

A diferencia de los clústeres zonales que tienen un solo plano de control en una sola zona, los clústeres regionales aumentan la disponibilidad del plano de control de ambos. y sus nodos mediante su replicación en varias zonas de una región. Esto proporciona las ventajas de los clústeres multizonales, con los siguientes beneficios adicionales:

  • Si una zona de una región experimenta una interrupción, el plano de control del clúster permanece accesible siempre que dos réplicas del plano de control permanezcan disponibles.
  • Durante el mantenimiento del clúster, como una actualización de este, solo hay una réplica del plano de control que no está disponible a la vez, y el clúster permanece operativo.

El plano de control se replica en tres zonas de una región. Para los grupos de nodos, puedes especificar manualmente las zonas en las que se ejecutan los grupos de nodos del clúster o puedes usar la configuración predeterminada, que replica cada grupo de nodos en tres zonas de la región del plano de control. Todas las zonas deben estar dentro de la misma región que el plano de control del clúster.

Usa clústeres regionales para ejecutar tus cargas de trabajo de producción, ya que ofrecen mayor disponibilidad que los zonales.

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 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, tus cargas de trabajo continúan ejecutándose, y los nodos se pueden volver a balancear de forma manual o mediante el escalador automático del clúster.

Estos son algunos de los beneficios de usar clústeres regionales:

  • Resistencia a fallas en una zona: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, tu plano de control y tus recursos no se verán afectados.
  • Actualizaciones del plano de control continuo, cambio de tamaño del plano de control y reducción del tiempo de inactividad por fallas en el 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.

Limitaciones

  • De forma predeterminada, los clústeres regionales constan de nueve nodos (tres por zona) distribuidos de manera uniforme entre tres zonas de una región. 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 con tres zonas en las que haya GPU disponibles. También puedes especificar zonas con la marca --node-locations cuando creas el clúster.

    Si la región que eliges no tiene tres zonas donde las GPU están disponibles, 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.

  • No puedes crear grupos de nodos en zonas ajenas a las zonas del clúster. Sin embargo, puedes cambiar las zonas de un clúster, lo que hará que todos los nodos nuevos y existentes abarquen esas zonas.

Precios

El uso de clústeres regionales requiere más cuotas regionales de tu proyecto que un clúster zonal o multizonal similar. Asegúrate de comprender tus cuotas y precios de GKE 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 del clúster para realizar un ajuste de escala automático en grupos de nodos en clústeres 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.

Sobreaprovisiona 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?