Cluster Kubernetes in GDC

Questo documento descrive le opzioni e le funzionalità del cluster Kubernetes disponibili in Google Distributed Cloud (GDC) air-gapped. I cluster Kubernetes forniscono un servizio Kubernetes gestito con Google Kubernetes Engine (GKE) che ti consente di eseguire il deployment e l'esecuzione di carichi di lavoro containerizzati utilizzando metodologie Kubernetes standard del settore.

Questo documento è destinato a destinatari come gli amministratori IT all'interno del gruppo di amministratori della piattaforma e gli sviluppatori di applicazioni all'interno del gruppo di operatori di applicazioni responsabili della gestione dei carichi di lavoro dei container all'interno della propria organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.

GKE in un ambiente disconnesso

GKE su GDC è un servizio Kubernetes gestito che porta le funzionalità di base di GKE nel tuo ambiente disconnesso. Ai fini della documentazione, i cluster gestiti da GKE su GDC sono denominati cluster Kubernetes. Per saperne di più sui concetti di Kubernetes, consulta Inizia a scoprire Kubernetes.

GKE su GDC ti consente di creare e gestire carichi di lavoro containerizzati nel tuo ambiente disconnesso in modo simile all'utilizzo di GKE nel cloud pubblico Google Cloud.

La tabella seguente fornisce un confronto tra i cluster in GDC e Google Cloud:

Funzionalità Descrizione GKE su GDC GKE su Google Cloud
Disconnessione completa Funzionante in un ambiente senza connessione a internet. No
Soluzione di backup Servizio per la creazione di copie di dati e configurazioni per un cluster per garantire la protezione dei dati e consentire il ripristino da guasti, errori o attacchi informatici. Backup per GDC Backup per GKE
Logging e monitoraggio integrati Servizio che combina la raccolta e l'analisi dei log con il monitoraggio degli indicatori chiave di prestazione per una visione completa del comportamento del cluster. Prometheus, Grafana e Loki Cloud Logging e Cloud Monitoring
Container Registry gestito Servizio che ospita e organizza le immagini container, gestendo infrastruttura, disponibilità e sicurezza delle immagini. Managed Harbor Service Artifact Registry
Isolamento del container Possibilità di mantenere le applicazioni container e le relative dipendenze separate e indipendenti l'una dall'altra e dal sistema host.
Supporto di GPU e TPU Unità di computing ad alte prestazioni che consentono funzionalità di elaborazione avanzate. Solo GPU GPU e TPU
Scalabilità automatica orizzontale dei pod Regolazione automatica del numero di repliche di pod in un deployment o in un altro workload in base a metriche osservate come l'utilizzo di CPU o memoria.
Contenitori Linux Ambiente isolato per l'esecuzione di applicazioni su un host Linux.
UI per i cluster Interfaccia grafica che offre un modo visivo e intuitivo per gestire e monitorare un cluster. Solo cluster condiviso
UI per le risorse cluster Interfaccia grafica che offre un modo visivo e intuitivo per gestire e monitorare i carichi di lavoro dei container di un cluster. Solo visualizzazione

Per saperne di più su GKE e sul suo set completo di funzionalità disponibili in versione pubblica Google Cloud, consulta Esplorare la documentazione di GKE.

Vantaggi dei cluster Kubernetes

GKE su GDC offre vantaggi chiave per i tuoi cluster Kubernetes, ad esempio:

  • Gestione del ciclo di vita multi-cluster: esegui il deployment di più cluster in GDC contemporaneamente per una serie di istanze ospitate per i tuoi carichi di lavoro containerizzati.
  • Distribuzione Kubernetes completamente supportata: crea cluster in bundle con funzionalità Kubernetes standard aggiornate.
  • Visibilità dei costi: monitora l'utilizzo e le statistiche in tempo reale, in modo da monitorare continuamente i costi di Kubernetes.
  • Gestione multi-team: concedi a più gruppi di utenti l'accesso ai cluster Kubernetes per limiti di gestione flessibili.
  • Flussi di lavoro Kubernetes automatizzati: fai affidamento sul provisioning automatico dei nodi e sulla scalabilità automatica orizzontale dei pod per gestire senza problemi i carichi di lavoro dei container.

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

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.

