Accede a un clúster desde Cloud Console

En esta página, se explica cómo acceder a los clústeres de Kubernetes registrados fuera de Google Cloud desde Google Cloud Console.

Después de acceder a un clúster registrado, puedes inspeccionarlo y obtener detalles sobre sus nodos en Cloud Console, al igual que un clúster de Google Kubernetes Engine (GKE) en Google Cloud. Puedes elegir entre varios métodos de autenticación para acceder a los clústeres según las necesidades de tu proyecto y organización.

Para conectarte a clústeres registrados desde la línea de comandos, consulta Conéctate a clústeres registrados con la puerta de enlace de Connect y Accede a clústeres con Anthos Identity Service.

Acerca de los clústeres registrados

El registro de los clústeres de Kubernetes en tu flota de proyectos (antes conocida como entorno de proyectos), proporciona una forma unificada de ver y administrar varios clústeres y sus cargas de trabajo, incluida su visualización en Cloud Console. , La visualización de clústeres fuera de Google Cloud requiere que habilites Anthos.

Los clústeres de Anthos administrados fuera de Google Cloud (por ejemplo, de forma local o en AWS) se registran de automáticamente en la flota de tu proyecto cuando los creas. Los clústeres conectados deben registrarse de forma manual. Además, es posible que desees registrar un clúster de forma manual si cancelas el registro por error o si deseas registrarlo en otro proyecto. Si necesitas registrar un clúster, sigue las instrucciones en Registra un clúster.

Después de registrar un clúster, aparecerá en las páginas de los clústeres de GKE y Anthos en Cloud Console. Sin embargo, para ver más detalles, como los nodos y las cargas de trabajo de cualquier clúster fuera de Google Cloud, debes acceder y autenticarte en el clúster, como se describe en el resto de esta guía. Los clústeres que requieren acceso en la lista de clústeres de Google Kubernetes Engine muestran un triángulo de advertencia naranja y te solicitan que accedas.

Captura de pantalla de la lista de clústeres de Google Kubernetes Engine

Puedes obtener más información sobre las flotas en Presentación de las flotas. Puedes obtener más información sobre el funcionamiento del registro de clústeres y del agente de Connect en la documentación de Connect.

Accede con tu identidad de Google Cloud

Esta opción recomendada te permite acceder a clústeres registrados mediante la misma identidad de Google Cloud que usas para tus proyectos y clústeres de GKE, mediante el servicio de Connect a fin de reenviar tus solicitudes al servidor de API del clúster. Si deseas obtener más información sobre la forma en que funciona el servicio de Connect, consulta Conéctate a clústeres registrados con la puerta de enlace de Connect.

Antes de comenzar, asegúrate de que el administrador de tu plataforma haya realizado la configuración necesaria a fin de que puedas usar tu identidad de Google Cloud para acceder, lo que incluye otorgarte todas las funciones y permisos de control de acceso según la función (RBAC) necesarios para ver y autenticar clústeres registrados.

Console

Para usar tu identidad de Google Cloud a fin de acceder a un clúster, sigue estos pasos:

  1. En Cloud Console, ve a la página Clústeres de GKE.

    Ir a los clústeres de GKE

  2. En la lista de clústeres, haz clic en Acciones junto al clúster registrado y, luego, en Acceder.

  3. Selecciona Usa tu identidad de Google para acceder

  4. Haga clic en Acceder.

Accede mediante un token del portador

Puedes acceder a los clústeres registrados mediante un token del portador. Se admiten muchos tipos de tokens del portador, como se especifica en autenticación de Kubernetes. El método más fácil es crear una cuenta de servicio de Kubernetes (KSA) en el clúster y usar su token del portador para acceder.

Todas las cuentas que acceden a un clúster deben conservar al menos las siguientes funciones de RBAC de Kubernetes en el clúster:

Antes de comenzar

Tú o el administrador de la plataforma deben completar el siguiente paso una vez por cada clúster registrado.

Crea y aplica la función de RBAC cloud-console-reader

Los usuarios que desean ver los recursos de tu clúster en Cloud Console deben tener los permisos relevantes para hacerlo. Debes definir este conjunto de permisos mediante la creación de un recurso RBAC ClusterRole, cloud-console-reader, en el clúster.

cloud-console-reader otorga a sus usuarios los permisos get, list y watch en los nodos, los volúmenes persistentes y las clases de almacenamiento del clúster, lo que les permite ver detalles sobre estos recursos Luego, puedes vincular esta ClusterRole a la cuenta de servicio del usuario, como se describe en la siguiente sección.

kubectl

Para crear la ClusterRole de cloud-console-reader y aplicarla, ejecuta el siguiente comando:

cat <<EOF > cloud-console-reader.yaml
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: cloud-console-reader
rules:
- apiGroups: [""]
  resources: ["nodes", "persistentvolumes"]
  verbs: ["get", "list", "watch"]
- apiGroups: ["storage.k8s.io"]
  resources: ["storageclasses"]
  verbs: ["get", "list", "watch"]
EOF
kubectl apply -f cloud-console-reader.yaml

Configura una cuenta de servicio

Te recomendamos que tú o un administrador de clústeres creen una cuenta de servicio para cada usuario que acceda al clúster. Usar un token del portador es como usar una contraseña, por lo que cada usuario debe tener su propia cuenta. Acceder con el token del portador de la KSA genera que todas las operaciones se ejecuten como la KSA, restringidas por las funciones de RBAC que mantiene la KSA.

La KSA debe tener al menos las siguientes funciones de RBAC en el clúster:

Crea y autoriza una KSA

kubectl

Para crear una KSA y vincular permisos a ella, sigue estos pasos:

  1. Crea los recursos de la KSA y ClusterRoleBinding para vincular el RBAC ClusterRoles de Kubernetes view y cloud-console-reader a la KSA:

    KSA_NAME=KSA_NAME
    kubectl create serviceaccount ${KSA_NAME}
    kubectl create clusterrolebinding VIEW_BINDING_NAME \
    --clusterrole view --serviceaccount default:${KSA_NAME}
    kubectl create clusterrolebinding CLOUD_CONSOLE_READER_BINDING_NAME \
    --clusterrole cloud-console-reader --serviceaccount default:${KSA_NAME}
    

    Reemplaza lo siguiente:

    • KSA_NAME: el nombre que elijas para la KSA.
    • VIEW_BINDING_NAME: el nombre que eliges para el recurso view ClusterRoleBinding; puedes ponerle el nombre que quieras, pero puede que sea más fácil asignarle el nombre de la KSA
    • CLOUD_CONSOLE_READER_BINDING_NAME: el nombre que eliges para el recurso cloud-console-reader ClusterRoleBinding. También puedes asignarle el nombre que desees.
  2. Según el acceso que tenga la cuenta de servicio, vincula funciones adicionales a la KSA. Para ver las opciones, consulta las funciones predeterminadas de Kubernetes.

    Por ejemplo, si deseas implementar una aplicación de Kubernetes desde Cloud Marketplace, vincula la función cluster-admin a la KSA:

    kubectl create clusterrolebinding BINDING_NAME \
    --clusterrole cluster-admin --serviceaccount default:KSA_NAME
    

    Reemplaza BINDING_NAME por el nombre de la vinculación de la función de clúster para la cuenta de servicio.

Autoriza otras cuentas

kubectl

Para cada otro usuario o cuenta de servicio que obtenga acceso al clúster, crea recursos ClusterRoleBinding a fin de vincular las funciones view y cloud-console-reader a su cuenta:

  1. Vincula la view y las ClusterRoles cloud-console-reader:

    ACCOUNT_NAME=ACCOUNT_NAME
    kubectl create clusterrolebinding VIEW_BINDING_NAME \
    --clusterrole view --serviceaccount default:${ACCOUNT_NAME}
    kubectl create clusterrolebinding CLOUD_CONSOLE_READER_BINDING_NAME \
    --clusterrole cloud-console-reader --serviceaccount default:${ACCOUNT_NAME}
    

    Reemplaza lo siguiente:

    • ACCOUNT_NAME: la cuenta de servicio de Kubernetes
    • VIEW_BINDING_NAME: el nombre que elijas para el recurso view ClusterRoleBinding. Puedes usar el nombre que desees, pero puede que te resulte más fácil asignarle el nombre que tenga el usuario o la cuenta de servicio.
    • CLOUD_CONSOLE_READER_BINDING_NAME: el nombre que eliges para el recurso view ClusterRoleBinding. También puedes asignarle el nombre que desees.
  2. Vincula funciones adicionales, según el acceso que tenga la cuenta. Para ver las opciones, consulta las funciones predeterminadas de Kubernetes.

    Por ejemplo, para vincular la función cluster-admin, ejecuta el siguiente comando:

    kubectl create clusterrolebinding BINDING_NAME \
    --clusterrole cluster-admin --serviceaccount default:ACCOUNT_NAME
    

    Reemplaza BINDING_NAME por el nombre de la vinculación de la función de clúster para la cuenta de servicio.

Obtén el token del portador de la KSA

kubectl

Para adquirir el token del portador de la KSA, ejecuta el comando siguiente:

SECRET_NAME=$(kubectl get serviceaccount KSA_NAME -o jsonpath='{$.secrets[0].name}')
kubectl get secret ${SECRET_NAME} -o jsonpath='{$.data.token}' | base64 --decode

Reemplaza KSA_NAME por el nombre que elijas para la KSA.

Copia el token del resultado de este comando y guárdalo para usarlo en la próxima sección.

Accede a un clúster

Console

Para usar el token a fin de acceder a un clúster, sigue estos pasos:

  1. En Cloud Console, ve a la página Clústeres de GKE.

    Ir a los clústeres de GKE

  2. En la lista de clústeres, haz clic en Acciones junto al clúster registrado y, luego, en Acceder.

  3. Selecciona Token y, luego, completa el campo Token con el token del portador de la KSA.

  4. Haga clic en Acceder.

Accede mediante la autenticación básica

Console

Para usar la autenticación básica con el fin de acceder a un clúster, sigue estos pasos:

  1. En Cloud Console, ve a la página Clústeres de GKE.

    Ir a los clústeres de GKE

  2. En la lista de clústeres, haz clic en Acciones junto al clúster registrado y, luego, en Acceder.

  3. Selecciona Autenticación básica y, luego, completa los campos Nombre de usuario y Contraseña.

  4. Haga clic en Acceder.

Accede mediante OpenID Connect (OIDC)

Si el clúster está configurado para usar un proveedor de identidad de OIDC, puedes usarlo a fin de autenticarte en el clúster desde Cloud Console. Puedes obtener información para configurar OIDC para los clústeres de Anthos en las siguientes guías:

Console

Para usar OIDC a fin de acceder a un clúster configurado, sigue estos pasos:

  1. En Cloud Console, ve a la página Clústeres de GKE.

    Ir a los clústeres de GKE

  2. En la lista de clústeres, haz clic en Acciones junto al clúster registrado y, luego, en Acceder.

  3. Selecciona Autenticar con el proveedor de identidad configurado para el clúster Se te redireccionará a tu proveedor de identidad, en el que es posible que debas acceder o dar tu consentimiento para que Cloud Console acceda a tu cuenta.

  4. Haga clic en Acceder.

¿Qué sigue?