Crea un clúster regional


En este documento se muestra cómo crear un clúster regional estándar para aumentar la disponibilidad del plano de control y las cargas de trabajo del clúster durante las actualizaciones del clúster, el mantenimiento automático o una interrupción zonal.

Los clústeres de Autopilot de GKE siempre son regionales.

Descripción general

Cuando creas un clúster regional en lugar de un clúster zonal, el plano de control del clúster se replica en varias zonas en una región determinada. Para los grupos de nodos en un clúster regional, puedes especificar de forma manual las zonas en las que se ejecutan los grupos de nodos 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.

Los clústeres regionales replican recursos en varias zonas y consumen cuotas adicionales.

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 las instrucciones de las siguientes secciones, se explica cómo hacer lo siguiente:

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Kubernetes Engine de Google.
  • Habilitar la API de Kubernetes Engine de Google
  • Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta gcloud components update para obtener la versión más reciente.

Crear un clúster regional con un grupo de nodos de zona única

En las siguientes instrucciones, se muestra cómo crear un clúster regional con un grupo de nodos que opera en una zona única dentro de la región. El plano de control del clúster se replica en varias zonas de la región especificada, pero los nodos se encuentran en la zona única y no se replican en otras zonas.

Puedes usar la CLI de gcloud, la consola de Google Cloud o Terraform para crear el clúster.

Si estás desarrollando aplicaciones de GKE con Cloud Code para VS Code, intenta crear clústeres con Cloud Code.

gcloud

Para crear un clúster regional con la CLI de gcloud, usa uno de los siguientes comandos y reemplaza las siguientes variables:

  • CLUSTER_NAME: Es el nombre del clúster regional nuevo.
  • COMPUTE_REGION: Es la región para tu clúster, como us-central1.
  • COMPUTE_ZONE: la zona del grupo de nodos, como us-central1-a. La zona debe estar en la misma región que el plano de control del clúster.
  • CHANNEL: Es el tipo de canal de versiones, que puede ser rapid, regular, stable o None. De forma predeterminada, el clúster se inscribe en el canal de versiones regular, a menos que se especifique al menos una de las siguientes marcas: --cluster-version, --release-channel, --no-enable-autoupgrade, y --no-enable-autorepair.
  • VERSION: Es la versión que deseas especificar para el clúster.

En los siguientes comandos, puedes usar de forma opcional la marca --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com para especificar una cuenta de servicio de IAM diferente que los nodos del primer grupo de nodos del clúster usan en lugar de la cuenta de servicio predeterminada de Compute Engine. Esta marca es opcional, pero te recomendamos que crees una cuenta de servicio con privilegios mínimos para que tus nodos no tengan más privilegios que los necesarios.

Usa un canal de versiones específico:

Para crear un clúster nuevo con un canal de versiones específico, ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel CHANNEL

Usa una versión específica:

Para crear un clúster nuevo con una versión de clúster específica, ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --cluster-version VERSION

Usa la versión predeterminada para clústeres no inscritos en un canal de versiones:

A fin de crear un clúster nuevo con la versión predeterminada para clústeres que no están inscritos en un canal de versiones, no necesitas especificar una versión del clúster, pero debes configurar el canal de versiones como None:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel None

Ejemplo

Con el siguiente comando, se crea un clúster regional inscrito en el canal de versiones regular (predeterminado), con tres nodos (predeterminado) en la zona us-west1-c:

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c

Ejemplo

Con el siguiente comando, se crea un clúster regional inscrito en el canal de versiones regular (predeterminado), con dos nodos ubicados en la zona us-west1-c:

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c \
    --num-nodes 2

