Crea un clúster de Autopilot

En esta página, se explica cómo crear un clúster de Google Kubernetes Engine (GKE) en el modo Autopilot. Autopilot es un modo de operación de GKE que te permite enfocarte en tus servicios y aplicaciones, mientras GKE administra tus nodos y la infraestructura. Cuando implementas tus cargas de trabajo, GKE aprovisiona, configura y administra los recursos y el hardware, incluso cuando escalas.

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 el comando gcloud components update para obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos que se describen en este documento.

Configura cuentas de servicio de IAM para GKE

GKE usa cuentas de servicio de IAM que se adjuntan a tus nodos para ejecutar tareas del sistema, como el registro y la supervisión. Como mínimo, estas cuentas de servicio de nodo deben tener el rol de cuenta de servicio de nodo predeterminado de Kubernetes Engine (roles/container.defaultNodeServiceAccount) en tu proyecto. De forma predeterminada, GKE usa la cuenta de servicio predeterminada de Compute Engine, que se crea automáticamente en tu proyecto, como la cuenta de servicio del nodo.

Para otorgar el rol roles/container.defaultNodeServiceAccount a la cuenta de servicio predeterminada de Compute Engine, completa los siguientes pasos:

Console

  1. Ve a la página Bienvenido:

    Ir a Bienvenida

  2. En el campo Número del proyecto, haz clic en Copiar en el portapapeles.
  3. Ve a la página IAM:

    Ir a IAM

  4. Haz clic en Grant access.
  5. En el campo Principales nuevas, especifica el siguiente valor:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Reemplaza PROJECT_NUMBER por el número de proyecto que copiaste.
  6. En el menú Selecciona un rol, selecciona el rol de Cuenta de servicio de nodo predeterminado de Kubernetes Engine.
  7. Haz clic en Guardar.

gcloud

  1. Busca tu Google Cloud número de proyecto:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Reemplaza PROJECT_ID con el ID del proyecto.

    El resultado es similar a este:

    12345678901
    
  2. Otorga el rol roles/container.defaultNodeServiceAccount a la cuenta de servicio predeterminada de Compute Engine:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Reemplaza PROJECT_NUMBER por el número de proyecto del paso anterior.

Crea un clúster de Autopilot

La información mínima que debes especificar cuando creas un clúster de Autopilot nuevo es un nombre, un proyecto (por lo general, el proyecto actual) y una región (por lo general, la región predeterminada para las herramientas de línea de comandos). Sin embargo, hay muchos más parámetros de configuración posibles, algunos de los cuales no se pueden cambiar después de crear el clúster. Asegúrate de comprender qué parámetros de configuración no se pueden cambiar después de crear el clúster y de elegir el parámetro de configuración correcto cuando crees un clúster si no quieres tener que volver a crearlo.

Puedes ver una descripción general de las opciones de configuración del clúster en Acerca de las opciones de configuración del clúster y una lista completa de las opciones posibles en las guías de referencia de gcloud container clusters create-auto y google_container_cluster de Terraform.

Puedes crear un clúster de Autopilot con Google Cloud CLI, la Google Cloud consola o Terraform:

gcloud

Ejecuta el siguiente comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster nuevo de Autopilot.
  • LOCATION: Es la región. para tu clúster.
  • PROJECT_ID: el ID de tu proyecto

Te recomendamos que especifiques una cuenta de servicio de IAM con privilegios mínimos que tus nodos puedan usar en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Usa una cuenta de servicio privilegio mínimo mínimos.

Para especificar una cuenta de servicio personalizada en gcloud CLI, agrega la siguiente marca a tu comando:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Reemplaza SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio con privilegios mínimos.

Para obtener una lista de otras opciones que puedes especificar, consulta la documentación de referencia de gcloud container clusters create-auto.

Console

Realiza las siguientes tareas:

  1. En la consola de Google Cloud , ve a la página Crea un clúster de Autopilot.

    Ir a Crea un clúster de Autopilot

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

  3. Ingresa el nombre de tu clúster.

  4. Selecciona una región para tu clúster.

    1. Opcional: 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 Google Cloud para crear y registrar un clúster nuevo y completar el registro del clúster.
  5. Para la sección Networking, consulta Cómo personalizar el aislamiento de la red para obtener instrucciones de configuración.

  6. De manera opcional, especifica una cuenta de servicio de IAM personalizada para tus nodos:
    1. En la página Configuración avanzada, expande la sección Seguridad.
    2. En el menú Cuenta de servicio, selecciona la cuenta de servicio que prefieras.

    Te recomendamos que especifiques una cuenta de servicio de IAM con privilegios mínimos que tus nodos puedan usar en lugar de la cuenta de servicio predeterminada de Compute Engine. Para obtener información sobre cómo crear una cuenta de servicio con privilegios mínimos, consulta Usa una cuenta de servicio privilegio mínimo mínimos.

  7. De manera opcional, configura otros parámetros de configuración, como los períodos de mantenimiento y las funciones de seguridad avanzadas.

  8. Haz clic en Crear.

