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

La API de GKE On-Prem te permite administrar los ciclos de vida de los clústeres locales con la consola deGoogle Cloud , Google Cloud CLI o Terraform. Cuando creas un clúster con estas herramientas, la API almacena los metadatos del clúster en la región de Google Cloud que elijas. Si creas clústeres con bmctl, debes inscribirlos en la API de GKE On-Prem para ver los detalles y administrar sus ciclos de vida a través de estas interfaces.

Inscribir un clúster es independiente de registrarlo en una flota. Todos los clústeres de Google Distributed Cloud se registran automáticamente en un proyecto host de flota en el momento de su creación. En la consola de Google Cloud , los clústeres registrados que administra la API de GKE On-Prem se muestran como Bare metal en la columna Tipo, mientras que los clústeres no inscritos aparecen como Externo.

Requisitos

  • Solo los clústeres de usuario y de administrador se pueden inscribir en la API de GKE On-Prem. No se admite la inscripción de clústeres híbridos ni independientes.
  • versión 1.13 o superior
  • No se admite la inscripción de clústeres de usuario creados en espacios de nombres personalizados. El archivo de configuración del clúster de usuario generado usa el espacio de nombres del clúster predeterminado con el formato cluster-CLUSTER_NAME. Si cambias el espacio de nombres cuando creas el clúster, se bloquearán los intentos de inscribirlo en la API de GKE On-Prem.

  • 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 del proyecto que se configuró en la sección gkeconnect de tu 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 admitida.

  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 servicio de la API de GKE On-Prem.

Inscribe un clúster de usuario

gcloud CLI

  1. Enumera las membresías de la flota de los clústeres registrados:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto host de tu flota.

    Toma nota de la región en la que el clúster de administrador que administra el clúster de usuario es miembro, ya que la necesitarás en el siguiente paso.

  2. Inscribe el clúster en la API de GKE On-Prem:

    gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
        --project=PROJECT_ID \
        --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/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.

    • MEMBERSHIP_REGION: Es la región en la que el clúster de administrador que administra el clúster de usuario es miembro. Puede ser global o una región de Google Cloud .

    • ADMIN_CLUSTER_NAME: Es el nombre del clúster de administrador que administra el clúster de usuario.

      ADMIN_CLUSTER_NAME, MEMBERSHIP_REGION y PROJECT_ID forman 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 admitida. 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 admitida. 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

  1. Enumera las membresías de la flota de los clústeres registrados:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto host de tu flota.

    Toma nota de la región en la que el clúster de administrador es miembro, ya que la necesitarás en el siguiente paso.

  2. Inscribe el clúster de administrador en la API de GKE On-Prem:

    gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID  \
        --admin-cluster-membership=projects/PROJECT_ID /locations/MEMBERSHIP_REGION /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 es el ID del proyecto host de tu flota.

  • MEMBERSHIP_REGION: Es la región en la que el clúster de administrador es miembro. Podría ser global o una región de Google Cloud .

    ADMIN_CLUSTER_NAME, MEMBERSHIP_REGION y PROJECT_ID forman 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 admitida. 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 admitida. 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.

Visualiza clústeres registrados

Todos tus clústeres de flotas se muestran en las páginas de 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.

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 usuario, haz lo siguiente:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Para enumerar tus clústeres de usuario, 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 enumerar 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 que el clúster se inscriba en 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 controlará el acceso al clúster desde la línea de comandos. Para obtener más información, consulta lo siguiente: