Configurar un clúster para que lo gestione la API de GKE On-Prem

La API de GKE On-Prem es una API alojada en Google Cloud que te permite gestionar el ciclo de vida de tus clústeres on-premise mediante herramientas estándar: laGoogle Cloud consola, la CLI de Google Cloud o Terraform. Cuando creas un clúster con una de estas herramientas, la API almacena metadatos sobre el estado del clúster en la región Google Cloud que especificaste al crear el clúster. Estos metadatos te permiten gestionar el ciclo de vida del clúster con las herramientas estándar. Si quieres usar estas herramientas para ver los detalles de los clústeres o gestionar el ciclo de vida de los clústeres que se han creado con gkectl, debes registrar los clústeres en la API GKE On-Prem.

Terminología

Registrar un clúster te permite gestionar su ciclo de vida mediante la consola, gcloud CLI o Terraform.

Registrar un clúster en una flota es un proceso independiente de inscribir un clúster. Una flota es una agrupación lógica de clústeres de Kubernetes que puedes gestionar conjuntamente. Todos los clústeres de Google Distributed Cloud se registran en una flota en el momento de la creación del clúster. Cuando creas un clúster con gkectl, el clúster se registra en el Google Cloud proyecto que especifiques en el campo gkeConnect.projectID del archivo de configuración del clúster. Este proyecto se denomina proyecto host de la flota. Para obtener más información sobre las flotas, incluidos casos prácticos, prácticas recomendadas y ejemplos, consulta la documentación sobre la gestión de flotas.

Ver clústeres registrados

Todos tus clústeres de flota se muestran en las páginas Clústeres de GKE de la consola. De esta forma, obtendrás una vista general de toda tu flota y, en el caso de Google Distributed Cloud, podrás ver qué clústeres gestiona la API de GKE On-Prem.

Para ver tus clústeres de flota, sigue estos pasos:

  1. En la consola, ve a la página de clústeres de GKE.
    Ir a clústeres de GKE
  2. Selecciona el Google Cloud proyecto.
    • Si se muestra VMware en la columna Tipo, el clúster se gestiona mediante la API GKE On-Prem.
    • Si se muestra External en la columna Type, significa que el clúster no está gestionado por la API GKE On-Prem.

Requisitos

  • Los clústeres de usuarios deben tener la versión 1.11 o una posterior.
  • Los clústeres de administrador deben tener la versión 1.13 o una posterior.

  • Si no eres el propietario del proyecto, como mínimo, debes tener asignado el rol de gestión de identidades y accesos roles/gkeonprem.admin en el proyecto. Para obtener información sobre los permisos incluidos en este rol, consulta Roles de GKE On-Prem en la documentación de IAM.

Antes de empezar

  1. Configura gcloud CLI si es necesario.

    1. Si necesitas instalar la CLI de gcloud, consulta la documentación de la CLI de gcloud.

    2. Actualiza los componentes de gcloud CLI si es necesario:

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

    1. Habilita la API en tu proyecto:

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

      Sustituye PROJECT_ID por el ID del proyecto host de tu flota. Es el ID de proyecto que se configuró en la sección gkeconnect de tu archivo de configuración del clúster de administrador o archivo de configuración del clúster de usuario.

      Si aparece un error PERMISSION_DENIED, comprueba el ID del proyecto que has introducido. Si el ID de proyecto es correcto, ejecuta gcloud auth login para iniciar sesión en la CLI de Google Cloud con la cuenta que tiene acceso al proyecto.

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

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

      Sustituye REGION por us-west1 u otra región admitida.

  3. Si tu organización ha configurado una lista de permitidos que permite que el tráfico de las APIs de Google y otras direcciones pase por tu servidor proxy, añade lo siguiente a la lista de permitidos:

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

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

Registrar un clúster de usuarios

CLI de gcloud

Si es necesario, desplázate para rellenar el marcador de posición ADMIN_CLUSTER_NAME de la marca --admin-cluster-membership.

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

Haz los cambios siguientes:

  • USER_CLUSTER_NAME: el nombre del clúster de usuarios que quieras registrar.

  • PROJECT_ID El ID del proyecto host de tu flota.

  • ADMIN_CLUSTER_NAME: el clúster de administrador que gestiona el clúster de usuario. El nombre del clúster de administrador es el último segmento del nombre de clúster totalmente especificado que identifica de forma única el clúster en Google Cloud.

  • REGION: la región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Google Cloud Especifica us-west1 u otra región admitida. La región no se puede cambiar después de registrar el clúster.

gkectl

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

  1. Añade la siguiente sección al archivo de configuración del clúster de usuarios:

    gkeOnPremAPI:
      enabled:true
      location:REGION
    

    Sustituye REGION por la región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Google Cloud Especifica us-west1 u otra región admitida. La región no se puede cambiar después de registrar el clúster.

  2. Actualiza el clúster:

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG_FILE
    

    Haz los cambios siguientes:

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

    • USER_CLUSTER_CONFIG_FILE: la ruta del archivo de configuración del clúster de usuario.

Registrar un clúster de administradores

CLI de gcloud

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

Haz los cambios siguientes:

  • ADMIN_CLUSTER_NAME: el nombre del clúster de administrador que quieras registrar.

  • PROJECT_ID El ID de proyecto de tu proyecto host de flota.

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

  • REGION: la región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Google Cloud Especifica us-west1 u otra región admitida. Te recomendamos que uses la misma región que se haya configurado en stackdriver.clusterLocation. La región no se puede cambiar después de registrar el clúster.

gkectl

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

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

    gkeOnPremAPI:
      enabled:true
      location:REGION
    

    Sustituye REGION por la región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Google Cloud Especifica us-west1 u otra región admitida. Te recomendamos que uses la misma región que se haya configurado en stackdriver.clusterLocation. La región no se puede cambiar después de que se haya registrado el clúster.

  2. Actualiza el clúster:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG_FILE
    

    Haz los cambios siguientes:

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

    • ADMIN_CLUSTER_CONFIG_FILE: la ruta del archivo de configuración de tu clúster de administrador.

Obtener información sobre tu clúster

Una vez que el clúster se haya registrado, puedes usar los siguientes comandos para obtener información sobre tus clústeres:

Clúster de usuarios

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

Si define --location=-, se mostrarán todos los clústeres de todas las regiones. Si necesita reducir el ámbito de la lista, asigne a --location la región que especificó al registrar el clúster.

Clúster de administradores

  • Para describir un clúster de administrador, sigue estos pasos:
gcloud container vmware admin-clusters describe ADMIN_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=REGION
  • Para ver la lista de tus clústeres de administrador, sigue estos pasos:
gcloud container vmware admin-clusters list \
  --project=PROJECT_ID \
  --location=-

Si define --location=-, se mostrarán todos los clústeres de todas las regiones. Si necesita reducir el ámbito de la lista, asigne a --location la región que especificó al registrar el clúster.

Conéctate al clúster

Una vez que el clúster se haya registrado en la API de GKE On-Prem, debes elegir y configurar un método de autenticación para poder gestionar el clúster desde la consolaGoogle 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 las siguientes secciones: