Quando regista os seus clusters Kubernetes com o Google Cloud Connect, é estabelecida uma ligação autenticada e encriptada de longa duração entre os seus clusters e o Google Cloud plano de controlo. A ligação apresenta informações sobre clusters na Google Cloud consola e permite-lhe gerir e implementar configurações e recursos em clusters através de componentes e funcionalidades do GKE, como o Config Management.
Este tópico descreve a natureza da ligação entre o Google Cloud e o Connect, e fornece detalhes sobre os controladores do lado do Google Cloudque operam nos seus clusters através do Connect.
Acerca da associação entre o Google Cloud e o Connect
Conforme descrito no tópico Funcionalidades de segurança, apenas o Google Cloud plano de controlo faz pedidos através da ligação a cada cluster ligado (por exemplo, a um servidor API de um cluster), e o cluster envia respostas de volta para o plano de controlo. (Os serviços e os recursos do cluster não podem iniciar pedidos ao painel de controlo através do Connect.) A ligação permite que os utilizadores autorizados e a automatização do lado da Google alcancem e se autentiquem em relação aos clusters.
Por exemplo, o Connect permite que a consola obtenha informações sobre cargas de trabalho e serviços, ou permite que o Config Management instale ou atualize o agente no cluster do Connect e observe o estado de sincronização. Google Cloud A ligação também permite que o agente de medição observe o número de vCPUs num cluster ligado.
O Connect não fornece transporte de dados para imagens de contentores, equilíbrio de carga, ligações de bases de dados, registo ou monitorização. Tem de estabelecer a conetividade para esses dispositivos em paralelo através dos respetivos mecanismos.
Google Cloud Acesso do utilizador da consola aos clusters através do Connect
Depois de os utilizadores na sua organização iniciarem sessão num cluster através da Google Cloud consola, têm autorizações específicas do cluster determinadas pelos controlos de acesso baseados em funções (RBAC) que lhes são atribuídos. O cluster (não o Connect) aplica as autorizações. Os registos padrão do Kubernetes permitem-lhe auditar as ações que cada utilizador realizou na gestão de um cluster.
A tabela seguinte mostra que partes da consola Google Cloud permitem aos utilizadores interagir com clusters através do Connect.
Google Cloud secção da consola | O que os utilizadores podem fazer |
---|---|
Kubernetes Engine | Faça a gestão de clusters e cargas de trabalho registados na frota, bem como de componentes do GKE. |
Knative serving | Crie, implemente e faça a gestão de serviços e aplicações. |
Mercado | Implemente e faça a gestão de aplicações de terceiros. |
Acesso do controlador do ladoGoogle Cloudaos clusters através do Connect
Os controladores do lado doGoogle Cloudacedem a um cluster a partir do plano de controlo Google Cloud através do agente Connect. Estes controladores oferecem gestão e automatização para a funcionalidade que ativa nos seus clusters. Por exemplo, a gestão da configuração tem um controlador do lado do servidor que ajuda a direcionar o ciclo de vida dos agentes no cluster e fornece uma IU para configurar e ver o estado da gestão da configuração em execução em vários clusters.Google Cloud
Os diferentes controladores acedem aos clusters com identidades diferentes e pode auditar as atividades de cada controlador nos registos de auditoria do Kubernetes.
A tabela seguinte resume como os controladores do lado Google Cloudfuncionam através da ligação Connect. A tabela realça os detalhes importantes sobre os controladores: as autorizações de que precisam, os respetivos IDs nos registos de auditoria do Kubernetes e se pode ou não desativá-los.
Desativar um componente neste contexto significa desativá-lo completamente, sem que seja possível usar partes individuais do componente em clusters.
Nome do componente | Pode ser desativada? | Função de cluster / autorizações de CABF | Descrição | ID nos registos de auditoria do cluster |
---|---|---|---|---|
Autorizador de funcionalidades | Não (ativado por predefinição) | cluster-admin |
O Feature Authorizer adiciona RBAC para componentes ativados para frotas ou funcionalidades que operam em clusters do Kubernetes, garantindo que cada um tem apenas as autorizações específicas necessárias para realizar as respetivas funções. Não pode desativar o autorizador de funcionalidades enquanto existirem subscrições registadas no projeto. Consulte o artigo Autorização de funcionalidades numa frota para mais informações. |
service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com |
Gestão de configuração | Sim (desativado por predefinição) | cluster-admin |
O controlador de gestão de configuração gere os seus próprios agentes no cluster e fornece uma IU que mostra o estado da gestão de configuração em todos os clusters numa frota. O controlador instala os respetivos componentes no cluster e cria uma conta de serviço local com as autorizações adequadas para implementar todos os tipos de configurações do Kubernetes em nome dos utilizadores. Quando não instala nem gere componentes no cluster, o controlador de gestão de configuração lê informações de estado do respetivo agente no cluster. |
service-project-number@gcp-sa-acm.iam.gserviceaccount.com |
Medição da utilização | Não (ativado por predefinição) | Consulte a definição de RBAC | O controlador de medição lê informações básicas sobre os clusters ligados para fornecer serviços de faturação. Este controlador requer as respetivas autorizações para:
Não pode desativar a medição enquanto existirem subscrições registadas no projeto. |
service-project-number@gcp-sa-mcmetering.iam.gserviceaccount.com |
RBAC para componentes específicos que funcionam através do Connect
As seguintes definições da API mostram autorizações de controlo de acesso para diferentes recursos de componentes que operam através do Connect.
RBAC de medição de utilização através do 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