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ándares: la
Google Cloud consola, 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 Google Cloud región que especificaste cuando creaste el clúster.
Estos metadatos te permiten administrar el ciclo de vida del clúster con las herramientas estándares. 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
Inscribir un clúster te permite administrar su ciclo de vida con la consola, gcloud CLI o Terraform.
La inscripción de 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 la creación del clúster. Cuando creas un clúster con bmctl, el clúster
se registra en el Google Cloud proyecto que especificas en el
gkeConnect.projectID campo 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, las prácticas recomendadas y los ejemplos,
consulta la documentación de Administración de Fleet.
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:
-
En la consola, ve a la página Clústeres de GKE.
Ir a los clústeres de GKE -
Selecciona el Google Cloud proyecto.
- Si se muestra Bare metal en la columna Type, 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 de administrador se pueden inscribir en la API de GKE On-Prem. No se admite la inscripción de clústeres híbridos y 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 predeterminado del clúster con el formato
cluster-CLUSTER_NAME. Si cambias el espacio de nombres cuando creas el clúster, se bloquean los intentos de inscribir el clúster en la API de GKE On-Prem.Si no eres propietario de un proyecto, debes tener, como mínimo, el rol de Identity and Access Management
roles/gkeonprem.adminen 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
Configura gcloud CLI, si es necesario.
Si necesitas instalar gcloud CLI, consulta la documentación de gcloud CLI. Actualiza los componentes de gcloud CLI, si es necesario:
gcloud components update
Sigue los pasos que se indican a continuación para activar y usar la API de GKE On-Prem:
Habilita la API en tu proyecto:
gcloud services enable \ --project PROJECT_ID \ gkeonprem.googleapis.comReemplaza
PROJECT_IDpor el ID del proyecto host de tu flota. Este es el ID del proyecto que se configuró en lagkeconnectsección de su 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, ejecutagcloud auth loginpara acceder a la Google Cloud CLI con la cuenta que tiene acceso al proyecto.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=REGIONReemplaza
REGIONporus-west1o alguna otra región compatible.
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.comgkeonprem.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
Enumera las membresías de la flota de los clústeres registrados:
gcloud container fleet memberships list \ --project=PROJECT_IDReemplaza
PROJECT_IDpor 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.
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=REGIONReemplaza 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: la región en la que el clúster de administrador que administra el clúster de usuario es miembro. Puede serglobalo una Google Cloud región.ADMIN_CLUSTER_NAME: el nombre del clúster de administrador que administra el clúster de usuario.ADMIN_CLUSTER_NAME,MEMBERSHIP_REGIONyPROJECT_IDforman el nombre del clúster completamente especificado para la marca--admin-cluster-membership.REGION: la Google Cloud región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Especificaus-west1o 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.
Agrega la siguiente sección al archivo de configuración del clúster de usuario:
gkeOnPremAPI: enabled: true location: REGIONReemplaza
REGIONpor la Google Cloud región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Especificaus-west1o alguna otra región compatible. No se puede cambiar la región después de inscribir el clúster.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
Enumera las membresías de la flota de los clústeres registrados:
gcloud container fleet memberships list \ --project=PROJECT_IDReemplaza
PROJECT_IDpor 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.
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_IDel ID del proyecto host de tu flota.MEMBERSHIP_REGION: la región en la que el clúster de administrador es miembro. Puede serglobalo una Google Cloud región.ADMIN_CLUSTER_NAME,MEMBERSHIP_REGIONyPROJECT_IDforman el nombre del clúster completamente especificado para la marca--admin-cluster-membership.REGION: la Google Cloud región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Especificaus-west1o 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.
Agrega la siguiente sección al archivo de configuración del clúster de administrador:
gkeOnPremAPI: enabled: true location: REGIONReemplaza
REGIONpor la Google Cloud región en la que se ejecuta la API de GKE On-Prem y se almacenan los metadatos del clúster. Especificaus-west1o alguna otra región compatible. No se puede cambiar la región después de inscribir el clúster.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 usuario, haz lo siguiente:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
--project=PROJECT_ID \
--location=REGION
- Para enumerar los 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 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 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 en la API de GKE On-Prem, debes elegir y configurar un método de autenticación para poder administrar el clúster desde la Google Cloud consola. 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: