Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Kubernetes multi-cloud con Google Anthos e AWS (parte 2)

By Mike SparrSep 24, 20204 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Nel primo articolo abbiamo dato un'anteprima di Anthos GKE in esecuzione su AWS, illustrando alcuni casi d'uso e le funzionalità che porta sulla piattaforma Amazon Web Services. Ora entriamo nel vivo con istruzioni passo-passo (essenziali) per la configurazione.

Per semplificare le istruzioni online di Google, ho riscritto alcuni comandi rendendoli meno frammentati ed eliminando diversi passaggi manuali point-and-click. Il team di prodotto Anthos sta lavorando per integrare ulteriori passaggi nella CLI e semplificare ancora di più la configurazione: la procedura diventerà sempre più snella, quindi è probabile che alcuni di questi passaggi cambino.

Questo è il secondo di una serie in 3 parti dedicata ad Anthos GKE di Google:

Architettura

Fonte: Google

Prerequisiti

  • Account Google Cloud Platform (GCP) attivo, con Anthos (trial) abilitato
  • Account Amazon Web Services (AWS) attivo
  • Terminale sulla propria macchina locale o accesso a un terminale remoto
  • JQ installato per il parsing del JSON da CLI
  • Terraform CLI installato [opzionale] per eseguire i comandi TF

TL;DR

Affronteremo quattro passaggi principali, ciascuno con script dedicati che evidenziano le attività della relativa fase:

  1. Creare chiavi e ruoli IAM sia su AWS sia su GCP, quindi scaricare e installare la CLI anthos-gke (al momento il download richiede l'approvazione di Google: si rivolga al più presto al suo account manager).
  2. Configurare il management cluster (control plane), inizializzare gli script Terraform che lo creeranno ed eseguire Terraform per predisporre AWS e installare il control plane.
  3. Sfruttare Terraform per inizializzare la configurazione del primo cluster, aprire un tunnel verso il bastion AWS ed eseguire kubectl per creare il primo cluster (cluster-0).
  4. Aggiungere un ClusterRoleBinding al cluster, generare il token di autenticazione e collegare la GCP Cloud Console al nuovo cluster, così da centralizzare monitoraggio e amministrazione.

1\. Configurazione iniziale delle chiavi e download della CLI Anthos

Prerequisiti di Anthos GKE su AWS (setup)

Può essere preferibile copiare e incollare le attività indicate nel terminale ed eseguirle una alla volta (consigliato al primo tentativo, per facilitare il debug). Una volta completate, dovrebbe essere in grado di lanciare i seguenti comandi e ottenere un output simile a quello mostrato qui sotto.

2\. Creare un management cluster (control plane)

Una volta lanciati i comandi anthos-gke init e apply, la CLI genererà del codice Terraform che comparirà nella sua directory di lavoro e lo applicherà per costruire l'infrastruttura su AWS. A quel punto installerà il management cluster (control plane).

La CLI anthos-gke genera ed esegue gli script Terraform sulla sua macchina

Nota: in caso di problemi, può semplicemente riutilizzare gli script Terraform e la Terraform CLI per riapplicare le impostazioni.

3\. Creare il primo cluster

Se è arrivato fin qui, complimenti! Di fatto la configurazione è ormai completa e da questo punto può sfruttare le custom resource definitions (CRD) AWSCluster e AWSNodePool per creare cluster e node pool secondo le sue esigenze.

Il codice Terraform generato espone alcuni output che producono un manifest da applicare al control plane: il management cluster GKE si occuperà quindi del provisioning del nuovo cluster.

Suggerimento: dia un'occhiata al file cluster-0.yaml prodotto da Terraform. Prima di applicare il manifest, valuti se ridurre i valori min/max dei nodi per contenere la spesa cloud. Per approfondire può consultare la pagina sull'architettura di Anthos GKE sul sito di Google.

Creazione del primo cluster GKE su AWS

Pro tip: usi il comando watch per monitorare lo stato fino a "Provisioned".

CMD: watch kubectl get AWSClusters

4\. Collegare il cluster al GKE Hub

Dopo aver generato il token e copiato il valore negli appunti, torni nella console GCP, faccia clic su "Login" in corrispondenza del cluster, selezioni "Token" e incolli il token.

Autenticazione di GKE admin (GKE Hub) sul cluster AWS

Complimenti!

Se è arrivato fin qui, può concedersi una pacca sulla spalla. Le attività in realtà non sono così macchinose e ho inserito alcune variabili d'ambiente all'inizio di ciascuno script, qualora venissero eseguiti separatamente. Se copia e incolla i comandi in un'unica shell, può saltare le attività relative a bastion/proxy/context in ogni file e configurare e autenticare i cluster con grande facilità.

Prossimi passi

Nel prossimo articolo vedremo come fare il deploy di workloads sul cluster e come interagire con altri servizi AWS.

Torni a trovarci qui per il link non appena sarà disponibile oppure, se preferisce, mi segua per restare aggiornato sui nuovi articoli. Può inoltre visitare il nostro sito https://blog.doit-intl.com per leggere gli altri articoli pubblicati.