Panoramica del cluster Kubernetes

Google Distributed Cloud (GDC) air-gapped fornisce un servizio Kubernetes gestito con Google Kubernetes Engine (GKE) Enterprise edition, che ti consente di eseguire il deployment e l'esecuzione di carichi di lavoro containerizzati utilizzando metodologie Kubernetes standard del settore. GKE su GDC porta le funzionalità di base di GKE Enterprise in un ambiente disconnesso. Nel tempo saranno disponibili funzionalità GKE Enterprise aggiuntive per GKE su GDC.

GKE su GDC fornisce funzionalità aziendali come:

  • Gestione del ciclo di vita multi-cluster
  • Distribuzione Kubernetes completamente supportata
  • Visibilità dei costi
  • Gestione multi-team
  • Gestione della configurazione basata su GitOps
  • Mesh di servizi gestito
  • Controllo dei criteri

Tutte queste funzionalità sono standard con GKE su GDC e sono disponibili per l'utilizzo con i cluster creati dal servizio Kubernetes gestito.

Ai fini della documentazione, i cluster GKE su GDC sono denominati cluster Kubernetes o cluster.

Architettura del cluster GDC

I cluster Kubernetes sono separati logicamente tra loro per fornire diversi domini di errore e garanzie di isolamento. In alcuni casi, sono persino separati fisicamente. Ogni organizzazione in GDC ha un insieme dedicato di cluster Kubernetes. I seguenti tipi di cluster sono disponibili specificamente per i tuoi workload e servizi in ogni organizzazione:

  • Cluster dell'infrastruttura dell'organizzazione: esegue i componenti del piano di controllo e del piano dati dell'organizzazione. Ospita anche il server API di gestione in cui vengono implementati tutti i servizi e i carichi di lavoro non containerizzati.
  • Cluster Kubernetes: esegue carichi di lavoro basati su container per l'organizzazione. Il numero di nodi worker dipende dall'utilizzo del cluster. Puoi scalarli man mano che le tue esigenze cambiano. Un cluster Kubernetes è talvolta indicato come cluster utente in Distributed Cloud.

Quando l'operatore dell'infrastruttura (IO) crea un'organizzazione, GDC genera automaticamente il cluster dell'infrastruttura dell'organizzazione. La configurazione iniziale per il cluster dell'infrastruttura dell'organizzazione viene impostata durante la creazione dell'organizzazione.

In qualità di amministratore, crei e gestisci i cluster Kubernetes. Questa sezione di argomenti tratta la gestione dei cluster Kubernetes. I tuoi carichi di lavoro Kubernetes containerizzati vengono eseguiti tutti in un cluster Kubernetes. Per ulteriori informazioni sulla creazione e la gestione dei container in un cluster Kubernetes, consulta la sezione Eseguire il deployment dei carichi di lavoro dei container.

Un cluster Kubernetes è costituito da un control plane e da macchine worker denominate nodi. Il piano di controllo e i nodi costituiscono il sistema di orchestrazione dei cluster Kubernetes. GKE su GDC gestisce l'intera infrastruttura sottostante dei cluster, inclusi il piano di controllo e tutti i componenti di sistema. Sei responsabile della gestione dei nodi worker che eseguono i carichi di lavoro containerizzati.

Il seguente diagramma mostra l'architettura di un cluster Kubernetes:

Un cluster Kubernetes è costituito da un control plane, nodi e servizi.

Informazioni sul control plane

Il control plane esegue processi come il server API Kubernetes, lo scheduler e i controller delle risorse di base. GKE su GDC gestisce il ciclo di vita del control plane dalla creazione all'eliminazione del cluster. Ciò include gli upgrade alla versione di Kubernetes in esecuzione sul control plane, che GDC esegue automaticamente o manualmente su tua richiesta se preferisci eseguire l'upgrade prima della pianificazione automatica.

Control plane e API Kubernetes

Il control plane è l'endpoint unificato per il cluster. Interagisci con il piano di controllo tramite chiamate API Kubernetes. Il control plane esegue il processo del server API Kubernetes, o kube-apiserver, per gestire le richieste API. Puoi effettuare chiamate API Kubernetes nei seguenti modi:

  • Chiamate dirette: KRM
  • Chiamate indirette: client della riga di comando Kubernetes, come kubectl, o la console GDC.

Il processo del server API è l'hub per tutte le comunicazioni del cluster. Tutti i componenti interni del cluster, come nodi, processi di sistema e controller delle applicazioni, fungono da client del server API.

Le tue richieste API indicano a Kubernetes lo stato scelto per gli oggetti nel tuo cluster. Kubernetes tenta di mantenere costantemente questo stato. Kubernetes ti consente di configurare gli oggetti nell'API in modo imperativo o dichiarativo.

Gestione dei nodi worker

Il control plane gestisce ciò che viene eseguito su tutti i nodi del cluster. Il piano di controllo pianifica i carichi di lavoro e ne gestisce il ciclo di vita, lo scaling e gli upgrade. Il control plane gestisce anche le risorse di rete e di archiviazione per questi carichi di lavoro. Il control plane e i nodi comunicano tra loro utilizzando le API Kubernetes.

Informazioni sui nodi

I nodi sono le macchine worker che eseguono le tue applicazioni containerizzate e altri carichi di lavoro. Le singole macchine sono macchine virtuali (VM) che GKE su GDC crea. Il control plane gestisce e riceve aggiornamenti sullo stato autodichiarato di ogni nodo.

Un nodo esegue i servizi necessari per supportare i container che costituiscono i carichi di lavoro del cluster. Questi includono il runtime e l'agente nodo Kubernetes, o kubelet, che comunica con il control plane ed è responsabile dell'avvio e dell'esecuzione dei container pianificati sul nodo.

GKE su GDC esegue anche una serie di container di sistema che vengono eseguiti come agenti per nodo, chiamati DaemonSet, che forniscono funzionalità come la raccolta dei log e la connettività di rete intra-cluster.

Limitazioni per GKE su GDC

Le seguenti funzionalità di GKE sono limitazioni non disponibili per GKE su GDC:

  • Connettere il gateway
  • Collegamento di cluster multicloud
  • Autorizzazione binaria
  • Trasferimento di dati in entrata multi-cluster