Questa pagina mostra come configurare un cluster ibrido in modalità ad alta affidabilità (HA) utilizzando le macchine virtuali (VM) in esecuzione su Compute Engine.
Puoi provare Google Distributed Cloud solo software in modo rapido e senza dover preparare l'hardware. Il completamento dei passaggi descritti in questa pagina ti fornisce un ambiente di test funzionante in esecuzione su Compute Engine.
Per provare Google Distributed Cloud solo software sulle VM di Compute Engine, completa i seguenti passaggi:
- Crea sei VM in Compute Engine
- Crea una rete
vxlantra tutte le VM con connettività L2 - Installa i prerequisiti per Google Distributed Cloud
- Esegui il deployment di un cluster ibrido
- Verifica il cluster
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Prendi nota dell'ID progetto perché ti servirà per impostare una variabile di ambiente utilizzata negli script e nei comandi di questa pagina. Se hai selezionato un progetto esistente, assicurati di essere il proprietario o l'editor del progetto.
-
Sulla tua workstation Linux, assicurati di aver installato l'ultima versione di
Google Cloud CLI, lo strumento a riga di comando per
interagire con Google Cloud. Se hai già installato gcloud CLI
aggiorna i suoi componenti eseguendo il seguente comando:
gcloud components update
A seconda di come è stato installato gcloud CLI, potresti visualizzare il seguente messaggio:
"You cannot perform this action because the Google Cloud CLI component manager is disabled for this installation. You can run the following command to achieve the same result for this installation:"Segui le istruzioni per copiare e incollare il comando per aggiornare i componenti.
I passaggi descritti in questa guida sono tratti dallo script di installazione nel
anthos-samples
repository. La sezione
Domande frequenti
contiene ulteriori informazioni su come personalizzare questo script per utilizzarlo con alcune
varianti comuni.
Crea sei VM in Compute Engine
Completa questi passaggi per creare le seguenti VM:
- Una VM per la workstation di amministrazione. Una workstation di amministrazione ospita strumenti di interfaccia a riga di comando (CLI) e file di configurazione per eseguire il provisioning dei cluster durante l'installazione, nonché strumenti di interfaccia a riga di comando per interagire con i cluster di cui è stato eseguito il provisioning dopo l'installazione. La workstation di amministrazione avrà accesso a tutti gli altri nodi del cluster tramite SSH.
- Tre VM per i tre nodi del control plane necessari per eseguire il control plane di Google Distributed Cloud.
- Due VM per i due nodi worker necessari per eseguire i workload sul cluster Google Distributed Cloud.
Configura le variabili di ambiente:
export PROJECT_ID=PROJECT_ID export ZONE=ZONE export CLUSTER_NAME=CLUSTER_NAME export BMCTL_VERSION=1.35.100-gke.72Per
ZONE, puoi utilizzareus-central1-ao una delle altre zone di Compute Engine .Esegui i seguenti comandi per accedere con il tuo Account Google e impostare il progetto come predefinito:
gcloud auth login gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONECrea l'account di servizio e la chiave
baremetal-gcr:Abilita Google Cloud API e servizi:
Concedi all'account di servizio
baremetal-gcrautorizzazioni aggiuntive per evitare di dover utilizzare più account di servizio per diverse API e servizi:Crea le variabili e gli array necessari per tutti i comandi di questa pagina:
Utilizza il seguente loop per creare sei VM:
Questo comando crea istanze VM con i seguenti nomi:
- abm-ws: la VM per la workstation di amministrazione.
- abm-cp1, abm-cp2, abm-cp3: le VM per i nodi del control plane.
- abm-w1, abm-w2: le VM per i nodi che eseguono i workload.
Utilizza il seguente loop per verificare che SSH sia pronto su tutte le VM:
Crea una rete vxlan con connettività L2 tra le VM
Utilizza la funzionalità vxlan standard di Linux per creare una rete che connetta tutte le VM con connettività L2.
Il seguente comando contiene due loop che eseguono le seguenti azioni:
- Utilizza SSH per accedere a ogni VM.
- Aggiorna e installa i pacchetti necessari.
Esegui i comandi necessari per configurare la rete con
vxlan.
Ora hai la connettività L2 all'interno della rete 10.200.0.0/24. Le VM hanno i seguenti indirizzi IP:
- VM della workstation di amministrazione: 10.200.0.2
- VM che eseguono i nodi del control plane:
- 10.200.0.3
- 10.200.0.4
- 10.200.0.5
- VM che eseguono i nodi worker:
- 10.200.0.6
- 10.200.0.7
Installa i prerequisiti per Google Distributed Cloud
Prima di installare Google Distributed Cloud, devi installare i seguenti strumenti sulla workstation di amministrazione:
bmctlkubectl- Docker
Per installare gli strumenti e prepararti per l'installazione di Google Distributed Cloud:
Esegui i seguenti comandi per scaricare la chiave del account di servizio nella workstation di amministrazione e installare gli strumenti richiesti:
Esegui i seguenti comandi per assicurarti che
root@10.200.0.xfunzioni. I comandi eseguono queste attività:- Genera una nuova chiave SSH sulla workstation di amministrazione.
- Aggiungi la chiave pubblica a tutte le altre VM nel deployment.
Esegui il deployment di un cluster ibrido
Il seguente blocco di codice contiene tutti i comandi e le configurazioni necessari per completare le seguenti attività:
- Crea il file di configurazione per il cluster ibrido necessario.
- Esegui i controlli preflight.
- Esegui il deployment del cluster.
Verifica il cluster
Puoi trovare il file kubeconfig del cluster nella workstation di amministrazione nella directory bmctl-workspace dell'account root. Per verificare il deployment, completa i seguenti passaggi.
Utilizza SSH per accedere alla workstation di amministrazione come root:
gcloud compute ssh root@abm-ws --zone ${ZONE}Puoi ignorare eventuali messaggi relativi all'aggiornamento della VM e completare questo tutorial. Se prevedi di mantenere le VM come ambiente di test, potresti voler aggiornare il sistema operativo o eseguire l'upgrade alla release successiva come descritto nella documentazione di Ubuntu.
Imposta la variabile di ambiente
KUBECONFIGcon il percorso del file di configurazione del cluster per eseguire i comandikubectlsul cluster.export clusterid=CLUSTER_NAME export KUBECONFIG=$HOME/bmctl-workspace/$clusterid/$clusterid-kubeconfig kubectl get nodesImposta il contesto corrente in una variabile di ambiente:
export CONTEXT="$(kubectl config current-context)"Esegui il seguente comando gcloud CLI. Questo comando:
- Concede al tuo account utente il ruolo Kubernetes
clusterrole/cluster-adminsul cluster. - Configura il cluster in modo che tu possa eseguire i comandi
kubectlsul computer locale senza dover utilizzare SSH per accedere alla workstation di amministrazione.
Sostituisci
GOOGLE_ACCOUNT_EMAILcon l'indirizzo email che è associato al tuo Google Cloud account. Ad esempio:--users=alex@example.com.gcloud container fleet memberships generate-gateway-rbac \ --membership=CLUSTER_NAME \ --role=clusterrole/cluster-admin \ --users=GOOGLE_ACCOUNT_EMAIL \ --project=PROJECT_ID \ --kubeconfig=$KUBECONFIG \ --context=$CONTEXT\ --applyL'output di questo comando è simile al seguente, che è troncato per una maggiore leggibilità:
Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: /root/bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig, context: CLUSTER_NAME-admin@CLUSTER_NAME Writing RBAC policy for user: GOOGLE_ACCOUNT_EMAIL to cluster. Successfully applied the RBAC policy to cluster.- Concede al tuo account utente il ruolo Kubernetes
Al termine dell'esplorazione, inserisci exit per uscire dalla workstation di amministrazione.
Recupera la voce
kubeconfigche può accedere al cluster tramite il gateway Connect.gcloud container fleet memberships get-credentials CLUSTER_NAMEL'output è simile al seguente:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_CLUSTER_NAME" has been generated and set as the current context.Ora puoi eseguire i comandi
kubectltramite il gateway Connect:kubectl get nodes kubectl get namespaces
Accedi al cluster da Google Cloud console
Per osservare i workload sul cluster da Google Cloud console, devi accedere al cluster. Prima di accedere alla console per la prima volta, devi configurare un metodo di autenticazione. Il metodo di autenticazione più semplice da configurare è l'identità Google. Questo metodo di autenticazione ti consente di accedere utilizzando l'indirizzo email associato al tuo Google Cloud account.
Il comando gcloud container fleet memberships generate-gateway-rbac che hai eseguito nella sezione precedente configura il cluster in modo che tu possa accedere con la tua identità Google.
Nella Google Cloud console, vai alla pagina Cluster GKE.
Fai clic su Azioni accanto al cluster registrato, quindi fai clic su Accedi.
Seleziona Accedi con la tua identità Google.
Fai clic su Accedi.
Libera spazio
Connettiti alla workstation di amministrazione per reimpostare le VM del cluster allo stato precedente all'installazione e annullare la registrazione del cluster dal Google Cloudprogetto:
gcloud compute ssh root@abm-ws --zone ${ZONE} << EOF set -x export clusterid=CLUSTER_NAME bmctl reset -c \$clusterid EOFElenca tutte le VM che hanno
abmnel nome:gcloud compute instances list | grep 'abm'Verifica che tu stia bene con l'eliminazione di tutte le VM che contengono
abmnel nome.Dopo aver verificato, puoi eliminare le VM
abmeseguendo il seguente comando:gcloud compute instances list --format="value(name)" | grep 'abm' | xargs gcloud \ --quiet compute instances delete