Panoramica di GKE On-Prem

GKE On-Prem è un software cloud ibrido che porta Google Kubernetes Engine (GKE) nei data center on-premise. Con GKE On-Prem, puoi creare, gestire ed eseguire l'upgrade dei cluster Kubernetes nel tuo ambiente on-prem e connettere tali cluster a Google Cloud Console.

Questo argomento offre una panoramica tecnica di GKE On-Prem. Dopo aver completato l'argomento, assicurati di leggere i Requisiti di sistema.

Informazioni su Kubernetes

GKE On-Prem e GKE sono basati su Kubernetes, una piattaforma estensibile open source per la gestione di applicazioni containerizzate. Kubernetes orchestra i cluster, che sono insiemi di nodi (chiamati anche "macchine") che eseguono applicazioni containerizzate.

Introduzione a GKE On-Prem

GKE On-Prem è un componente principale di Anthos. Per utilizzare GKE On-Prem, devi prima contattare il team di vendita di Google e acquistare un abbonamento ad Anthos.

Prepararsi a GKE On-Prem

L'installazione di GKE On-Prem comporta il completamento di alcune attività di configurazione dei prerequisiti. Queste attività sono descritte nelle sezioni seguenti.

Ambiente di virtualizzazione VMware vSphere

Installa GKE On-Prem in un cluster VMware vSphere 6.5 in esecuzione nel tuo ambiente on-prem. vSphere è il software di virtualizzazione del server VMware.

Acquista anche VMware vCenter e VMware ESXi. ESXi è un hypervisor di tipo 1 che puoi installare su un set di host fisici/server nel tuo data center. vCenter è l'interfaccia utente basata su Web di vSphere per la gestione dei servizi di data center; fornisce una visione centrale di tutti gli host ESXi.

Nello specifico, sono necessari i seguenti prodotti VMware con licenza:

  • VMware ESXI 6.5, con una versione di licenza Enterprise Plus, installata su un set di host nel tuo data center.
  • VMware vCenter 6.5, con una versione di licenza Standard, installata su un host nel tuo data center.

Per saperne di più, consulta le seguenti risorse VMware:

Bilanciamento del carico

Per il bilanciamento del carico di livello 4, puoi scegliere tra due modalità di bilanciamento del carico: manuale o integrato. La modalità integrata supporta F5 BIG-IP (bilanciatore del carico integrato di GKE On-Prem). Con la modalità manuale, puoi scegliere qualsiasi bilanciatore del carico; al momento GKE On-Prem offre istruzioni documentate per i seguenti bilanciatori del carico:

Configura un bilanciatore del carico nel data center prima di installare GKE On-Prem. Durante l'installazione, scegli se abilitare la modalità di bilanciamento del carico integrata (F5 BIG-IP) o manuale (un bilanciatore del carico a tua scelta). La modalità di bilanciamento del carico manuale richiede l'assegnazione di IP statici per i nodi. Non puoi utilizzare un server DHCP (Dynamic Host Configuration Protocol) con la modalità di bilanciamento del carico manuale.

Autenticazione

Se hai client che devono eseguire l'autenticazione sui tuoi cluster e accedere ai tuoi carichi di lavoro containerizzati, puoi utilizzare OpenID Connect (OIDC) con un provider a tua scelta o con Active Directory Federated Services (ADFS).

Preparazione del tuo progetto Google Cloud in corso...

La preparazione del tuo progetto Google Cloud include:

  • Creazione di un progetto Google Cloud e abilitazione delle API necessarie
  • Associare i ruoli Identity and Access Management agli account di servizio.
  • Scaricare gli strumenti necessari per l'interfaccia a riga di comando (CLI), tra cui HashiCorp Terraform versione 11

Per ulteriori informazioni, consulta i seguenti argomenti:

Crea la workstation di amministrazione

La creazione della workstation di amministrazione include:

  • Download del file OVA della workstation di amministrazione che include un file bundle di GKE On-Prem.
  • Copiare un file di configurazione Terraform (TF) e di variabili Terraform (TFVARS) e modificarli per riflettere la configurazione vCenter e vSphere.
  • Usare Terraform per creare una macchina virtuale (VM) di workstation amministrativa in vSphere.

Per ulteriori informazioni, consulta i seguenti argomenti:

Come funziona GKE On-Prem

