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 connetterli a Google Cloud Console.

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 macchine (chiamati anche "nodi") che eseguono applicazioni containerizzate.

Introduzione a GKE On-Prem

GKE On-Prem è incluso come componente principale di Anthos.

Prepararsi a GKE On-Prem

Installerai GKE On-Prem in un cluster VMware vSphere 6.5 in esecuzione su hardware nell'ambiente on-prem. Per il bilanciamento del carico di livello 4, puoi scegliere di utilizzare F5 BIG-IP (bilanciatore del carico integrato di GKE On-Prem) o di configurare un altro bilanciatore del carico L4.

La preparazione include la configurazione del progetto Google Cloud e il download degli strumenti dell'interfaccia a riga di comando (CLI) necessari, inclusa Terraform versione 11. Include anche l'utilizzo di Terraform per creare una macchina virtuale (VM) di workstation amministrativa in vSphere.

Informazioni sulla workstation di amministrazione

La workstation di amministrazione è la VM vSphere da cui gli amministratori dei cluster installano e interagiscono con GKE On-Prem.

Se sei un amministratore del cluster, utilizzi Terraform per creare la workstation di amministrazione in vSphere. Per creare la workstation di amministrazione, devi scaricare tre file:

  • Apri il file Virtual Appliance (OVA). Questa è un'immagine VM con controllo delle versioni che fornisce un "modello VM" per Terraform.
  • File di configurazione Terraform (TF).
  • File di configurazione di Terraform (TFVARS).

La workstation di amministrazione include:

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 di cui è stato eseguito il deployment nei 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. Puoi trovarlo anche nella sezione Download. Ha solo file YAML dei componenti del cluster installati durante l'installazione.

Come funziona GKE On-Prem

Ecco un riepilogo generale dei passaggi effettuati durante un'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. Nel file di configurazione viene dichiarata una specifica per l'installazione di GKE On-Prem. Puoi modificarlo in base alle tue esigenze.
  3. Esegui gkectl check-config per convalidare l'utilizzo del file di configurazione modificato per un'installazione.
  4. 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.
  5. Esegui gkectl create clusters --config, passando il file di configurazione, per installare GKE On-Prem in modo dichiarativo.

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

Architettura

Diagramma che descrive l'architettura di GKE On-Prem Figura: architettura GKE On-Prem con un piano di controllo dell'utente.

In GKE On-Prem sono presenti cluster di amministrazione e cluster utente.

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 e tutte le chiamate alle API vSphere.
  • Piani di controllo utente: un piano di controllo del cluster utente. Instrada le richieste API ai nodi del cluster. Ogni cluster crea un proprio piano di controllo che viene eseguito nel cluster di amministrazione.
  • 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.

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. Quando crei la workstation di amministrazione devi utilizzare govc.

terraform

terraform è l'interfaccia a riga di comando di HashiCorp Terraform. Per creare la workstation di amministrazione devi utilizzare terraform.

Gkectl

gkectl è l'interfaccia a riga di comando principale di GKE On-Prem. 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 Kubernetes e per attività quali:

  • 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 ogni cluster utente. L'agente Connect è un deployment che stabilisce una connessione criptata di lunga durata da cluster on-premise a Google Cloud.

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.