Adjunta clústeres de terceros a Google Cloud (generación anterior)

Los clústeres conectados de GKE te permiten ver tus clústeres de Kubernetes existentes en la consola de Google Cloud junto con tus clústeres de GKE y habilitar varias funciones de GKE Enterprise en ellos, incluido el control de configuración centralizado con el Sincronizador de configuración.

Clústeres de Kubernetes compatibles

Puedes adjuntar a tu flota cualquier clúster de Kubernetes que cumpla con las especificaciones y que incluya nodos x86, y visualizarlo en la consola de Google Cloud con tus clústeres de GKE.

Google validó los siguientes tipos y versiones de clústeres. Para obtener información sobre las funciones de GKE Enterprise compatibles con los clústeres adjuntos, consulta Componentes de Anthos y compatibilidad con múltiples nubes.

Tipos de clústeres adjuntos Versiones de Kubernetes
Red Hat OpenShift Kubernetes Engine (OKE) 4.9 y 4.10 1.23, 1.24
Red Hat OpenShift Container Platform (OCP) 4.9 y 4.10 1.23, 1.24
Rancher Kubernetes Engine (RKE) 1.3.8 1.23, 1.24
KIND 0.12 1.23, 1.24
K3s 1.20 1.20
K3d 4.4.3 1.20

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Anthos.

    Habilita la API

  5. Instala Google Cloud CLI.
  6. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  9. Habilita la API de Anthos.

    Habilita la API

  10. Instala Google Cloud CLI.
  11. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  12. Verifica los requisitos de registro de flotas y asegúrate de tener los permisos pertinentes y las APIs habilitadas para registrar un clúster.
  13. Consulta la guía Antes de comenzar para conocer los requisitos específicos para conectar clústeres fuera de Google Cloud, incluidos los pasos de configuración especiales que puedes necesitar para el tipo de clúster.

Registra los clústeres adjuntos

Debes registrar todos los clústeres que desees usar con GKE Enterprise en la flota de tu proyecto. Una flota es una manera de agrupar y normalizar clústeres de Kubernetes de manera lógica, lo que facilita la administración de la infraestructura. Los clústeres de la misma flota se pueden explorar y administrar juntos en laConsola de Google Cloud, y muchos componentes de GKE Enterprise y Google Cloud usan conceptos de la flota, comosimilitud de identidad y similitud de espacio de nombres para simplificar el trabajo con varios clústeres. Puedes obtener mucha más información sobre las flotas y la funcionalidad que habilitan en nuestra Guía de administración de flotas.

Tienes derecho a habilitar y usar las funciones de GKE Enterprise en estos clústeres. Puedes administrar algunas de ellas a nivel de la flota desde la página de funciones de GKE. Los cargos de GKE Enterprise solo se aplican a tus clústeres registrados.

Configura la identidad

Todos los clústeres adjuntos requieren una identidad para que el agente de Connect los use cuando se autentique en Google. Si tu clúster cumple con los requisitos, puedes registrarlo con la función Workload Identity de la flota habilitada para la autenticación. Los clústeres con esta función habilitada usan identidades del grupo de Workload Identity de toda la flota. Puedes obtener más información sobre cómo funciona Workload Identity de flota y las ventajas de usarlo, consulta Usa Workload Identity de flota.

Si no puedes usar la función Workload Identity de la flota, el registro de un clúster adjunto requiere una cuenta de servicio de Google Cloud para la autenticación. Recomendamos crear una cuenta de servicio nueva para cada clúster que desees conectar. Si deseas crear una cuenta de servicio para un clúster con las funciones adecuadas, sigue las instrucciones en Crea una cuenta de servicio de Google Cloud con gcloud. Después de crear tu cuenta de servicio, puedes usar el archivo JSON con las credenciales de la cuenta de servicio (archivo de claves) para registrar tu clúster, como se describe en la siguiente sección.

Registra tu clúster

Te recomendamos obtener el estado de la membresía de tu clúster después de registrarlo para asegurarte de que esté conectado correctamente a Google Cloud. Consulta nuestra guía de solución de problemas si tienes algún problema con el registro.

gcloud

Ejecuta el siguiente comando:

gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH

Reemplaza lo siguiente:

  • MEMBERSHIP_NAME: Es el nombre de membresía que elijas y que se usa para representar de forma única el clúster registrado en la flota.
  • SERVICE_ACCOUNT_KEY_PATH: Es la ruta de acceso del archivo local al archivo JSON de clave privada de la cuenta de servicio que se descargó como parte de los requisitos. Esta clave de la cuenta de servicio se almacena como un secreto llamado creds-gcp en el espacio de nombres gke-connect.
  • KUBECONFIG_CONTEXT: Es el contexto de clúster del clúster que se registra como aparece en el archivo kubeconfig. Puedes obtener este valor desde la línea de comandos si ejecutas kubectl config current-context.
  • KUBECONFIG_PATH: Es la ruta de archivo local en la que se almacena tu kubeconfig que contiene una entrada para el clúster que se registra. El valor predeterminado es $KUBECONFIG, si esa variable de entorno está configurada, de lo contrario, el valor predeterminado será $HOME/.kube/config.

Registra un clúster conectado con Workload Identity de flota

Para registrar un clúster conectado con Workload Identity de flota habilitado, ejecuta el siguiente comando. Para obtener más información sobre qué tipos de clústeres adjuntos pueden usar esta función y otros requisitos adicionales, consulta Requisitos previos del clúster adjunto.

gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --enable-workload-identity \
   --has-private-issuer

Console

Genera un comando de registro

