Che cosa utilizza Connect

Ultima modifica dell'argomento: 4 novembre 2021

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:

  • Misurazione basata sulla capacità delle vCPU dei nodi.
  • Controlla ed elimina la risorsa personalizzata metering.gke.io/usagerecords.
  • Crea e aggiorna la risorsa personalizzata anthos.gke.io/entitlements.

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