Configura un clúster para que lo administre la API de GKE On-Prem

La API de GKE On-Prem es una API alojada en Google Cloud que te permite administrar el ciclo de vida de tus clústeres locales mediante herramientas estándar: la consola de Google Cloud, Google Cloud CLI o Terraform. Cuando creas un clúster con una de estas herramientas, la API almacena metadatos sobre el estado de tu clúster en la región de Google Cloud que especificaste cuando creaste el clúster. Estos metadatos te permiten administrar el ciclo de vida del clúster mediante las herramientas estándar. Si deseas usar estas herramientas para ver los detalles del clúster o administrar el ciclo de vida de los clústeres que se crearon con bmctl, debes inscribir los clústeres en la API de GKE On-Prem.

Terminología

La inscripción de un clúster te permite administrar su ciclo de vida mediante la consola, gcloud CLI o Terraform.

La inscripción de un clúster es un proceso independiente del proceso para registrar un clúster en una flota. Una flota es una agrupación lógica de clústeres de Kubernetes que puedes administrar juntos. Todos los clústeres de GKE en Bare Metal se registran en una flota en el momento de la creación del clúster. Cuando creas un clúster con bmctl, este se registra en el proyecto de Google Cloud que especificas en el campo gkeConnect.projectID del archivo de configuración del clúster. Este proyecto se conoce como el proyecto host de la flota. Para obtener más información sobre las flotas, incluidos los casos de uso, prácticas recomendadas y ejemplos, consulta la documentación sobre la administración de flotas.

Visualiza clústeres registrados

Todos los clústeres de tu flota se muestran en las páginas Clústeres de GKE Enterprise y Clústeres de GKE en la consola. Esto te brinda una descripción general de toda tu flota y, para GKE en Bare Metal, te permite ver qué clústeres administra la API de GKE On-Prem.

Para ver los clústeres de tu flota, haz lo siguiente:

  1. En la consola, ve a la página de clústeres de GKE Enterprise.
    Ir a la página Clústeres de GKE Enterprise
  2. Selecciona el proyecto de Google Cloud.
    • Si Bare Metal se muestra en la columna Tipo, la API de GKE On-Prem administra el clúster.
    • Si se muestra Externo en la columna Tipo, la API de GKE On-Prem no administra el clúster.
Lista de clústeres de GKE Enterprise

Requisitos

  • Solo los clústeres de usuario y administrador se pueden inscribir con la API de GKE On-Prem. No se admite la inscripción de clústeres independientes y híbridos.
  • Versión 1.13 o posterior.

  • Si no eres propietario de un proyecto, como mínimo, debes tener la función de Identity and Access Management roles/gkeonprem.admin en el proyecto. Para obtener detalles sobre los permisos incluidos en esta función, consulta Funciones de GKE On-Prem en la documentación de IAM.

Antes de comenzar

  1. Configura gcloud CLI si es necesario.

    1. Si necesitas instalar gcloud CLI, consulta la documentación de la CLI de gcloud. Si es necesario, actualiza los componentesgcloud CLId:

      gcloud components update
      
  2. Sigue estos pasos para activar y usar la API de GKE On-Prem:

    1. Habilita la API en tu proyecto:

      gcloud services enable \
          --project PROJECT_ID \
          gkeonprem.googleapis.com
      

      Reemplaza PROJECT_ID por el ID del proyecto host de la flota. Este es el ID del proyecto que se configuró en la sección gkeconnect del archivo de configuración de clúster.

      Si recibes un error PERMISSION_DENIED, vuelve a verificar el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecuta gcloud auth login para acceder a Google Cloud CLI con la cuenta que tiene acceso al proyecto.

    2. Si es la primera vez que habilitas la API de GKE On-Prem en tu proyecto, debes inicializar la API. Para ello, puedes llamar a un comando de gcloud CLI que muestre las versiones disponibles que puedes usar para crear un clúster:

      gcloud container bare-metal clusters query-version-config \
          --project=PROJECT_ID \
          --location=REGION
      

      Reemplaza REGION por us-west1 o por otra región compatible.

  3. Si tu organización configuró una lista de entidades permitidas que permite que el tráfico de las APIs de Google y otras direcciones pasen a través de tu servidor proxy, agrega lo siguiente a la lista de entidades permitidas:

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

    Estos son los nombres de los servicios para la API de GKE On-Prem.

Inscribe un clúster de usuario

gcloud CLI