Consola

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. En la sección Aspectos básicos del clúster, completa lo siguiente:

    1. Ingresa el nombre de tu clúster.
    2. En Tipo de ubicación, selecciona Regional y, luego, la región que desees para el clúster.
    3. Si deseas anular las ubicaciones de nodos predeterminadas (por ejemplo, para ejecutarlas en una zona única), selecciona la casilla de verificación Especificar las ubicaciones predeterminada de nodos y, luego, elige las zonas en las que deseas que se ejecuten los grupos de nodos.

    4. Elige un canal de versiones. De manera opcional, puedes seleccionar Sin canal de la lista desplegable, sin embargo, te recomendamos que revises cuándo no inscribir tu clúster en un canal de versiones antes de elegir esta opción. GKE actualiza de forma automática los clústeres que no están en un canal de versiones con versiones del canal estable.

    5. Opcional: Especifica una versión del plano de control en la lista desplegable Versión.

  4. Opcional (disponible con GKE Enterprise): Si deseas registrar tu clúster nuevo en una flota, ve a la sección Registro de flotas y sigue las instrucciones de la consola de Google Cloud para crear y registrar un clúster nuevo a fin de completar el registro del clúster.

  5. En el panel de navegación, en Grupos de nodos, haz clic en default-pool.

  6. En la sección Detalles del grupo de nodos, completa lo siguiente:

    1. Ingresa un Nombre para el Grupo de nodos predeterminado.
    2. Opcional: Elige la Versión del nodo.
    3. Ingresa la Cantidad de nodos que deseas crear en el clúster. Debes tener una cuota de recursos disponible para los nodos y sus recursos (como las rutas de firewall).
    4. Opcional: Puedes elegir inhabilitar las actualizaciones automáticas de nodos, pero te recomendamos que revises las consideraciones antes de inhabilitar las actualizaciones automáticas de nodos antes de elegir esta opción.
  7. En el panel de navegación, en Grupos de nodos, haz clic en Nodos.

  8. En la lista desplegable Tipo de imagen, selecciona la imagen de nodo.

  9. Elige la Configuración de la máquina predeterminada para usar en las instancias. Cada tipo de máquina se factura de manera diferente. El tipo de máquina predeterminado es e2-medium. Para obtener información sobre el precio del tipo de máquina, consulta la hoja de precios de tipos de máquinas.

  10. En la lista desplegable Tipo de disco de arranque, selecciona el tipo de disco deseado.

  11. Ingresa el Tamaño de disco de arranque.

  12. Opcional: En el panel de navegación, en Grupos de nodos, haz clic en Seguridad.

  13. Opcional: En la lista desplegable Cuenta de servicio, selecciona una cuenta de servicio de Identity and Access Management (IAM) para que tus aplicaciones la usen cuando llamen a las API de Google Cloud. Te recomendamos que uses una cuenta de servicio con privilegios mínimos en lugar de usar la cuenta de servicio predeterminada, para que tus nodos no tengan más privilegios los necesarios.

  14. Haz clic en Crear.

Terraform