Ecco un riepilogo generale dei passaggi effettuati durante un'installazione: Vedi anche la Panoramica dell'installazione.

  1. Stai utilizzando la connessione SSH alla tua workstation di amministrazione.
  2. Esegui gkectl create-config per generare un file di configurazione GKE On-Prem. Il file di configurazione dichiara una specifica per l'installazione di GKE On-Prem.
  3. Puoi modificare il file di configurazione con i valori appropriati per le tue esigenze e il tuo ambiente, come specifiche del cluster, autenticazione OIDC, bilanciamento del carico, Stackdriver Logging, progetto Google Cloud con cui registrarsi e altro ancora.

  4. Esegui gkectl check-config per convalidare l'utilizzo del file di configurazione modificato per un'installazione.

  5. Esegui gkectl prepare per spostare l'immagine del sistema operativo GKE On-Prem in vSphere e contrassegnarla come modello per le VM. Se configuri un registro Docker privato, questo comando esegue anche il push delle immagini container di GKE On-Prem al registro.

  6. Esegui gkectl create cluster --config con il file di configurazione per creare i cluster GKE On-Prem nel tuo data center.

Al termine di un'installazione riuscita, in vSphere dovresti vedere quanto segue:

Architettura

Diagramma che descrive l'architettura di GKE On-Prem quando viene eseguito il deployment di un piano di controllo utente
Figura: architettura GKE On-Prem con un piano di controllo dell'utente. (Fai clic per ingrandire)

In GKE On-Prem è presente un cluster di amministrazione e, per impostazione predefinita, tre cluster utente. Sono inoltre disponibili due VM aggiuntive e una VM della workstation di amministrazione. Tutte queste VM vengono eseguite in un unico cluster vSphere.

Workstation di amministrazione

La workstation di amministrazione è la VM in vSphere da cui gli amministratori dei cluster installano e interagiscono con GKE On-Prem. È la prima VM che crei prima di creare qualsiasi altro elemento.

Se sei un amministratore del cluster, utilizzi Terraform per creare la workstation di amministrazione in vSphere. La workstation di amministrazione include:

Per creare la workstation di amministrazione, devi scaricare tre file:

  • Il file Open VM (OVA) della workstation di amministrazione. Questa è un'immagine VM con controllo della versione della workstation di amministrazione. Importa questo file in vSphere e contrassegnalo come modello VM. Terraform utilizza il modello per eseguire il deployment della workstation di amministrazione nel cluster vSphere.
  • File di configurazione Terraform (TF). Queste sono istruzioni che Terraform usa per creare la workstation di amministrazione nel cluster. Copia questo file sulla tua workstation o laptop locale.
  • File di configurazione di Terraform (TFVARS). Le variabili di questo file verranno completate con i valori del tuo ambiente. Il file di configurazione TF fa riferimento alle variabili del file TFVARS. Puoi copiare questo file nella workstation o nel laptop locali.

Cluster di amministrazione

Il cluster di amministrazione è il livello base di GKE On-Prem. Esegue i seguenti componenti GKE On-Prem:

  • Piano di controllo dell'amministratore: il piano di controllo dell'amministratore gestisce tutte le chiamate API gkectl e Kubernetes da e verso GKE On-Prem. Il piano di controllo dell'amministratore effettua alcune chiamate da e verso le API vCenter.
  • Piani di controllo utente: un piano di controllo del cluster utente. Instrada le richieste API ai nodi del cluster. Ogni cluster ha il proprio piano di controllo che viene eseguito nel cluster di amministrazione. Inoltre, i piani di controllo degli utenti effettuano chiamate da e verso le API vCenter.
  • VM aggiuntive: VM che eseguono i componenti aggiuntivi del cluster di amministrazione, come Grafana, Prometheus, componenti Istio e Stackdriver.

Tieni presente che i piani di controllo utente sono gestiti dal cluster di amministrazione. Vengono eseguiti sui nodi nei cluster di amministrazione, non nei cluster utente stessi. Per gestire i piani di controllo degli utenti, i cluster di amministrazione devono:

  • Gestire le macchine che eseguono i piani di controllo del cluster utente.
  • Crea, aggiorna ed elimina i componenti del piano di controllo.
  • Esporre il server API di Kubernetes al cluster utente.
  • Gestire i certificati del cluster.

Cluster utente

I cluster utente consentono di eseguire il deployment dei carichi di lavoro e i servizi containerizzati ed eseguirli.

VM componenti aggiuntivi

GKE On-Prem crea due VM per eseguire i componenti aggiuntivi del cluster di amministrazione, come Grafana, Prometheus, componenti di Istio e Stackdriver.

Informazioni sul pacchetto

