Este documento describe tres métodos para conectarse a su clúster conectado a EKS:
- El método n.° 1 se conecta a su clúster como usuario de Google .
- El método n.° 2 se conecta a su clúster como miembro de un grupo de Google .
- El método n.° 3 se conecta a su clúster como un usuario o grupo que no es de Google.
Estos tres métodos de conexión a un clúster registrado se habilitan mediante un servicio de Google llamado Connect Gateway. Para obtener más información sobre Connect Gateway, consulte Conexión a clústeres registrados con Connect Gateway .
Esta página está dirigida a administradores y operadores de TI que desean configurar, supervisar y administrar la infraestructura en la nube. Para obtener más información sobre los roles comunes y las tareas de ejemplo que mencionamos en Google Cloud contenido, consulte Roles y tareas de usuario comunes de GKE Enterprise .
Antes de empezar
Antes de realizar cualquiera de los métodos, asegúrese de haber conectado el clúster. Para obtener más información, consulte "Conectar el clúster EKS" .
Antes de continuar con los métodos n.° 2 o n.° 3, debe cumplir con requisitos adicionales. Para más detalles, consulte las siguientes secciones.
Antes de comenzar el método n.º 2
Para utilizar el método n.° 2 de conexión a su clúster adjunto, asegúrese de tener los siguientes requisitos previos:
- Última versión de la CLI de Google Cloud. Para obtener información sobre cómo actualizar la CLI de Google Cloud, consulta
gcloud components update
. - Versiones del clúster adjunto 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2 o posteriores.
Antes de comenzar el método n.º 3
Para utilizar el método n.° 3 de conexión a su clúster adjunto, asegúrese de tener los siguientes requisitos previos:
Asegúrate de tener la última versión de Google Cloud CLI. Para obtener información sobre cómo actualizar la CLI de Google Cloud, consulta
gcloud components update
.Asegúrese de estar utilizando las versiones del clúster adjunto 1.27.0-gke.5, 1.28.0-gke.2 o posteriores.
Configurar la federación de identidad de la fuerza laboral (para que los usuarios o grupos externos puedan usar la API de clústeres adjuntos de GKE):
- Para los usuarios de Azure, consulte Configurar la federación de identidades de fuerza laboral con Azure AD .
- Para los usuarios de Okta, consulte Configurar la federación de identidad de la fuerza laboral con Okta .
- Para usuarios de otras plataformas, consulte Configurar la federación de identidad de la fuerza laboral .
Opcional: Asigne a sus usuarios o grupos externos los roles de Administración de Identidad y Acceso (IAM) adecuados. Este paso solo es necesario si desea otorgar a los usuarios o grupos la capacidad de crear o actualizar clústeres; no es necesario simplemente para acceder a un clúster .
Tenga en cuenta que los roles son conjuntos de permisos. Al asignar un rol a una entidad (usuario, grupo o cuenta de servicio), le otorga todos los permisos que contiene el rol.
Usuarios
Para usuarios individuales, 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"
Reemplace lo siguiente:
-
PROJECT_ID
: el ID de su Google Cloud proyecto. -
WORKFORCE_POOL_ID
: el ID que identifica de forma única su grupo de identidades de fuerza laboral en Google CloudAl formatear el ID, asegúrese de seguir las pautas recomendadas que se proporcionan en la documentación de IAM en 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
Para los grupos, debe 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"
Reemplace lo siguiente:
-
PROJECT_ID
: el ID de su Google Cloud proyecto. -
WORKFORCE_POOL_ID
: el ID que identifica de forma única su grupo de identidades de fuerza laboral en Google CloudAl formatear el ID, asegúrese de seguir las pautas recomendadas que se proporcionan en la documentación de IAM en Parámetros de consulta . -
GROUP_ID
: un ID que identifica de forma única a un grupo externo.
Para obtener más información sobre qué roles y permisos de API son necesarios para los clústeres conectados a GKE, consulte Roles y permisos de API .
-
Método n.° 1: conéctese a su clúster adjunto como usuario de Google
Para conectarse a un clúster adjunto como usuario de Google, siga estos pasos:
Habilite las API
connectgateway
ycloudresourcemanager
con el siguiente comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Reemplace
PROJECT_ID
con el ID de su Google Cloudproyecto.Configurar y aplicar reglas RBAC de forma automática o manual:
Método automático : Si, al conectar el clúster, especificó usuarios de Google en el campo
--admin-users
del comandogcloud container attached clusters register
, estos usuarios obtuvieron automáticamente privilegios de administrador en el clúster. Por lo tanto, puede omitir este paso.Método manual : Configure manualmente las reglas RBAC para usuarios individuales de Google mediante la creación de un manifiesto YAML de Kubernetes. Para obtener más información, consulte Uso de la autorización RBAC .
Obtenga un archivo de configuración
kubeconfig
de Kubernetes con el siguiente comando:gcloud container fleet memberships get-credentials CLUSTER_NAME
Reemplace
CLUSTER_NAME
con el nombre del clúster cuyas credenciales de conexión desea.
Una vez que haya realizado estos pasos, podrá conectarse a su clúster adjunto como usuario de Google.
Método n.° 2: conéctese a su 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. En otras palabras, concedes acceso a un grupo de Google a un clúster y todos los usuarios que pertenecen a ese grupo tienen acceso al clúster.
Usar Grupos de Google para otorgar acceso al clúster es más eficiente que crear autorizaciones independientes para usuarios individuales. Por ejemplo, supongamos que desea agregar 50 usuarios al grupo Administrador del clúster, 75 usuarios al grupo Editor y 100 usuarios al grupo Lector. El método n.° 1 , descrito en este documento, requiere la creación de reglas RBAC en el archivo de manifiesto de Kubernetes para 225 usuarios. Sin embargo, el método n.° 2 le ahorra tiempo, ya que solo necesita crear reglas RBAC para tres grupos de Google.
Para autorizar a los grupos de Google a conectarse a un clúster adjunto, siga estos pasos:
Habilite las API
connectgateway
ycloudresourcemanager
con el siguiente comando:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Reemplace
PROJECT_ID
con el ID de suGoogle Cloud proyecto.Crea un grupo llamado
gke-security-groups
como un grupo en el dominio de tu proyecto si no existe.Cree uno o más subgrupos dentro del grupo
gke-security-groups
para la autenticación del clúster.Agregue usuarios a los subgrupos recién creados.
Otorgar roles de IAM a Grupos de Google:
Seleccione un rol adecuado para un grupo. Este rol determina cómo interactúa el grupo con la puerta de enlace de conexión. El rol puede ser uno de los siguientes:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
oroles/gkehub.gatewayReader
. (Tenga en cuenta que aquí no se otorgan permisos sobre el clúster conectado; ese paso se describe más adelante. Aquí, simplemente se determina cómo los usuarios del grupo pueden manipular la puerta de enlace de conexión).Ejecute el siguiente comando para otorgar el rol al grupo:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Reemplace lo siguiente:
-
PROJECT_ID
: su ID de proyecto de Google -
GROUP_NAME
: el nombre del grupo al que se concederá acceso -
DOMAIN
: su dominio de Google Workspace -
GATEWAY_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 al grupo de Google
cluster-admin-team
el rol de administrador del clúster: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
Guarde el manifiesto en un archivo y aplíquelo al clúster ejecutando el siguiente comando:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Reemplace lo siguiente:
-
KUBECONFIG_PATH
: la ruta a su archivokubeconfig
. -
FILENAME
: el nombre del archivo de manifiesto que usted creó.
-
Una vez realizados estos pasos, los usuarios de ciertos grupos de Google podrán conectarse al clúster asociado. En el ejemplo, los usuarios del grupo de Google cluster-admin-team
pueden conectarse al clúster como administradores.
Método n.° 3: dar acceso a identidades externas al adjuntar o actualizar un clúster
El método n.° 3 otorga acceso a identidades externas cuando adjunta o actualiza un clúster.
Para conectar un clúster EKS, siga los pasos de "Conectar su clúster EKS" . Para actualizar un clúster EKS, siga los pasos de "Actualizar su clúster EKS" .
Al ejecutar el comando CLI de gcloud para registrar o actualizar un clúster, especifique los parámetros admin-users
y/o admin-groups
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
Reemplace lo siguiente:
-
CLUSTER_NAME
: el nombre de su clúster. -
WORKFORCE_POOL_ID
: el ID que identifica de forma única su grupo de identidades de fuerza laboral en Google CloudAl formatear el ID, asegúrese de seguir las pautas recomendadas que se proporcionan en la documentación de IAM en 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
: un ID que identifica de forma única a un grupo externo.
¿Qué sigue?
Para administrar el clúster desde el Google Cloud consola con su identidad en la nube, consulte Iniciar sesión con su Google Cloud identidad .