Para crear un clúster regional con un grupo de nodos de zona única mediante Terraform, consulta el siguiente ejemplo:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-single-zone"
  location           = "us-west1"
  node_locations     = ["us-west1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Si deseas obtener más información sobre el uso de Terraform, consulta Compatibilidad con Terraform para GKE.

Interactúa con un clúster mediante kubectl

Después de crear un clúster, debes configurar kubectl para poder interactuar con el clúster de la línea de comandos.

Crear un clúster regional con un grupo de nodos multizonal

En las siguientes instrucciones, se muestra cómo crear un clúster regional con un grupo de nodos multizonal, que es la configuración predeterminada. El plano de control y los nodos del clúster se replican en varias zonas de la región especificada.

Puedes usar la CLI de gcloud, la consola de Google Cloud o Terraform para crear el clúster.

Si estás desarrollando aplicaciones de GKE con Visual Studio Code, intenta crear clústeres con Cloud Code.

gcloud

Para crear un clúster regional con la CLI de gcloud, usa uno de los siguientes comandos y reemplaza las siguientes variables:

  • CLUSTER_NAME: Es el nombre del clúster regional nuevo.
  • COMPUTE_REGION: Es la región para tu clúster, como us-central1.
  • CHANNEL: Es el tipo de canal de versiones, que puede ser rapid, regular, stable o None. De forma predeterminada, el clúster se inscribe en el canal de versiones regular si no se especifican las siguientes marcas: --cluster-version, --release-channel, --no-enable-autoupgrade y --no-enable-autorepair.
  • VERSION: Es la versión que deseas especificar para el clúster.
  • Para las regiones con más de tres zonas o en las que se prefieren menos zonas, puedes usar la marca opcional --node-locations a fin de anular las zonas predeterminadas en las que se replican los nodos.

En los siguientes comandos, puedes usar de forma opcional la marca --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com para especificar una cuenta de servicio de IAM diferente que los nodos del primer grupo de nodos del clúster usan en lugar de la cuenta de servicio predeterminada de Compute Engine. Esta marca es opcional, pero te recomendamos que crees y uses una cuenta de servicio con privilegios mínimos para que tus nodos no tengan más privilegios que los necesarios.

Usa un canal de versiones específico:

Para crear un clúster nuevo con un canal de versiones específico, ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel CHANNEL

Usa una versión específica:

Para crear un clúster nuevo con una versión de clúster específica, ejecuta el siguiente comando:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --cluster-version VERSION

Usa la versión predeterminada para clústeres no inscritos en un canal de versiones:

A fin de crear un clúster nuevo con la versión predeterminada para clústeres que no están inscritos en un canal de versiones, no necesitas especificar una versión del clúster, pero debes configurar el canal de versiones como None:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel None

Ejemplo

Con el siguiente comando, se crea un clúster regional inscrito en el canal de versiones regular, con nueve nodos en us-west1 (tres zonas con tres nodos cada una, que es la configuración predeterminada):

gcloud container clusters create my-regional-cluster --region us-west1

Ejemplo

Con el siguiente comando, se crea un clúster regional inscrito en el canal de versiones regular con seis nodos (tres zonas con dos nodos cada una, especificado por --num-nodes):

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --num-nodes 2

Ejemplo

Con el siguiente comando, se crea un clúster regional inscrito en el canal de versiones regular, con seis nodos en dos zonas (dos zonas, especificadas por --node-locations, con tres nodos cada una):

gcloud container clusters create my-regional-cluster \
    --region us-central1 \
    --node-locations us-central1-b,us-central1-c

Consola

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. En la sección Aspectos básicos del clúster, completa lo siguiente:

    1. Ingresa el nombre de tu clúster.
    2. En Tipo de ubicación, selecciona Regional y, luego, la región que desees para el clúster.
    3. Si deseas anular las ubicaciones de nodos predeterminadas (por ejemplo, para ejecutarlas en una zona única), selecciona la casilla de verificación Especificar las ubicaciones predeterminada de nodos y, luego, elige las zonas en las que deseas que se ejecuten los grupos de nodos.

    4. Elige un canal de versiones. De manera opcional, puedes seleccionar Sin canal de la lista desplegable, sin embargo, te recomendamos que revises cuándo no inscribir tu clúster en un canal de versiones antes de elegir esta opción. GKE actualiza de forma automática los clústeres que no están en un canal de versiones con versiones del canal estable.

    5. Opcional: Especifica una versión del plano de control en la lista desplegable Versión.

  4. Opcional (disponible con GKE Enterprise): Si deseas registrar tu clúster nuevo en una flota, ve a la sección Registro de flotas y sigue las instrucciones de la consola de Google Cloud para crear y registrar un clúster nuevo a fin de completar el registro del clúster.

  5. En el panel de navegación, en Grupos de nodos, haz clic en default-pool.

  6. En la sección Detalles del grupo de nodos, completa lo siguiente:

    1. Ingresa un Nombre para el Grupo de nodos predeterminado.
    2. Opcional: Elige la Versión del nodo.
    3. Ingresa la Cantidad de nodos que deseas crear en el clúster. Debes tener una cuota de recursos disponible para los nodos y sus recursos (como las rutas de firewall).
    4. Opcional: Puedes elegir inhabilitar las actualizaciones automáticas de nodos, pero te recomendamos que revises las consideraciones antes de inhabilitar las actualizaciones automáticas de nodos antes de elegir esta opción.
  7. En el panel de navegación, en Grupos de nodos, haz clic en Nodos.

  8. En la lista desplegable Tipo de imagen, selecciona la imagen de nodo.

  9. Elige la Configuración de la máquina predeterminada para usar en las instancias. Cada tipo de máquina se factura de manera diferente. El tipo de máquina predeterminado es e2-medium. Para obtener información sobre el precio del tipo de máquina, consulta la hoja de precios de tipos de máquinas.

  10. En la lista desplegable Tipo de disco de arranque, selecciona el tipo de disco deseado.

  11. Ingresa el Tamaño de disco de arranque.

  12. Opcional: En el panel de navegación, en Grupos de nodos, haz clic en Seguridad.

  13. Opcional: En la lista desplegable Cuenta de servicio, selecciona una cuenta de servicio de Identity and Access Management (IAM) para que tus aplicaciones la usen cuando llamen a las API de Google Cloud. Te recomendamos que uses una cuenta de servicio con privilegios mínimos en lugar de usar la cuenta de servicio predeterminada, para que tus nodos no tengan más privilegios los necesarios.

  14. Haz clic en Crear.

Terraform

Para crear un clúster regional con un grupo de nodos multizonal mediante Terraform, consulta el siguiente ejemplo:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-multi-zone"
  location           = "us-central1"
  node_locations     = ["us-central1-b", "us-central1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Si deseas obtener más información sobre el uso de Terraform, consulta Compatibilidad con Terraform para GKE.

Interactúa con un clúster mediante kubectl

Después de crear un clúster, debes configurar kubectl para poder interactuar con el clúster de la línea de comandos.

¿Qué sigue?