Il bundle GKE On-Prem è un archivio TGZ con versione che contiene tutti i componenti necessari per creare ed eseguire l'upgrade dei cluster GKE On-Prem.

Esistono due tipi di pacchetti:

Pacchetto completo

Il set completo, gke-onprem-vsphere-[VERSION]-full.tgz, è incluso nella workstation di amministrazione. Puoi trovarlo in /var/lib/gke/bundles. Il bundle completo viene utilizzato per l'installazione di GKE On-Prem per la prima volta. Si tratta di un file di grandi dimensioni che include:

  • un file TAR con immagini container di tutti i componenti del cluster.
  • File YAML di questi componenti del cluster.
  • Immagine nodo GKE On-Prem.

Esegui l'upgrade del bundle

Il pacchetto di upgrade, gke-onprem-vsphere-[VERSION].tgz, viene fornito per i cluster di upgrade. Ogni volta che esegui l'upgrade dei cluster, scarichi il bundle della versione da Download. Il bundle di upgrade contiene solo file di configurazione YAML, utilizzati per eseguire l'upgrade dei componenti del cluster.

Strumenti dell'interfaccia a riga di comando

Quando installi GKE On-Prem, scarichi i seguenti strumenti dell'interfaccia a riga di comando nell'ambiente della tua workstation o laptop:

  • govc
  • terraform
  • gkectl
  • kubectl (inclusa in Google Cloud CLI)
  • gcloud (incluso nell'interfaccia a riga di comando gcloud)

govc

govc è l'interfaccia a riga di comando per vSphere. Puoi utilizzare govc quando crei la workstation di amministrazione e utilizzarla per amministrare il cluster vSphere.

terraform

terraform è l'interfaccia a riga di comando di HashiCorp Terraform. Utilizzi terraform per creare ed eseguire l'upgrade della workstation di amministrazione.

gkectl

gkectl è l'interfaccia a riga di comando per GKE On-Prem. Consulta la sua guida di riferimento.

gkectl viene utilizzato per molte attività di amministrazione del cluster, tra cui:

  • Creazione e gestione dei cluster.
  • Diagnostica e risoluzione dei problemi.
  • Acquisisci ed esporta i log del cluster.

kubectl

kubectl è l'interfaccia a riga di comando per Kubernetes. Utilizzi kubectl per interagire con i cluster Kubernetes e Kubernetes e per attività tra cui:

  • Deployment, gestione ed eliminazione dei carichi di lavoro containerizzati in esecuzione nei cluster.
  • Gestione, modifica ed eliminazione delle risorse Kubernetes.

gcloud

Google Cloud CLI è l'interfaccia a riga di comando per Google Cloud. Puoi utilizzare l'interfaccia a riga di comando gcloud per diversi scopi, tra cui:

  • Autenticazione sul progetto Google Cloud.
  • Creazione di account di servizio e relative chiavi private.
  • Associare i ruoli Identity and Access Management agli account.

Registrazione dei cluster con Google Cloud Console

Quando crei cluster utente GKE On-Prem, puoi scegliere di abilitare Connect per registrarli automaticamente con Google Cloud Console. Connect ti consente di visualizzare e accedere ai cluster Kubernetes on-premise e su cloud dalla stessa interfaccia utente di Google Cloud.

L'abilitazione di Connect crea un agente Connect in ciascun cluster utente. L'agente Connect è un deployment che stabilisce una connessione criptata di lunga durata a Google Cloud dal cluster utente su cui viene eseguito.

L'immagine container di Connect Agent viene estratta da un repository Container Registry che si trova in gcr.io. Se il tuo cluster utente non ha una connessione a gcr.io, devi utilizzare un registro Docker privato per connetterlo a Google Cloud Console.

Controllo delle versioni

Per scoprire tutto come funziona il controllo delle versioni, vedi Versioni.

Risoluzione dei problemi e diagnostica dei problemi

Per risolvere il problema, consulta i seguenti argomenti:

Valori segnaposto nella documentazione di GKE On-Prem

Man mano che utilizzi la documentazione di GKE On-Prem, puoi modificare placeholder values nei blocchi di codice facendo clic su di essi. Nel blocco seguente, fai clic su [YOUR_NAME] e osserva che è modificabile:

Enter your name: [YOUR_NAME]

Questo può essere utile se vuoi inserire i valori segnaposto prima di copiare i comandi ed eseguirli nel tuo ambiente.

Passaggi successivi

Successivamente, leggi i Requisiti di sistema per scoprire di più su come preparare l'ambiente on-prem.