Conéctese a su clúster de AKS

Este documento describe tres métodos para conectarse a su clúster conectado a AKS:

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 de AKS" .

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:

  1. 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 .

  2. Asegúrese de estar utilizando las versiones del clúster adjunto 1.27.0-gke.5, 1.28.0-gke.2 o posteriores.

  3. 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):

  4. 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 como alex@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:

  1. Habilite las API connectgateway y cloudresourcemanager 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.

  2. 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 comando gcloud 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 .

  3. 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:

  1. Habilite las API connectgateway y cloudresourcemanager 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.

  2. Crea un grupo llamado gke-security-groups como un grupo en el dominio de tu proyecto si no existe.

  3. Cree uno o más subgrupos dentro del grupo gke-security-groups para la autenticación del clúster.

  4. Agregue usuarios a los subgrupos recién creados.

  5. Otorgar roles de IAM a Grupos de Google:

    1. 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 o roles/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).

    2. 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 o roles/gkehub.gatewayReader .
  6. 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
    
  7. 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 archivo kubeconfig .
    • 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 de AKS, siga los pasos de "Conectar su clúster de AKS" . Para actualizar un clúster de AKS, siga los pasos de "Actualizar su clúster de AKS" .

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 como alex@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 .