Quando registri i tuoi cluster Kubernetes con Google Cloud utilizzando Connect, viene stabilita una connessione di lunga durata autenticata e criptata tra i cluster e il piano di controllo Google Cloud. La connessione mostra le informazioni sui cluster nella console Google Cloud e consente di gestire ed eseguire il deployment di configurazioni e risorse nei cluster utilizzando componenti e funzionalità di GKE Enterprise, 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 tuoi cluster tramite Connect.
Informazioni sulla connessione tra Google Cloud e Connect
Come descritto nell'argomento Funzionalità di sicurezza, solo il piano di controllo Google Cloud effettua richieste tramite la connessione a ciascun cluster connesso (ad esempio al server API di un cluster) e il cluster invia le risposte al piano di controllo. (Le risorse e i servizi 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 e autenticarsi sui cluster.
Ad esempio, Connect consente alla console Google Cloud di ottenere informazioni su carichi di lavoro e servizi oppure consente a Config Management di installare o aggiornare l'agente nel cluster Connect e di osservare lo stato della sincronizzazione. Connect consente inoltre all'agente di misurazione di osservare il numero di vCPU in un cluster connesso.
Connect non fornisce il trasporto di dati per immagini container, bilanciamento del carico, connessioni ai database, Logging o Monitoring. Occorre stabilire la connettività per questi dispositivi in parallelo usando i rispettivi meccanismi.
Accesso degli utenti alla console Google Cloud ai cluster tramite Connect
Dopo che gli utenti della tua organizzazione hanno eseguito l'accesso a un cluster tramite la console Google Cloud, avranno autorizzazioni specifiche per il cluster determinate dai controlli degli accessi basati sui ruoli (RBAC) assegnati loro. Il cluster (non Connect) applica le autorizzazioni. I log di Kubernetes standard ti consentono di controllare le azioni compiute da ogni utente nella gestione di un cluster.
La tabella seguente mostra quali parti della console Google Cloud consentono agli utenti di interagire con i cluster tramite Connect.
Sezione della console Google Cloud | Cosa possono fare gli utenti |
---|---|
GKE Enterprise | Gestisci i cluster e i carichi di lavoro registrati nel parco risorse e i componenti GKE Enterprise. |
Kubernetes Engine | Gestisci cluster e carichi di lavoro registrati nel parco risorse. |
Cloud Run for Anthos | Crea, esegui il deployment e gestisci servizi e applicazioni. |
Marketplace | Eseguire il deployment e gestire applicazioni di terze parti. |
Accesso del controller lato Google Cloud ai cluster tramite Connect
I controller lato cloud di Google accedono a un cluster dal piano di controllo Google Cloud utilizzando l'agente Connect. Questi controller forniscono la gestione e l'automazione della funzionalità abilitata sui tuoi cluster. Ad esempio, Config Management dispone di un controller lato Google Cloud che aiuta a dirigere il ciclo di vita degli agenti all'interno del cluster e fornisce una UI per configurare e visualizzare lo stato di Config Management in esecuzione su più cluster.
Diversi controller accedono ai cluster utilizzando identità diverse e puoi controllare le attività di ciascun controller negli audit log di Kubernetes.
La seguente tabella riassume il funzionamento dei controller lato Google Cloud su Connect. La tabella evidenzia i dettagli chiave dei controller: le autorizzazioni di cui hanno bisogno, i loro ID negli audit log di Kubernetes e se puoi disabilitarli o meno.
La disattivazione di un componente in questo contesto comporta la disattivazione completa, senza che le singole parti del componente possano essere utilizzate nei cluster.
Nome componente | Può essere disattivato? | Ruolo cluster / autorizzazioni RBAC | Descrizione | ID negli audit log del cluster |
---|---|---|---|---|
Feature Authorizer | No (attivato per impostazione predefinita) | cluster-admin |
Autorizzatore di caratteristiche aggiunge l'RBAC per componenti abilitati per il parco risorse, o funzionalità, operando su cluster Kubernetes, assicurando che ciascuno disponga solo delle autorizzazioni specifiche necessarie per eseguire le proprie funzioni. Non puoi disattivare Autorizzatore funzionalità a condizione che nel progetto siano presenti abbonamenti registrati. Per saperne di più, 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 Config Management gestisce i propri agenti nel 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 nel 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 si installano o gestiscono componenti in-cluster, il controller Config Management legge le informazioni sullo stato dall'agente nel cluster. |
service-project-number@gcp-sa-acm.iam.gserviceaccount.com |
Misurazione dell'utilizzo | No (attivato per impostazione predefinita) | Consulta la definizione di RBAC | Il controller di misurazione legge le informazioni di base sui cluster connessi per fornire i servizi di fatturazione. Questo controller richiede le sue autorizzazioni per:
Non puoi disabilitare la misurazione, a condizione che nel progetto siano presenti abbonamenti registrati. |
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 utilizzano Connect.
Misurazione dell'utilizzo RBAC tramite 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