Crea un clúster zonal


En este tema se muestra cómo crear un clúster zonal estándar con las funciones predeterminadas habilitadas en Google Kubernetes Engine (GKE). Los clústeres zonales tienen un solo plano de control en una sola zona. Según tus requisitos de disponibilidad, puedes optar por distribuir los nodos para tu clúster zonal en una sola zona o en varias zonas.

Para obtener información sobre los diferentes tipos de disponibilidad del clúster, consulta Acerca de las opciones de configuración del clúster.

De una sola zona frente a multizonal

Un clúster de zona única tiene un solo plano de control que se ejecuta en una zona. Este plano de control administra las cargas de trabajo en los nodos que se ejecutan en la misma zona. Si ejecutas una carga de trabajo en una sola zona, esta carga de trabajo no estará disponible en caso de una interrupción zonal.

Un nodo de clúster multizonal se ejecuta en varias zonas, pero tiene solo una réplica del plano de control. Si ejecutas una carga de trabajo en varias zonas y hay una interrupción zonal, la carga de trabajo se interrumpe en esa zona, pero permanece disponible en otras.

Si necesitas más disponibilidad para el panel de control, considera crear un clúster regional en su lugar. En un clúster regional, el plano de control se replica en varias zonas en una región.

Antes de comenzar

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

  • Habilita la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • 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.
  • Los clústeres multizonales usan más recursos que los clústeres de una zona; Si creas un clúster multizonal, asegúrate de tener las cuotas adecuadas.
  • Asegúrate de tener los permisos correctos para crear clústeres. Como mínimo, debes ser un administrador de clústeres de Kubernetes Engine.
  • Si deseas registrar tu clúster nuevo en una flota (solo acceso limitado), asegúrate de tener las APIs y los permisos necesarios.

Crea un clúster zonal

Puedes crear un clúster zonal con gcloud CLI, la consola de Google Cloud o Terraform.

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 zonal con la CLI de gcloud, usa uno de los siguientes comandos.

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster nuevo.
  • 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.
  • COMPUTE_ZONE: Es la zona de procesamiento del plano de control del clúster.
  • VERSION: Es la versión que deseas especificar para el clúster.
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: son las zonas en las que se crean los nodos. Puedes especificar tantas zonas como sea necesario para tu clúster. Todas las zonas deben estar en la misma región que el plano de control del clúster, especificado por la marca --zone. En el caso de los clústeres zonales, --node-locations debe contener la zona principal del clúster.

Cuando creas un clúster, puedes usar de forma opcional la marca --service-account para especificar una cuenta de servicio de IAM diferente a la que usan los nodos del primer grupo de nodos del clúster, en lugar de la cuenta de servicio predeterminada de Compute Engine. Te recomendamos que crees y uses una cuenta de servicio con privilegios mínimos.

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 \
    --release-channel CHANNEL \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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 \
    --cluster-version VERSION \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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

Para crear un clúster nuevo con la versión predeterminada para clústeres no 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 \
    --release-channel None \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Ejemplo

El siguiente comando crea un clúster de varias zonas llamado example-cluster, en el que el plano de control del clúster se encuentra en la zona us-central-a y hay tres ubicaciones de nodos. El clúster está inscrito en el canal de versiones regular.

Cuando se omite la marca --num-nodes, el número predeterminado de nodos por zona creados por el clúster es tres. Debido a que se especificaron tres zonas, este comando crea un clúster de nueve nodos con tres nodos cada uno en us-central1-a, us-central1-b y us-central1-c.

gcloud container clusters create example-cluster \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Console

Para crear un clúster zonal con la consola de Google Cloud, realiza las siguientes tareas:

  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 Zonal y, luego, selecciona la zona deseada para tu clúster.
    3. Si creas un clúster multizonal, selecciona la casilla de verificación Especificar las ubicaciones predeterminadas de nodos y, luego, elige las zonas adicionales en las que deseas que se ejecute el clúster.

    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 la cuenta de servicio predeterminada.

  14. Haz clic en Crear.

Terraform

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

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-single-zone"
  location           = "us-central1-a"
  initial_node_count = 1

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

Para crear un clúster zonal con un grupo de nodos multizona 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.

Plantillas de clúster

GKE antes admitía las plantillas para clústeres. Esas plantillas se quitaron de la consola de Google Cloud, pero todavía puedes acceder a ellas desde los siguientes vínculos:

¿Qué sigue?

Pruébalo tú mismo

Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de GKE en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar GKE gratis