Configurar 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 con 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 con las herramientas estándar. Si deseas usar estas herramientas para ver los detalles de los clústeres 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

Inscribir un clúster te permite administrar su ciclo de vida con la console, gcloud CLI o Terraform.

Inscribir un clúster es un proceso independiente del registro de 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 Google Distributed Cloud se registran en una flota en el momento de su creación. 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 casos de uso, prácticas recomendadas y ejemplos, consulta la documentación de Administración de flotas.

Visualiza clústeres registrados

Todos tus clústeres de flotas se muestran en las páginas Clústeres de GKE de la consola. Esto te brinda una descripción general de toda tu flota y, para Google Distributed Cloud, 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 Clústeres de GKE.
    Ir a los clústeres de GKE
  2. Selecciona el proyecto de Google Cloud.
    • Si se muestra Bare metal 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.

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 híbridos y autónomos.
  • versión 1.13 o superior

  • Si no eres propietario de un proyecto, como mínimo, se te debe otorgar el rol de Identity and Access Management roles/gkeonprem.admin en el proyecto. Para obtener más detalles sobre los permisos incluidos en este rol, consulta Roles 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 gcloud CLI. Actualiza los componentes de gcloud CLI, si es necesario:

      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 tu flota. Este es el ID de proyecto que se configuró en la sección gkeconnect del archivo de configuración del clúster.

      Si recibes un error PERMISSION_DENIED, verifica el ID del proyecto que ingresaste. Si el ID del proyecto es correcto, ejecuta gcloud auth login para acceder a la 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, llama a un comando de la 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 alguna otra región compatible.

  3. Si tu organización configuró una lista de entidades permitidas que permite que el tráfico de las API 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 de 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 tu 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 el clúster en Google Cloud.

  • REGION: Es la región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan 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

Ejecuta los siguientes pasos en tu 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 se ejecuta la API de GKE On-Prem y se almacenan 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: la ruta 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 tu flota.

    ADMIN_CLUSTER_NAME y PROJECT_ID se usan para formar el nombre del clúster completamente especificado para la marca --admin-cluster-membership.

  • REGION: Es la región de Google Cloud en la que se ejecuta la API de GKE On-Prem y se almacenan 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

Ejecuta los siguientes pasos en tu 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 se ejecuta la API de GKE On-Prem y se almacenan 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: la ruta 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 tus clústeres:

Clúster de usuario

  • Para describir un clúster de usuarios, sigue estos pasos:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Para enumerar tus clústeres de usuarios, haz lo siguiente:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=-

Cuando configuras --location=-, significa que se deben enumerar todos los clústeres en todas las regiones. Si necesitas reducir el alcance de la lista, configura --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 obtener una lista de tus clústeres de administrador, haz lo siguiente:
gcloud container bare-metal admin-clusters list \
    --project=PROJECT_ID \
    --location=-

Cuando configuras --location=-, significa que se deben enumerar todos los clústeres en todas las regiones. Si necesitas reducir el alcance de la lista, configura --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 que puedas administrar el clúster desde la consola de Google Cloud. El método de autenticación que selecciones también controla el acceso al clúster desde la línea de comandos. Para obtener más información, consulta lo siguiente: