Che cosa utilizza Connect

Ultima modifica dell'argomento: 18 giugno 2024

Quando registri i tuoi cluster Kubernetes con Google Cloud utilizzando Connect, viene stabilita una connessione di lunga durata, autentica e criptata tra i tuoi cluster e il piano di controllo Google Cloud. La connessione mostra informazioni sui cluster nella consoleGoogle Cloud e ti consente di gestire ed eseguire il deployment di configurazioni e risorse nei cluster utilizzando componenti e funzionalità di GKE Enterprise, come la gestione della configurazione.

Questo argomento descrive la natura della connessione tra Google Cloud e Connect e fornisce dettagli sui controller 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 di Google Cloud invia richieste tramite Connect a ogni cluster collegato (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 accedere ai cluster e autenticarsi.

Ad esempio, Connect consente alla console Google Cloud di ottenere informazioni su workloads e servizi oppure consente a Config Management di installare o aggiornare l'agente in-cluster di Connect e di osservare lo stato della sincronizzazione. Connect consente inoltre all'agente di misurazione di osservare il numero di vCPU in un cluster collegato.

Connect non fornisce il trasporto di dati per immagini contenitore, bilanciamento del carico, connessioni al database, logging o monitoraggio. Devi stabilire la connettività per quelli in parallelo tramite i loro meccanismi.

Accesso degli utenti della consoleGoogle Cloud ai cluster tramite Connect

Dopo che gli utenti della tua organizzazione hanno eseguito l'accesso a un cluster tramite la console Google Cloud , dispongono di autorizzazioni specifiche per il cluster determinate dai controlli degli accessi basati su ruoli (RBAC) assegnati. Il cluster (non Connect) applica le autorizzazioni. I log Kubernetes standard ti consentono di controllare le azioni intraprese da ciascun utente per gestire un cluster.

La tabella seguente mostra le parti della console Google Cloud che consentono agli utenti di interagire con i cluster tramite Connect.

Sezione della consoleGoogle Cloud Cosa possono fare gli utenti
Kubernetes Engine Gestisci i cluster e i workload registrati nel parco risorse, gestisci i componenti di GKE Enterprise.
Knative serving Crea, esegui il deployment e gestisci servizi e applicazioni.
Marketplace Esegui il deployment e gestisci le applicazioni di terze parti.

Accesso del controller latoGoogle Cloudai cluster tramite Connect

I controller latoGoogle Cloudaccedono a un cluster dal piano di controllo Google Cloud utilizzando Connect Agent. Questi controller forniscono gestione e automazione per le funzionalità attivate sui cluster. Ad esempio, Config Management ha un controller latoGoogle Cloudche aiuta a dirigere il ciclo di vita degli agenti in cluster e fornisce un'interfaccia utente 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 ciascun controller nei log di controllo di Kubernetes.

La tabella seguente riassume il funzionamento dei controller lato Google Cloudsu Connect. La tabella mette in evidenza i dettagli chiave dei controller: le autorizzazioni di cui hanno bisogno, i relativi ID nei log di controllo di Kubernetes e se puoi disattivarli o meno.

La disattivazione di un componente in questo contesto significa disattivarlo completamente, con nessuna singola parte del componente che può essere utilizzata nei cluster.

Nome del componente Può essere disattivato? Ruolo cluster / autorizzazioni RBAC Descrizione ID nei log di controllo del cluster
Feature Authorizer No (abilitata per impostazione predefinita) cluster-admin

Authorizer aggiunge il RBAC per componenti supportati dal fleet o funzionalità che operano su cluster Kubernetes, assicurandosi che ognuno disponga solo delle autorizzazioni specifiche necessarie per svolgere le sue funzioni.

Non puoi disattivare l'autorizzazione delle funzionalità finché nel progetto sono registrati abbonamenti.

Per ulteriori informazioni, consulta Autorizzazione delle funzionalità in un parco risorse.

service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com
Config Management Sì (disattivata 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 componenti all'interno del 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 componenti in cluster, il Controller Config Management legge le informazioni sullo stato dal proprio agente in cluster.

service-project-number@gcp-sa-acm.iam.gserviceaccount.com
Misurazione dell'utilizzo No (abilitata per impostazione predefinita) Consulta la definizione di RBAC

Il controller di misurazione legge informazioni di base sui cluster collegati per fornire servizi di fatturazione.

Questo controller richiede le autorizzazioni per:

  • Misuratore basato sulla capacità vCPU del nodo.
  • Controlla ed elimina la metering.gke.io/usagerecords risorsa personalizzata.
  • Crea e aggiorna la risorsa personalizzata anthos.gke.io/entitlements.

Non puoi disattivare la misurazione, a condizione che nel progetto siano registrati abbonamenti.

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 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