Puedes usar la consola de Google Cloud para generar un comando de registro gcloud a fin de registrar tu clúster (solo con una cuenta de servicio).

Para registrar un clúster, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.

    Ir a los clústeres de GKE

  2. Haz clic en Registrar un clúster existente.

  3. Haz clic en Agregar clúster externo.

  4. Ingresa el nombre del clúster que deseas registrar en el campo Nombre del clúster.

  5. Opcional: Agrega etiquetas de Google Cloud a tu clúster.

  6. Haz clic en Generar comandos de registro.

  7. En Cloud Shell o donde sea que hayas guardado las credenciales de tu cuenta de servicio, edita y ejecuta el comando de gcloud que se muestra en la página. Debes especificar los siguientes valores:

    • El CLUSTER_CONTEXT es el contexto del clúster tal como aparece en el archivo kubeconfig. Puedes obtener este valor desde la línea de comandos si ejecutas kubectl config current-context.
    • El KUBECONFIG_PATH es la ruta de acceso del archivo local donde se almacena tu archivo kubeconfig. El valor predeterminado es $KUBECONFIG, si esa variable de entorno está configurada, de lo contrario, el valor predeterminado es $HOME/.kube/config.
    • El LOCAL_KEY_PATH es la ruta al archivo de claves de tu cuenta de servicio.

    Cuando ejecutas este comando, se implementa el agente de Connect en tu clúster de usuarios. Cuando el agente de Connect se conecta a Google Cloud y tu clúster está registrado, se muestra un mensaje de éxito en la página.

  8. Haz clic en Configurar etiquetas o en Omitir si no estableciste ninguna etiqueta.

Opciones avanzadas de registro (solo línea de comandos)

Descargar el manifiesto del agente de Connect

Para descargar el manifiesto de instalación del agente de Connect sin implementarlo, por ejemplo, si deseas examinar o editar el manifiesto antes de la instalación, pasa la marca --manifest-output-file al comando gcloud container fleet memberships register. Por ejemplo:

--manifest-output-file=[MANIFEST_FILE_PATH]

[MANIFEST_FILE_PATH] es la ruta de acceso del archivo local en la que deseas almacenar el manifiesto de instalación del agente de Connect.

El uso de esta opción no implementará el agente de Connect en el clúster. Para implementar el agente de Connect, aplica el manifiesto descargado de forma manual a tu clúster.

Usa un servidor proxy

Para configurar un servidor proxy, pasa la marca --proxy al comando gcloud container fleet memberships register. Por ejemplo:

--proxy=[URL]

En el ejemplo anterior, [URL] es la dirección del proxy.

El agente de Connect solo admite proxies HTTP y HTTPS basados en CONNECT, y acepta direcciones IP y nombres de host. Asegúrate de especificar el protocolo correspondiente al tipo de proxy en la URL. Por ejemplo, para pasar un nombre de host HTTPS, haz lo siguiente:

--proxy=https://mycorpproxy.com:443

A menos que especifiques lo contrario, el agente de Connect usa el puerto 3128 para el proxy.

Si tu proxy requiere autorización, asegúrate de pasar tus credenciales, como se muestra a continuación:

--proxy=http://user:password@10.10.10.10:8888

Instala el agente de Connect en un clúster con nodos de Windows y Linux

El agente de Connect debe ejecutarse en un nodo de Linux. Si realizas la instalación en un clúster mixto con nodos de Linux y Windows, asegúrate de que el agente de Connect esté implementado en un nodo de Linux. Para ello, agrega un selector de nodos apropiado a la definición de implementación.

Ejecuta el siguiente comando para actualizar la implementación con el selector de nodos adecuado:

kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect

Para validar que la actualización se ejecutó correctamente, ejecuta el siguiente comando:

kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect

El comando debería mostrar lo siguiente

{"kubernetes.io/os":"linux"}
.

Soluciona problemas

Si tienes algún problema durante esta configuración, consulta la guía de solución de problemas de creación de flotas.

Habilita las funciones de GKE Enterprise en clústeres conectados

Después de registrar los clústeres, puedes habilitar las funciones de GKE Enterprise disponibles en ellos para tus aplicaciones. Estas funciones solo son compatibles con nuestros tipos de clústeres validados. Para ver las versiones de funciones actuales que admiten estos tipos, consulta Compatibilidad con versiones y actualizaciones.

En las siguientes guías, se muestra cómo habilitar las funciones compatibles en tus clústeres:

Para obtener conjuntos de documentación completos para todos los componentes de GKE Enterprise, incluidos los instructivos, el material de referencia y más, consulta los componentes de GKE Enterprise.

Accede a los clústeres adjuntos

Después de registrar un clúster conectado, este aparece en las páginas de clústeres de y Anthos y GKE en la consola de Google Cloud. Sin embargo, para ver más detalles, como nodos y cargas de trabajo, debes acceder a tu cuenta y autenticarte en el clúster. Para acceder a los clústeres adjuntos desde la consola de Google Cloud, sigue las instrucciones en Accede a clústeres desde la consola de Google Cloud. Según el método de autenticación que elijas, es posible que tú o un administrador de la plataforma necesiten realizar alguna configuración adicional antes de que tú u otros usuarios puedan acceder al clúster.

Para acceder a los clústeres adjuntos desde la línea de comandos mediante Google Cloud Identity, consulta Conéctate a clústeres registrados con la puerta de enlace de Connect.

Para la autenticación en los clústeres adjuntos mediante tu proveedor de identidad de terceros existente (solo clústeres de EKS en AWS, función de versión preliminar), consulta Configura Anthos Identity Service para una flota y Accede a clústeres con Anthos Identity Service.

Próximos pasos