En este documento se describen tres métodos para conectarse a un clúster adjunto conforme a la CNCF:
- El método 1 se conecta a tu clúster como usuario de Google.
- El método 2 se conecta a tu clúster como miembro de un grupo de Google.
- El método 3 se conecta a tu clúster como usuario o grupo que no es de Google.
Estos tres métodos para conectarse a un clúster registrado se habilitan mediante un servicio de Google llamado pasarela de conexión. Para obtener más información sobre la pasarela de conexión, consulta el artículo Conectarse a clústeres registrados con la pasarela de conexión.
Esta página está dirigida a administradores de TI y operadores que quieran configurar, monitorizar y gestionar la infraestructura de la nube. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de los usuarios de GKE. Google Cloud
Antes de empezar
Antes de llevar a cabo cualquiera de los métodos, asegúrate de haber adjuntado tu clúster. Para obtener más información, consulta Adjuntar un clúster conforme a la CNCF.
Antes de continuar con el método 2 o el método 3, debes cumplir otros requisitos. Para obtener más información, consulta las siguientes secciones.
Antes de empezar con el método 2
Para usar el método 2 para conectarte al clúster adjunto, asegúrate de que cumples los siguientes requisitos:
- La versión más reciente de Google Cloud CLI. Para obtener información sobre cómo actualizar la herramienta de línea de comandos gcloud, consulta
gcloud components update
. - Versiones 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 o posteriores de clústeres adjuntos.
Antes de empezar con el método 3
Para usar el método 3 de conexión a tu clúster adjunto, asegúrate de que cumples los siguientes requisitos:
Asegúrate de que tienes la versión más reciente de Google Cloud CLI. Para obtener información sobre cómo actualizar gcloud CLI, consulta
gcloud components update
.Asegúrate de que estás usando las versiones 1.27.0-gke.5 o 1.28.0-gke.2 de clústeres adjuntos, o una posterior.
Configura la federación de identidades de trabajo (para que los usuarios o grupos externos puedan usar la API de clústeres adjuntos de GKE):
- Si eres usuario de Azure, consulta Configurar la federación de identidades de empleados con Azure AD.
- Si usas Okta, consulta Configurar la federación de identidades de los empleados con Okta.
- Si los usuarios proceden de otras plataformas, consulta Configurar la federación de identidades de trabajadores.
Opcional: Asigna a tus usuarios o grupos externos los roles de gestión de identidades y accesos (IAM) adecuados. Este paso solo es necesario si quieres conceder a usuarios o grupos la capacidad de crear o actualizar clústeres. No es necesario para acceder a un clúster.
Ten en cuenta que los roles son conjuntos de permisos. Cuando asignas un rol a una entidad (usuario, grupo o cuenta de servicio), le das a esa entidad todos los permisos que contiene el rol.
Usuarios
En el caso de usuarios concretos, debe asignar el rol
gkemulticloud.admin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE"
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto de Google Cloud .WORKFORCE_POOL_ID
: el ID que identifica de forma única tu grupo de identidades de Workforce en Google Cloud. Cuando dé formato al ID, asegúrese de seguir las directrices recomendadas que se indican en la documentación de gestión de identidades y accesos, en la sección Parámetros de consulta.SUBJECT_VALUE
: el ID que identifica de forma única a un usuario externo. Por ejemplo, el ID puede ser una dirección de correo electrónico, comoalex@cymbalgroup.com
.
Grupos
En el caso de los grupos, debes asignar el rol
gkemulticloud.admin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu proyecto de Google Cloud .WORKFORCE_POOL_ID
: el ID que identifica de forma única tu grupo de identidades de Workforce en Google Cloud. Cuando dé formato al ID, asegúrese de seguir las directrices recomendadas que se indican en la documentación de IAM, en la sección Parámetros de consulta.GROUP_ID
: ID que identifica de forma única a un grupo externo.
Para obtener más información sobre los roles y permisos de API necesarios para los clústeres adjuntos de GKE, consulta Roles y permisos de API.
Método 1: Conectarse al clúster adjunto como usuario de Google
Para conectarte a un clúster adjunto como usuario de Google, sigue estos pasos:
Habilita las APIs
connectgateway
ycloudresourcemanager
con el siguiente comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Sustituye
PROJECT_ID
por el ID de tu Google Cloud proyecto.Configura y aplica reglas de control de acceso basado en roles de forma automática o manual:
Método automático: si, al adjuntar el clúster, especificó usuarios de Google en el campo
--admin-users
del comandogcloud container attached clusters register
, estos usuarios recibieron automáticamente privilegios de administrador en el clúster. Por lo tanto, puedes saltarte este paso.Método manual: configura manualmente las reglas de RBAC para usuarios de Google concretos creando un manifiesto YAML de Kubernetes. Para obtener más información, consulta Usar la autorización RBAC.
Obtén un archivo de configuración
kubeconfig
de Kubernetes con el siguiente comando:gcloud container fleet memberships get-credentials CLUSTER_NAME
Sustituye
CLUSTER_NAME
por el nombre del clúster cuyas credenciales de conexión quieras obtener.
Una vez que hayas completado estos pasos, podrás conectarte al clúster adjunto como usuario de Google.
Método 2: Conectarse al clúster adjunto con Grupos de Google
Este método te permite conectarte a un clúster adjunto como miembro de un grupo de Google. Es decir, concedes acceso a un clúster a un grupo de Google y cualquier usuario que pertenezca a ese grupo de Google tendrá acceso al clúster.
Usar Grupos de Google para conceder acceso al clúster es más eficiente que crear autorizaciones independientes para cada usuario. Por ejemplo, supongamos que quieres añadir 50 usuarios al grupo Administrador del clúster, 75 usuarios al grupo Editor y 100 usuarios al grupo Lector. El método 1, descrito en este documento, requiere que crees reglas de RBAC en el archivo de manifiesto de Kubernetes para 225 usuarios. Sin embargo, el segundo método te ahorra tiempo porque solo tienes que crear reglas de RBAC para tres grupos de Google.
Para autorizar a los grupos de Google a conectarse a un clúster adjunto, sigue estos pasos:
Habilita las APIs
connectgateway
ycloudresourcemanager
con el siguiente comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Sustituye
PROJECT_ID
por el ID de tuGoogle Cloud proyecto.Crea un grupo llamado
gke-security-groups
en el dominio de tu proyecto (si no existe).Crea uno o varios subgrupos en el grupo
gke-security-groups
para la autenticación de clústeres.Añade usuarios a los subgrupos que acabas de crear.
Asigna roles de gestión de identidades y accesos a grupos de Google:
Selecciona el rol adecuado para un grupo. Este rol determina cómo interactúa el grupo con la pasarela de conexión. El rol puede ser uno de los siguientes:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oroles/gkehub.gatewayReader
. Ten en cuenta que aquí no estás concediendo permisos sobre el clúster adjunto. Ese paso se realiza más adelante. Aquí solo se determina cómo pueden manipular los usuarios del grupo la pasarela de conexión.Ejecuta el siguiente comando para asignar el rol al grupo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto de GoogleGROUP_NAME
: el nombre del grupo al que se va a conceder accesoDOMAIN
: tu dominio de Google WorkspaceGATEWAY_ROLE
: el rol seleccionado. Por ejemplo,roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oroles/gkehub.gatewayReader
.
En un manifiesto de Kubernetes, define qué tipo de permiso tiene cada grupo de Google en el clúster. Por ejemplo, el siguiente manifiesto otorga el rol de administrador de clúster al grupo de Google
cluster-admin-team
:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
Guarda el manifiesto en un archivo y aplícalo al clúster ejecutando el siguiente comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Haz los cambios siguientes:
KUBECONFIG_PATH
: la ruta al archivokubeconfig
.FILENAME
: el nombre del archivo de manifiesto que has creado.
Una vez que hayas completado estos pasos, los usuarios que pertenezcan a determinados grupos de Google podrán conectarse al clúster adjunto. En el ejemplo proporcionado, los usuarios que pertenecen al grupo de Google cluster-admin-team
pueden conectarse al clúster como administradores.
Método 3: Dar acceso a identidades externas al adjuntar o actualizar un clúster
El método 3 concede acceso a identidades externas cuando adjuntas o actualizas un clúster.
Para conectar un clúster conforme a la CNCF, sigue los pasos que se indican en Conectar un clúster conforme a la CNCF. Para actualizar un clúster conforme a la CNCF, sigue los pasos que se indican en Actualizar un clúster conforme a la CNCF.
Cuando ejecutes el comando de gcloud CLI para registrar o actualizar un clúster, especifica los parámetros admin-users
o admin-groups
, o ambos, de la siguiente manera:
gcloud container attached clusters [register|update] CLUSTER_NAME \
--admin-users=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE \
--admin-groups=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre de tu clúster.WORKFORCE_POOL_ID
: el ID que identifica de forma única tu grupo de identidades de Workforce en Google Cloud. Cuando dé formato al ID, asegúrese de seguir las directrices recomendadas que se indican en la documentación de IAM, en la sección Parámetros de consulta.SUBJECT_VALUE
: el ID que identifica de forma única a un usuario externo. Por ejemplo, el ID puede ser una dirección de correo electrónico, comoalex@cymbalgroup.com
.GROUP_ID
: ID que identifica de forma única a un grupo externo.
Siguientes pasos
Para gestionar el clúster desde la consola con tu identidad de Cloud, consulta Iniciar sesión con tu identidad de Google Cloud . Google Cloud