Guida rapida all'installazione di Anthos in modalità disconnessa
Ambito rapido della modalità privata di Anthos
Questa guida rapida illustra come installare Anthos in modalità disconnessa come operatore dell'infrastruttura, responsabile del livello dell'infrastruttura, come macchine Bare Metal, networking, archiviazione e sistema operativo. In questa guida rapida scoprirai come:
- Installare e configurare Anthos in esecuzione in modalità disconnessa utilizzando l'approccio di installazione minima.
- Eseguire il deployment di un cluster di amministrazione.
- Crea un cluster utente ed esegui il deployment di un'applicazione nel cluster utente.
Anthos in esecuzione in modalità disconnessa ha due tipi di cluster:
- I cluster Admin vengono utilizzati per creare e gestire i cluster utente.
- I cluster User eseguono i tuoi carichi di lavoro.
Hai anche una workstation di amministrazione, una singola macchina contenente gli strumenti necessari per installare e gestire il tuo Anthos in esecuzione in modalità disconnessa.
Prima di iniziare
Assicurati di soddisfare i requisiti tecnici per l'esecuzione di Anthos in modalità disconnessa e di avere cinque o più macchine pronte per l'uso. Per questa guida rapida sono necessarie esperienze precedenti in Kubernetes e gestione del sistema.Prepara l'ambiente
Accedi ad Anthos in esecuzione in modalità disconnessa
Google deve concederti l'accesso ad Anthos in esecuzione in modalità disconnessa. Fornisci al tuo punto di contatto Google un indirizzo email per ogni tester in modo che possiamo concedere loro l'accesso al repository di download. Questi indirizzi email devono essere Account Google.
Dopo che il tuo punto di contatto Google conferma che hai accesso ad Anthos in esecuzione in modalità disconnessa, verifica di avere le autorizzazioni per scaricare Anthos Anthos in esecuzione in modalità disconnessa eseguendo il seguente comando:
gsutil ls gs://anthos-private-mode-release/
Se ricevi un messaggio di errore, verifica che gsutil
utilizzi lo stesso Account Google
che hai indicato dal punto di contatto Google eseguendo il comando
gcloud auth list
.
In alternativa, puoi visitare il bucket di release più recente per verificare di disporre delle autorizzazioni corrette. Devi aver eseguito l'accesso con l'Account Google fornito in precedenza.
In caso di problemi di accesso ad Anthos in esecuzione in modalità disconnessa, contatta il tuo punto di contatto Google per ricevere assistenza.
Scarica Anthos in esecuzione in modalità disconnessa
In questa sezione scarichi Anthos in esecuzione in modalità disconnessa, contenuta in più file di diversi gigabyte ciascuno. Il download potrebbe richiedere molto tempo, a seconda della connessione a Internet.
Scarica Anthos in esecuzione in modalità disconnessa
Sulla workstation di amministrazione, esegui questi comandi:
# Login with the account granted access to Anthos running in disconnected mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.10.3-gke.2
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.10/installing/infrastructure#download
export INSTALLER_DIGEST=62ea4de45311e2899c8187aed2c57ea28919299fd9452bdb64c4d972b1d9956a
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER
# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS
Installa le dipendenze rimanenti
Una volta completato il download di Anthos in modalità disconnessa, esegui i comandi seguenti:
cd anthos-baremetal-private-mode
# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH
# Download Harbor offline installer
curl -SL \
https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
--output "local-registry/harbor-offline-installer.tgz"
# Install docker-compose
curl -SL \
https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
--output "local-registry/docker-compose"
Non hai di nuovo bisogno di una connessione a Internet finché non esegui il deployment dell'app demo.
Configurare Container Registry locale
Anthos in modalità disconnessa funziona archiviando le immagini container Anthos in un Container Registry locale.
Esporta le seguenti variabili di ambiente.
export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD
# By default, a library public project is created,
# and you can also create other private projects via the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library
Sostituisci quanto segue:
REGISTRY_HOST
è l'indirizzo IP del tuo registro. Se vuoi installare e utilizzare Anthos in esecuzione in Container Registry in modalità disconnessa nella workstation di amministrazione, utilizza qui l'indirizzo IP della workstation di amministrazione.REGISTRY_PASSWORD
è il valore che imposti per la tua password del Registro di sistema.
Configura Anthos Registry in esecuzione in modalità disconnessa
In questa sezione configurerai un Container Registry privato nella workstation di amministrazione. Esegui tutti i comandi seguenti dalla workstation di amministrazione.
Se non hai un tuo Container Registry privato, installa Anthos in esecuzione in modalità Container disconnesso.
cd ~/anthos-baremetal-private-mode # Move it to a path under $PATH chmod a+x local-registry/docker-compose sudo cp local-registry/docker-compose /usr/bin # Install local registry ./local-registry/install.sh
Accedi al registry per verificare di avere l'accesso. Se ricevi un errore, potrebbe essere necessario attendere qualche secondo.
docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
Container Registry è disponibile all'indirizzo https://REGISTRY_HOST/
dopo l'avvio del servizio.
Le credenziali di accesso sono il nome utente admin
e REGISTRY_PASSWORD
per la password.
Carica immagini in Container Registry
In questa sezione caricherai le immagini container in esecuzione in modalità disconnessa in Container Registry.
Prepara e carica le immagini container in esecuzione in modalità disconnessa nel tuo registry
del container. Se richiesto, scegli l'opzione Use that credential
o inserisci le nuove credenziali.
actl images push --private-registry=${PRIVATE_REGISTRY} \
--images ~/anthos-baremetal-private-mode
Nota: se utilizzi un proxy HTTP sulla workstation, potresti dover annullare l'impostazione delle seguenti variabili di ambiente per consentire il funzionamento del comando actl images push
:
unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
Installazione del Centro di gestione
In questa sezione installerai un cluster di amministrazione Anthos su macchine bare metal e quindi installerai il Centro di gestione Anthos sopra il cluster di amministrazione.
Prepara la configurazione del cluster di amministrazione
Aggiorna il file ./actl-workspace/admin/admin.yaml
con le impostazioni corrispondenti
al tuo ambiente.
vi ./actl-workspace/admin/admin.yaml
Compila i seguenti campi:
La chiave
sshPrivateKeyPath
è la chiave utilizzata durante l'installazione per accedere agli altri nodi che faranno parte del cluster. Questa è la controparte privata della chiave pubblica che hai distribuito ai nodi nei Prerequisiti.registryMirrors
identifica la posizione di tutti i mirroring del Registro di sistema in cui sono archiviate le immagini Docker.registryMirrors.endpoint
è l'endpoint del mirroring. Il formato dell'endpoint èURL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX
. Ad esempio, se hai creato il Registro di sistema sulla workstation, imposta l'endpoint suhttps://REGISTRY_HOST/v2/library
. Tieni presente che/v2/
è obbligatorio traREGISTRY_HOST
eIMAGE_PREFIX
.registryMirrors.pullCredentialConfigPath
è il percorso per le credenziali. In genere, questo è simile a/home/USER/.docker/config.json
.registryMirrors.caCertPath
è la posizione dell'autorità di certificazione utilizzata dal registry per criptare il traffico. Questo certificato viene distribuito ai nodi durante il processo di installazione per consentire loro di estrarre immagini dal registro. Il percorso solitamente è/etc/docker/certs.d/REGISTRY_HOST/ca.crt
.
La specifica
controlPlane
definisce i nodi che fanno parte del piano di controllo.controlPlane: nodePoolSpec: nodes: # Control plane node pools. Typically, this is either a single machine # or 3 machines if using a high availability deployment. - address: 10.200.0.3
La specifica
loadBalancer
definisce il tipo di bilanciatore del carico utilizzato. La configurazione predefinita installa un bilanciatore del carico sul cluster in esecuzione. In questo caso, devi almeno impostarecontrolPlaneVIP
in modo che identifichi un pool di indirizzi IP virtuali (VIP) per esporre il server API Kubernetes eaddressPools
per allocare i VIP on demand ai servizi che li richiedono. Ad esempio:loadBalancer: mode: bundled # There are two load balancer VIPs: one for the control plane and one for the # Layer 7 Ingress service. # The VIPs must be in the same subnet as the load balancer nodes. vips: # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server. # This address must not be in the address pools below. controlPlaneVIP: 10.200.0.50 # AddressPools is a list of non-overlapping IP ranges for the data plane load # balancer. # All addresses must be in the same subnet as the load balancer nodes. # Address pool configuration is only valid for 'bundled' LB mode in non-admin # clusters. addressPools: - name: pool1 addresses: # Each address must be either in the CIDR form (1.2.3.0/24) # or range form (1.2.3.1-1.2.3.5). - 10.200.0.51-10.200.0.59
L'ultima sezione delle specifiche del cluster specifica il valore
loginUser
. Questo accesso deve avere accesso alla chiave SSH specificata di seguito ed è l'utente per cui è stata distribuita nella chiave nei prerequisiti.nodeAccess: loginUser: LOGIN_USERNAME
Sostituisci
LOGIN_USERNAME
con il nome utente utilizzato per accedere al cluster utente.La specifica
nodePool
identifica i nodi che ospitano la console del Centro gestione, Prometheus, Grafana e altri servizi nel cluster di amministrazione. Questi nodi sono i nodi worker del cluster di amministrazione. Ad esempio:apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: # Cannot be changed, must be admin clusterName: admin nodes: - address: 10.200.0.6
Crea il cluster di amministrazione
Esegui il comando seguente per creare il cluster di amministrazione. Sono necessari circa 30 minuti.
cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin
Una volta creato il cluster di amministrazione, verifica di potervi accedere.
export ADMIN_KUBECONFIG=$(pwd)/bmctl-workspace/admin/admin-kubeconfig
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl get nodes
Installazione del Centro di gestione
Installare il Centro di gestione nel cluster di amministrazione con la configurazione predefinita.
cd ~/anthos-baremetal-private-mode actl platform management-center create
Accedi ad Anthos Management Center nel browser.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}
Viene restituito l'URL di Anthos Management Center.
Registrazione delle risorse
Registrare le macchine di inventario
Per creare un cluster utente, Anthos richiede un pool di macchine inattive. In questa sezione registri le macchine dell'inventario al cluster di amministrazione Anthos per renderle disponibili.
kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Esempio:
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: IP_ADDRESS
labels:
"KEY": "VALUE"
spec:
address: IP_ADDRESS
Sostituisci quanto segue:
IP_ADDRESS
: l'indirizzo IP della macchina, ad esempio10.200.0.10
.KEY
:VALUE
: una coppia chiave-valore, ad esempio"rack": "r1020"
per indicare la posizione di un rack.
Le labels
sono coppie chiave-valore in formato libero collegate alla risorsa.
Queste etichette possono essere utilizzate in un secondo momento nel Centro di gestione per filtrare le macchine.
Ad esempio, puoi utilizzare le etichette per identificare la posizione del rack o le configurazioni hardware speciali.
Creazione di cluster utente
Nella pagina Cluster del Centro di gestione, fai clic su Crea per creare un nuovo cluster utente Anthos. Una volta creato, il cluster viene registrato automaticamente nel Centro di gestione e viene visualizzato immediatamente nella dashboard del cluster.
L'installazione e la preparazione potrebbe richiedere fino a 15 minuti. Nel frattempo, puoi controllare lo stato del cluster utente con il seguente comando:
kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=${ADMIN_KUBECONFIG}
Sostituisci USER_CLUSTER_NAME
con il nome del cluster che hai creato.
Quando lo stato è pronto, il cluster viene creato e registrato correttamente nel cluster di amministrazione.
Accesso al cluster utente
Dopo aver creato il cluster utente, puoi scaricare kubeconfig tramite il Centro di gestione.
Esegui il deployment dell'app demo
Puoi esplorare Anthos in esecuzione in modalità disconnessa provando l'applicazione di esempio Online Boutique.
Scarica l'immagine
I passaggi di questa sezione richiedono una connessione a Internet.
Scarica il repository di esempio:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git/ online-boutique
Scarica le immagini:
IMAGES=$(cat online-boutique/release/kubernetes-manifests.yaml | grep image | sed "s/ *image: //") actl images save --output online-boutique-images ${IMAGES}
Esegui il deployment del campione
Esegui il push delle immagini al registro privato:
actl images push --images online-boutique-images --private-registry=PRIVATE_REGISTRY
Sostituisci
PRIVATE_REGISTRY
con il nome del tuo registro privato.Creare uno spazio dei nomi per l'applicazione.
kubectl create namespace demo --kubeconfig=USER_CLUSTER_KUBECONFIG
Sostituisci
USER_CLUSTER_KUBECONFIG
con il percorso del file Kubeconfig del cluster utente.Esegui il deployment dell'esempio nel cluster:
kubectl apply -n demo -f online-boutique/release/ --kubeconfig=USER_CLUSTER_KUBECONFIG
Esegui la pulizia
Elimina il tuo cluster utente eseguendo il comando seguente:
kubectl -n cluster-USER_CLUSTER_NAME \
delete Cluster USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG