Cuando registras tus clústeres de Kubernetes con Google Cloud mediante Connect, se establece una conexión autenticada y encriptada de larga duración entre tus clústeres y el plano de control de Google Cloud. La conexión muestra información sobre los clústeres en la consola de Google Cloud y te permite administrar, así como también implementar configuraciones y recursos en los clústeres por medio de los componentes y las funciones de GKE Enterprise como Config Management.
En este tema, se describe la naturaleza de la conexión entre Google Cloud y Connect, y se proporcionan detalles sobre los controladores de Google Cloud que operan en tus clústeres mediante Connect.
Acerca de la conexión entre Google Cloud y Connect
Como se describe en el tema Funciones de seguridad, solo el plano de control de Google Cloud realiza solicitudes a través de Connect a cada clúster conectado (por ejemplo, al servidor de una API del clúster) y el clúster envía las respuestas al plano de control. (Los servicios y recursos del clúster no pueden iniciar solicitudes al plano de control mediante Connect). La conexión permite que los usuarios autorizados y la automatización de Google lleguen a los clústeres y se autentiquen en ellos.
Por ejemplo, Connect permite que la consola de Google Cloud obtenga información sobre cargas de trabajo y servicios, o le permite a Config Management instalar o actualizar el agente de Connect en el clúster y observar el estado de sincronización. Conectar también permite que el agente de medición tenga en cuenta la cantidad de CPU virtuales en un clúster conectado.
Connect no proporciona transporte de datos para imágenes de contenedor, balanceo de cargas, conexiones de base de datos, Logging o Monitoring. Debes establecer la conectividad para quienes estén en paralelo mediante sus propios mecanismos.
Acceso de usuario de la consola de Google Cloud a los clústeres mediante Connect
Después de que los usuarios de tu organización acceden a un clúster a través de la consola de Google Cloud, tienen permisos específicos del clúster determinados por los controles de acceso basados en funciones (RBAC) asignados a ellos. El clúster (no Connect) aplica los permisos. Los registros estándar de Kubernetes te permiten auditar las acciones que realizó cada usuario en la administración de un clúster.
En la siguiente tabla, se muestra qué partes de la consola de Google Cloud permiten a los usuarios interactuar con los clústeres a través de Connect.
Sección de la consola de Google Cloud | Qué pueden hacer los usuarios |
---|---|
GKE Enterprise | Administrar las cargas de trabajo y los clústeres registrados en la flota; administrar componentes de GKE Enterprise. |
Kubernetes Engine | Administra clústeres y cargas de trabajo registrados en la flota. |
Knative serving | Compila, implementa y administra servicios y aplicaciones. |
Marketplace | Implementar y administrar aplicaciones de terceros. |
Acceso del controlador de Google Cloud a clústeres a través de Connect
Los controladores de Google Cloud acceden a un clúster desde el plano de control de Google Cloud con el agente de Connect. Estos controladores proporcionan administración y automatización para la funcionalidad que habilitas en tus clústeres. Por ejemplo, Config Management tiene un controlador de Google Cloud que ayuda a dirigir el ciclo de vida de los agentes en el clúster y proporciona una IU para configurar y ver el estado de Config Management que se ejecuta en varios clústeres.
Los diferentes controladores acceden a los clústeres mediante diferentes identidades, y puedes auditar las actividades de cada controlador en los registros de auditoría de Kubernetes.
En la siguiente tabla, se resume cómo operan los controladores de Google Cloud en Connect. En la tabla, se destacan los detalles clave sobre los controladores: los permisos que necesitan, sus ID en los registros de auditoría de Kubernetes y si puedes inhabilitarlos o no.
Inhabilitar un componente en este contexto significa desactivarlo por completo, sin que ninguna pieza individual del componente pueda usarse en los clústeres.
Nombre del componente | ¿Se puede inhabilitar? | Función de clúster / permisos de RBAC | Descripción | ID en los registros de auditoría del clúster |
---|---|---|---|---|
Autorizador de función | No (habilitado de forma predeterminada) | cluster-admin |
El Autorizador de función agrega RBAC para componentes habilitados para la flota, o funciones que operan en clústeres de Kubernetes, y se garantiza que cada uno solo tenga los permisos específicos necesarios para ejecutar sus funciones. No puedes inhabilitar el Autorizador de función, siempre y cuando haya membresías registradas en el proyecto. Consulta Autorización de atributos en una flota para obtener más información. |
service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com |
Config Management | Sí (inhabilitado de forma predeterminada) | cluster-admin |
El controlador de Config Management administra sus propios agentes en el clúster y proporciona una IU que muestra el estado de Config Management en todos los clústeres de una flota. El controlador instala sus componentes en clúster y crea una cuenta de servicio local con los permisos adecuados para implementar todos los tipos de configuraciones de Kubernetes en nombre de los usuarios. Cuando no se instalan ni administran componentes en el clúster, el controlador de Config Management lee la información de estado de su agente en el clúster. |
service-project-number@gcp-sa-acm.iam.gserviceaccount.com |
Medición de uso | No (habilitado de forma predeterminada) | Consulta la definición de RBAC | El controlador de medición lee la información básica sobre los clústeres conectados para proporcionar servicios de facturación. Este control requiere sus permisos para lo siguiente:
No puedes inhabilitar la medición, siempre y cuando haya membresías registradas en el proyecto. |
service-project-number@gcp-sa-mcmetering.iam.gserviceaccount.com |
RBAC para componentes específicos que operan a través de Connect
En las siguientes definiciones de API, se muestran los permisos de control de acceso para diferentes recursos de componentes que operan en Connect.
RBAC de medición de uso mediante Connect
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
hub.gke.io/owner-feature: metering
hub.gke.io/project: [PROJECT_ID]
name: metering
selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/metering
rules:
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- watch
- list
- apiGroups:
- metering.gke.io
resources:
- usagerecords
verbs:
- get
- list
- watch
- delete
- apiGroups:
- anthos.gke.io
resources:
- entitlements
verbs:
- create
- delete
- get
- list
- update
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- create
- list
- watch
- apiGroups:
- apiextensions.k8s.io
resourceNames:
- entitlements.anthos.gke.io
resources:
- customresourcedefinitions
verbs:
- get