Configura un cluster Kubernetes come cluster condiviso o standard. Un cluster condiviso si estende su più progetti. Un cluster standard è limitato a un singolo progetto. Per saperne di più, consulta Configurazioni del cluster Kubernetes.

Un cluster Kubernetes è costituito da un control plane e da macchine worker denominate nodi. Il control plane 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.

Questo diagramma mostra un cluster Kubernetes con i seguenti componenti:

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 control plane 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 a riga di comando Kubernetes, come la CLI 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 control plane pianifica i workload 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.

I nodi sono raggruppati in un node pool, ovvero un insieme di nodi all'interno di un cluster che condividono la stessa configurazione e le stesse caratteristiche. Non puoi configurare un singolo nodo in un pool di nodi.

I pool di nodi personalizzati sono utili per la pianificazione di pod che richiedono più risorse rispetto ad altri, ad esempio più memoria o spazio su disco locale. Puoi utilizzare le incompatibilità dei nodi se hai bisogno di un maggiore controllo sulla pianificazione dei pod.

Per saperne di più, consulta Gestire i pool di nodi.

Configurazioni del cluster Kubernetes

Con il servizio GKE su GDC sono disponibili le seguenti configurazioni del cluster per gestire i workload dei container in un'organizzazione:

  • Cluster condiviso: un cluster Kubernetes con ambito a livello di organizzazione che si estende su più progetti e non è gestito da un singolo progetto, ma è collegato a questi.
  • Cluster Standard: un cluster Kubernetes con ambito di progetto che gestisce le risorse del cluster all'interno di un progetto e non può estendersi a più progetti.

Puoi scegliere il cluster più adatto ai tuoi requisiti per la gestione dei carichi di lavoro dei container. Per saperne di più, consulta Configurazioni del cluster Kubernetes.

Workload GPU in un cluster

GDC fornisce il supporto delle GPU NVIDIA per i cluster Kubernetes ed esegue i tuoi dispositivi GPU come workload utente. Ad esempio, potresti preferire eseguire notebook di intelligenza artificiale (AI) e machine learning (ML) in un ambiente GPU. Devi configurare il cluster per supportare i dispositivi GPU eseguendo il provisioning delle macchine GPU. Per un elenco dei tipi di macchine supportati per i cluster Kubernetes in GDC, consulta Macchine dei nodi del cluster.

Le GPU vengono allocate in modo statico. Le prime quattro GPU sono sempre dedicate a carichi di lavoro come le API AI e ML preaddestrate. Queste GPU non vengono eseguite su un cluster Kubernetes. Le GPU rimanenti sono disponibili per i cluster Kubernetes. I blocchi note AI e ML vengono eseguiti su cluster Kubernetes.

Assicurati di allocare macchine GPU per i tipi di cluster corretti per consentire l'esecuzione nel cluster di componenti come le API AI e ML. Per saperne di più, vedi Creare un cluster condiviso o Creare un cluster standard.

Limitazioni per GKE su GDC

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

  • Gestione automatica dei cluster
    • Riparazioni automatiche dei nodi: Monitoraggio del cluster che corregge automaticamente i nodi quando diventano non integri, riducendo la necessità di interventi manuali.
    • Upgrade automatici dei cluster: upgrade automatici della versione di Kubernetes per il control plane e i nodi worker di un cluster per garantire che il cluster esegua una versione supportata e sicura.
    • Scalabilità automatica del cluster: Regolazione automatica delle dimensioni di un cluster mediante l'aggiunta o la rimozione di nodi in base alle esigenze del carico di lavoro.
    • GKE Autopilot: Modalità operativa completamente gestita che gestisce l'infrastruttura.
    • Scalabilità automatica pod verticale: Regolazione automatica delle richieste e dei limiti di CPU e memoria per i pod di un cluster in base all'utilizzo storico.
  • Multi-cloud
    • Collega cluster multi-cloud: Crea cluster in altri ambienti cloud e gestiscili dalla console Google Cloud .
    • Connect gateway: Connettiti ai cluster di altri fornitori di servizi cloud con la tua identità Google Cloud per l'autenticazione.
    • Ingress multi-cluster: Esegui il deployment di risorse di bilanciamento del carico condivise in più cluster.
  • Operazioni

Passaggi successivi