Asegúrate de desplazarte si es necesario para completar el marcador de posición ADMIN_CLUSTER_NAME para la marca --admin-cluster-membership.

gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
    --project=PROJECT_ID \
    --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
    --location=REGION

Reemplaza lo siguiente:

  • USER_CLUSTER_NAME: Es el nombre del clúster de usuario que deseas inscribir.

  • PROJECT_ID El ID del proyecto host de la flota.

  • ADMIN_CLUSTER_NAME: Es el clúster de administrador que administra el clúster de usuario. El nombre del clúster de administrador es el último segmento del nombre del clúster especificado por completo que identifica de forma única al clúster en Google Cloud.

  • REGION: Es la región de Google Cloud en la que la API de GKE On-Prem ejecuta y almacena los metadatos del clúster. Especifica us-west1 o alguna otra región compatible. No se puede cambiar la región después de inscribir el clúster.

bmctl

Sigue estos pasos en la estación de trabajo de administrador.

  1. Agrega la siguiente sección al archivo de configuración del clúster de usuario:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Reemplaza REGION por la región de Google Cloud en la que la API de GKE On-Prem ejecuta y almacena los metadatos del clúster. Especifica us-west1 o alguna otra región compatible. No se puede cambiar la región después de inscribir el clúster.

  2. Actualiza el clúster:

    bmctl update cluster -c USER_CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Reemplaza lo siguiente:

    • USER_CLUSTER_NAME: Es el nombre del clúster de usuario que se actualizará.

    • ADMIN_CLUSTER_KUBECONFIG: Es la ruta de acceso del archivo kubeconfig del clúster de administrador.

Inscribe un clúster de administrador

gcloud CLI

Asegúrate de desplazarte si es necesario para completar el marcador de posición ADMIN_CLUSTER_NAME para la marca --admin-cluster-membership.

gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
    --location=REGION

Reemplaza lo siguiente:

  • ADMIN_CLUSTER_NAME: Es el nombre del clúster de administrador que deseas inscribir.

  • PROJECT_ID: El ID del proyecto host de la flota.

    ADMIN_CLUSTER_NAME y PROJECT_ID se usan a fin de formar el nombre del clúster especificado por completo para la marca --admin-cluster-membership.

  • REGION: Es la región de Google Cloud en la que la API de GKE On-Prem ejecuta y almacena los metadatos del clúster. Especifica us-west1 o alguna otra región compatible. No se puede cambiar la región después de inscribir el clúster.

bmctl

Sigue estos pasos en la estación de trabajo de administrador.

  1. Agrega la siguiente sección al archivo de configuración del clúster de administrador:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Reemplaza REGION por la región de Google Cloud en la que la API de GKE On-Prem ejecuta y almacena los metadatos del clúster. Especifica us-west1 o alguna otra región compatible. No se puede cambiar la región después de inscribir el clúster.

  2. Actualiza el clúster:

    bmctl update cluster -c ADMIN_CLUSTER_NAME \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Reemplaza lo siguiente:

    • ADMIN_CLUSTER_NAME: Es el nombre del clúster de administrador que se actualizará.

    • ADMIN_CLUSTER_KUBECONFIG: Es la ruta de acceso del archivo kubeconfig del clúster de administrador.

Obtén información sobre tu clúster

Después de inscribir el clúster, puedes usar los siguientes comandos para obtener información sobre ellos:

Clúster de usuario

  • Para describir un clúster de usuario, haz lo siguiente:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Para generar una lista de los clústeres de usuario, haz lo siguiente:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=-

Cuando configuras --location=-, significa que se enumeran todos los clústeres en todas las regiones. Si necesitas reducir el alcance de la lista, establece --location en la región que especificaste cuando inscribiste el clúster.

Clúster de administrador

  • Para describir un clúster de administrador, haz lo siguiente:
gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Para enumerar los clústeres de administrador, haz lo siguiente:
gcloud container bare-metal admin-clusters list \
    --project=PROJECT_ID \
    --location=-

Cuando configuras --location=-, significa que se enumeran todos los clústeres en todas las regiones. Si necesitas reducir el alcance de la lista, establece --location en la región que especificaste cuando inscribiste el clúster.

Conéctate al clúster

Después de inscribir el clúster con la API de GKE On-Prem, debes elegir y configurar un método de autenticación para poder administrar el clúster desde la consola de Google Cloud. El método de autenticación que seleccionas también controla el acceso al clúster desde la línea de comandos. Para obtener más información, consulta lo siguiente: