Quando registri i tuoi cluster Kubernetes con Google Cloud utilizzando Connect, viene stabilita una connessione autenticata e criptata di lunga durata tra i tuoi cluster e il control plane Google Cloud. La connessione mostra informazioni sui cluster nella consoleGoogle Cloud e ti consente di gestire e implementare configurazioni e risorse nei cluster utilizzando componenti e funzionalità GKE, come Config Management.
Questo argomento descrive la natura della connessione tra Google Cloud e Connect e fornisce dettagli sui controller Google Cloud-side che operano sui 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 Connect a ogni cluster connesso (ad esempio, a un 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 accedere ai cluster ed eseguire l'autenticazione.
Ad esempio, Connect consente alla console Google Cloud di ottenere informazioni su servizi e carichi di lavoro oppure consente a Config Management di installare o aggiornare l'agente in-cluster di Connect e 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 dei dati per le immagini container, il bilanciamento del carico, le connessioni al database, Logging o Monitoring. Devi stabilire la connettività per questi in parallelo tramite i propri meccanismi.
Google Cloud Accesso degli utenti della console ai cluster tramite Connect
Dopo che gli utenti della tua organizzazione accedono a un cluster tramite la console Google Cloud , dispongono di autorizzazioni specifiche per il cluster determinate dai controlli degli accessi basati sui ruoli (RBAC) assegnati. Il cluster (non Connect) applica le autorizzazioni. I log di Kubernetes standard ti consentono di controllare le azioni eseguite da ciascun utente nella gestione di un cluster.
La seguente tabella mostra quali parti della console Google Cloud consentono agli utenti di interagire con i cluster tramite Connect.
SezioneGoogle Cloud della console | Cosa possono fare gli utenti |
---|---|
Kubernetes Engine | Gestisci i cluster e i carichi di lavoro 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. |
Accesso del controller latoGoogle Cloudai cluster tramite Connect
I controller latoGoogle Cloudaccedono a un cluster dal control plane Google Cloud utilizzando l'agente Connect. Questi controller forniscono gestione e automazione per le funzionalità che attivi sui tuoi cluster. Ad esempio, Config Management ha un controller latoGoogle Cloudche aiuta a dirigere il ciclo di vita degli agenti nel cluster e fornisce una UI per configurare e visualizzare lo stato di Config Management in esecuzione su più cluster.
Controller diversi accedono ai cluster utilizzando identità diverse e puoi controllare le attività di ogni controller nei log di controllo di Kubernetes.
La seguente tabella riassume il funzionamento dei controller Google Cloud su Connect. La tabella evidenzia i dettagli chiave dei 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 | Possono essere disattivati? | Autorizzazioni RBAC / ruolo del cluster | Descrizione | ID nei log di controllo del cluster |
---|---|---|---|---|
Feature Authorizer | No (abilitato per impostazione predefinita) | cluster-admin |
Authorizer aggiunge RBAC per componenti abilitati al parco progetti o funzionalità che operano sui cluster Kubernetes, garantendo che ognuno disponga solo delle autorizzazioni specifiche richieste per svolgere le proprie funzioni. Non puoi disattivare Feature Authorizer finché nel progetto sono presenti abbonamenti registrati. Per ulteriori informazioni, consulta la sezione 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 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 suoi componenti in-cluster e crea un account di servizio locale con le autorizzazioni appropriate per implementare tutti i tipi di configurazioni Kubernetes per conto degli utenti. Quando non installa o gestisce i componenti in-cluster, il controller 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 autorizzazioni per:
Non puoi disattivare la misurazione finché nel progetto sono 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 diverse risorse dei componenti che operano su Connect.
RBAC per la 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