Quando registri i cluster Kubernetes con Google Cloud utilizzando Connect, viene stabilita una connessione autenticata e criptata di lunga durata tra i cluster e il Google Cloud piano di controllo. La connessione mostra informazioni sui cluster nella Google Cloud console e ti consente di gestire ed eseguire il deployment di configurazioni e risorse nei cluster utilizzando componenti e funzionalità di GKE, come Config Management.
Questo argomento descrive la natura della connessione tra Google Cloud e Connect e fornisce dettagli sui controller lato Google Cloud che operano sui cluster tramite Connect.
Informazioni sulla connessione tra Google Cloud e Connect
Come descritto nell'argomento Funzionalità di sicurezza, solo il Google Cloud piano di controllo effettua richieste tramite Connect a ogni cluster connesso (ad esempio, al server API di un cluster) e il cluster invia le risposte al piano di controllo. I servizi e le risorse del cluster non possono avviare richieste al piano di controllo tramite Connect. La connessione consente agli utenti autorizzati e all'automazione lato Google di raggiungere i cluster ed eseguire l'autenticazione.
Ad esempio, Connect consente alla Google Cloud console di ottenere informazioni su workload e servizi oppure consente a Config Management di installare o aggiornare l'agente in-cluster di Connect e di osservare lo stato di sincronizzazione. Connect consente inoltre all'agente di misurazione di osservare il numero di vCPU in un cluster connesso.
Connect non fornisce il trasporto dei dati per immagini container, bilanciamento del carico, connessioni di database, Logging o Monitoring. Devi stabilire la connettività per questi elementi in parallelo tramite i loro meccanismi.
Google Cloud Accesso utente alla console Cloud ai cluster tramite Connect
Dopo che gli utenti della tua organizzazione hanno eseguito l'accesso a un cluster tramite la Google Cloud console, hanno autorizzazioni specifiche per il cluster determinate dai controlli dell'accesso basato sui ruoli (RBAC) assegnati. Il cluster (non Connect) applica le autorizzazioni. I log standard di Kubernetes consentono di controllare le azioni eseguite da ogni utente nella gestione di un cluster.
La seguente tabella mostra le parti della Google Cloud console Cloud che consentono agli utenti di interagire con i cluster tramite Connect.
| Google Cloud Sezione della console Cloud | Cosa possono fare gli utenti |
|---|---|
| Kubernetes Engine | Gestisci i cluster e i workload registrati nel parco risorse, gestisci i componenti GKE. |
| Knative serving | Crea, esegui il deployment e gestisci servizi e applicazioni. |
| Marketplace | Esegui il deployment e gestisci applicazioni di terze parti. |
Google CloudAccesso dei controller lato Google ai cluster tramite Connect
I controller lato Google accedono a un cluster dal piano di controllo utilizzando l' agente Connect.Google CloudGoogle Cloud Questi controller forniscono gestione e automazione per le funzionalità che abiliti sui cluster. Ad esempio, Config Management ha un controller lato Google Cloud-Google che aiuta a gestire il ciclo di vita degli agenti in-cluster e fornisce un'interfaccia utente per configurare e visualizzare lo stato di Config Management in più cluster.
I diversi controller accedono ai cluster utilizzando identità diverse, e puoi controllare le attività di ogni controller nei log di controllo di Kubernetes audit.
La seguente tabella riassume il funzionamento dei controller lato Google CloudGoogle tramite Connect. La tabella evidenzia i dettagli chiave sui controller: le autorizzazioni di cui hanno bisogno, i loro ID nei log di controllo di Kubernetes e se puoi disattivarli o meno.
La disattivazione di un componente in questo contesto significa disattivarlo completamente, senza che le singole parti del componente possano essere utilizzate nei cluster.
| Nome componente | Può essere disattivato? | Ruolo del cluster / autorizzazioni RBAC | Descrizione | ID nei log di controllo del cluster |
|---|---|---|---|---|
| Feature Authorizer | No (abilitato per impostazione predefinita) | cluster-admin |
Feature Authorizer aggiunge RBAC per componenti abilitati per il parco risorse, o funzionalità, che operano sui cluster Kubernetes, assicurando che ognuno abbia solo le autorizzazioni specifiche necessarie per eseguire le proprie funzioni. Non puoi disattivare Feature Authorizer finché nel progetto sono presenti Membership registrate. Per ulteriori informazioni, consulta Autorizzazione delle funzionalità in un parco risorse. |
service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com |
| Config Management | Sì (disattivato per impostazione predefinita) | cluster-admin |
Il controller di Config Management gestisce i propri agenti in-cluster e fornisce un'interfaccia utente che mostra lo stato di Config Management in tutti i cluster di un parco risorse. Il controller installa i componenti in-cluster e crea un account di servizio locale con le autorizzazioni appropriate per eseguire il deployment di tutti i tipi di configurazioni Kubernetes per conto degli utenti. Quando non installa o gestisce i componenti in-cluster, il controller di Config Management legge le informazioni sullo stato dal relativo agente in-cluster. |
service-project-number@gcp-sa-acm.iam.gserviceaccount.com |
| Misurazione dell'utilizzo | No (abilitato per impostazione predefinita) | Consulta la definizione di RBAC | Il controller di misurazione legge le informazioni di base sui cluster connessi per fornire servizi di fatturazione. Questo controller richiede le seguenti autorizzazioni:
Non puoi disattivare la misurazione finché nel progetto sono presenti Membership registrate. |
service-project-number@gcp-sa-mcmetering.iam.gserviceaccount.com |
RBAC per componenti specifici che operano su Connect
Le seguenti definizioni API mostrano le autorizzazioni di controllo dell'accesso per le diverse risorse dei componenti che operano su Connect.
RBAC di misurazione dell'utilizzo su 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