Terraform

Para crear un clúster de Autopilot mediante Terraform, consulta el siguiente ejemplo:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-basic"
  location = "us-central1"

  enable_autopilot = true
}

Para crear un clúster de Autopilot que use una cuenta de servicio de IAM personalizada, sigue estos pasos:

  1. Crea una cuenta de servicio de IAM y otórgale el rol roles/container.defaultNodeServiceAccount en el proyecto:

    resource "google_service_account" "default" {
      account_id   = "gke-node-service-account"
      display_name = "GKE node service account"
    }
    
    data "google_project" "project" {
    }
    
    resource "google_project_iam_member" "default" {
      project = data.google_project.project.project_id
      role    = "roles/container.defaultNodeServiceAccount"
      member  = "serviceAccount:${google_service_account.default.email}"
    }
  2. Crea un clúster de Autopilot que use la nueva cuenta de servicio:

    resource "google_container_cluster" "default" {
      name     = "autopilot-custom-account"
      location = "us-central1"
    
      enable_autopilot = true
    
      cluster_autoscaling {
        auto_provisioning_defaults {
          service_account = google_service_account.default.email
        }
      }
    }

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

Crea un clúster de Autopilot con un canal de versiones y una versión específicos

De forma predeterminada, GKE inscribe nuevos clústeres de Autopilot en el canal de versiones regular, con la versión de GKE predeterminada en el canal. Puedes cambiar el canal de versiones cuando creas un clúster de Autopilot con gcloud CLI, la Google Cloud consola o Terraform.

También puedes configurar una versión específica de GKE cuando creas un clúster con gcloud CLI. Configurar la versión del clúster solo es útil si tienes un requisito de versión específico. Para establecer la versión del clúster, especifica marca --cluster-version en el comando gcloud container clusters create-auto. La versión que especifiques debe ser una versión de GKE disponible.

Las siguientes instrucciones para configurar el canal de versiones y la versión son opcionales. A menos que necesites una versión específica de GKE, te recomendamos que mantengas la configuración del canal de versiones predeterminado.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --release-channel=RELEASE_CHANNEL

Reemplaza RELEASE_CHANNEL por el nombre del canal de versiones del clúster. El valor predeterminado es Regular.

De manera opcional, especifica --cluster-version=CLUSTER_VERSION y reemplaza CLUSTER_VERSION por la versión de GKE para el clúster, como 1.29.4-gke.1043002. La versión que especifiques se aplica hasta que una versión más reciente se convierta en la predeterminada en tu canal de versiones. Luego, GKE actualiza de forma automática tu clúster a la versión predeterminada nueva. Si omites esta marca, GKE configura la versión en la versión predeterminada del canal de versiones.

Para verificar las versiones disponibles, consulta ¿Qué versiones están disponibles en un canal? Puedes ejecutar cualquier versión secundaria en tu canal seleccionado o elegir un subconjunto de versiones de parche de otros canales.

Console

Para configurar el canal de versiones cuando creas un clúster de Autopilot, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Crea un clúster de Autopilot.

    Ir a Crea un clúster de Autopilot

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

    1. Especifica un nombre.
    2. Selecciona una Región.
  3. En la sección Configuración avanzada, elige un canal de versiones.

  4. De manera opcional, configura otros parámetros para tu nuevo clúster.

  5. Haz clic en Crear.

Terraform

Para configurar el canal de versiones y la versión del clúster cuando creas un clúster de Autopilot mediante Terraform, consulta el siguiente ejemplo:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-release-channel"
  location = "us-central1"

  enable_autopilot = true

  release_channel {
    channel = "REGULAR"
  }
}

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

También puedes cambiar el canal de versiones y la versión de GKE para los clústeres existentes. Si deseas obtener instrucciones, consulta Actualiza un plano de control de forma manual y Selecciona un canal de versiones nuevo.

Conéctate al clúster

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Este comando configura kubectl para usar el clúster que creaste.

Console

  1. En la lista de clústeres, junto al clúster al que deseas conectarte, haz clic en Acciones y, luego, en Conectar.

  2. Haz clic en Ejecutar en Cloud Shell cuando se te solicite. El comando generado se copia en Cloud Shell, por ejemplo:

    gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
    
  3. Presiona Intro para ejecutar el comando.

Verifica el modo del clúster

Puedes verificar que tu clúster sea de Autopilot con gcloud CLI o la Google Cloud consola.

gcloud

Para verificar que tu clúster se haya creado en el modo Autopilot, ejecuta el siguiente comando:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION

El resultado contiene lo siguiente:

autopilot:
  enabled: true

Console

Para verificar que tu clúster se haya creado en el modo Autopilot, haz lo siguiente:

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

    Ir a Google Kubernetes Engine

  2. Busca tu clúster en la lista de clústeres. En Modo, debería decir Autopilot.

¿Qué sigue?