Cluster Kubernetes in GDC

Questo documento descrive le opzioni e le funzionalità dei 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 con container utilizzando le metodologie Kubernetes standard del settore.

Questo documento è rivolto a un pubblico come amministratori IT all'interno del gruppo di amministratori della piattaforma e sviluppatori di applicazioni all'interno del gruppo di operatori di applicazioni che sono responsabili della gestione dei carichi di lavoro con container all'interno della propria organizzazione. Per saperne di più, consulta Pubblico di destinazione della documentazione di GDC air-gapped.

GKE in un ambiente disconnesso

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

GKE on GDC ti consente di creare e gestire i carichi di lavoro con container nel tuo ambiente disconnesso in modo simile all'utilizzo di GKE in pubblico Google Cloud.

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

Funzionalità Descrizione GKE on GDC GKE on Google Cloud
Disconnessione completa Funzionamento in un ambiente senza connessione a internet. No
Soluzione di backup Servizio per la creazione di copie di dati e configurazioni per un cluster al fine di garantire la protezione dei dati e consentire il ripristino da errori, 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 l'infrastruttura, la disponibilità e la 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 di migliorare le capacità di elaborazione. Solo GPU GPU e TPU
Scalabilità automatica orizzontale dei pod Regolazione automatica del numero di repliche dei pod in un deployment o in un altro carico di lavoro in base alle metriche osservate, come l'utilizzo della memoria o della CPU.
Container Linux Ambiente isolato per l'esecuzione di applicazioni su un host Linux.
UI per i cluster Interfaccia grafica che fornisce un modo visivo e intuitivo per gestire e monitorare un cluster. Solo cluster condiviso
UI per le risorse cluster Interfaccia grafica che fornisce un modo visivo e intuitivo per gestire e monitorare i carichi di lavoro con container di un cluster. Solo visualizzazione

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

Vantaggi dei cluster Kubernetes

GKE on GDC offre vantaggi chiave per i tuoi cluster Kubernetes, come i seguenti:

  • Gestione del ciclo di vita multi-cluster: esegui il deployment simultaneo di più cluster in GDC per una serie di istanze ospitate per i tuoi carichi di lavoro con container.
  • Distribuzione Kubernetes completamente supportata: crea cluster in bundle con le funzionalità Kubernetes standard aggiornate.
  • Visibilità dei costi: monitora l'utilizzo e gli approfondimenti in tempo reale, aiutandoti a 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: affidati al provisioning automatico dei nodi e alla scalabilità automatica orizzontale dei pod per gestire senza problemi i carichi di lavoro con container.

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

Architettura dei cluster GDC

I cluster Kubernetes sono separati logicamente l'uno dall'altro per fornire diversi domini di errore e garanzie di isolamento. In alcuni casi, sono anche separati fisicamente.

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

Un cluster Kubernetes è costituito da un piano di controllo e da macchine worker denominate nodi. Il piano di controllo e i nodi costituiscono il sistema di orchestrazione dei cluster Kubernetes. GKE on GDC gestisce l'intera infrastruttura sottostante dei cluster, inclusi il piano di controllo e tutti i componenti di sistema. Hai la responsabilità di gestire i 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 piano di controllo

Il piano di controllo esegue processi come il server API Kubernetes, lo scheduler e i controller delle risorse principali. GKE on GDC gestisce il ciclo di vita del piano di controllo dalla creazione all'eliminazione del cluster. Sono inclusi gli upgrade alla versione di Kubernetes in esecuzione sul piano di controllo, che GDC esegue automaticamente o manualmente su richiesta se preferisci eseguire l'upgrade prima della pianificazione automatica.

Piano di controllo e API Kubernetes

Il piano di controllo è 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 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 richieste API indicano a Kubernetes lo stato scelto per gli oggetti nel 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 piano di controllo 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, la scalabilità e gli upgrade. Il piano di controllo gestisce anche le risorse di rete e di archiviazione per questi carichi di lavoro. Il piano di controllo 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) create da GKE on GDC. Il piano di controllo gestisce e riceve gli aggiornamenti sullo stato auto-segnalato 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 del nodo Kubernetes, o kubelet, che comunica con il control plane ed è responsabile dell'avvio e dell'esecuzione dei container pianificati sul nodo.

GKE on 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 node pool personalizzati sono utili per la pianificazione dei pod che richiedono più risorse rispetto ad altri, ad esempio più memoria o spazio su disco locale. Puoi utilizzare i taint dei nodi se hai bisogno di un maggiore controllo sulla pianificazione dei pod.

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

Configurazione dei cluster Kubernetes

Con il servizio GKE on GDC sono disponibili le seguenti configurazioni dei cluster per gestire i carichi di lavoro con 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 a livello di progetto che gestisce le risorse del cluster all'interno di un progetto e non può estendersi su più progetti.

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

Carichi di lavoro GPU in un cluster

GDC fornisce il supporto per le GPU NVIDIA per i cluster Kubernetes, che eseguono i dispositivi GPU come carichi di lavoro 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 nodo 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 notebook AI e ML vengono eseguiti su cluster Kubernetes.

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

Limitazioni per GKE on GDC

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

Passaggi successivi