Guida rapida di installazione della modalità privata di Anthos
Ambito della guida rapida alla modalità privata di Anthos
Questa guida rapida ti guida nell'installazione della modalità privata di Anthos come operatore di infrastruttura, responsabile del livello di infrastruttura come macchine bare metal, networking, archiviazione e sistema operativo. In questa guida rapida, imparerai a:
- Installa e configura la modalità privata di Anthos 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.
La modalità privata di Anthos ha due tipi di cluster:
- I cluster amministratore vengono utilizzati per creare e gestire i cluster utente.
- I cluster utente eseguono i tuoi carichi di lavoro.
Hai anche una workstation di amministrazione, una singola macchina contenente gli strumenti necessari per installare e gestire il deployment in modalità privata di Anthos.
Prima di iniziare
Assicurati di soddisfare i requisiti tecnici per la modalità privata di Anthos e di avere cinque o più macchine pronte all'uso. Per questa guida rapida è necessaria l'esperienza di Kubernetes e di gestione del sistema.Prepara l'ambiente
Accedi alla modalità privata di Anthos
Google deve concederti l'accesso alle release in modalità privata di Anthos. Fornisci al tuo punto di contatto Google un indirizzo email per ogni tester in modo che possiamo concedere l'accesso al repository di download. Questi indirizzi email devono essere Account Google.
Quando il tuo punto di contatto Google conferma che hai accesso alle release in modalità privata di Anthos, verifica di avere le autorizzazioni per scaricare le release in modalità privata di Anthos eseguendo questo comando:
gsutil ls gs://anthos-private-mode-release/
Se ricevi un messaggio di errore, verifica che gsutil
utilizzi lo stesso Account Google che hai fornito al 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 che hai fornito in precedenza.
Se hai problemi ad accedere alle release in modalità privata di Anthos, contatta il tuo punto di contatto Google per ricevere assistenza.
Scarica la modalità privata di Anthos
In questa sezione scarichi la release della modalità privata di Anthos, contenuta in più file di diversi gigabyte ciascuno. A seconda della connessione a Internet, il download potrebbe richiedere molto tempo.
Scarica la modalità privata di Anthos
Nella workstation di amministrazione, esegui i comandi seguenti:
# Login with the account granted access to Anthos private mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.8.5-gke.1
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.8/installing/infrastructure#download
export INSTALLER_DIGEST=7747774fc4274f330558c647b4268c3ef7fcac355c3f3451d7c6c09b8d91b933
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
Al termine del download in modalità privata di Anthos, 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 ti servirà più una connessione a Internet finché non esegui il deployment dell'app demo.
Configurare Container Registry locale
La modalità privata di Anthos funziona archiviando le immagini container di 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
è il tuo indirizzo IP del registry. Se vuoi installare e utilizzare il registro dei container in modalità privata di Anthos sulla workstation di amministrazione, utilizza qui l'indirizzo IP della workstation di amministrazione.REGISTRY_PASSWORD
è il valore che imposti per la password del Registro di sistema.
Configurare il registro dei container in modalità privata di Anthos
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 Container Registry in modalità privata.
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 accesso. Se ricevi un errore, potrebbe essere necessario attendere alcuni secondi.
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 le immagini in Container Registry
In questa sezione, caricherai le immagini container in modalità privata di Anthos in Container Registry.
Prepara e carica le immagini container in modalità privata di Anthos nel tuo
registro 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 far funzionare il comando actl images push
:
unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
Centro di installazione per l'installazione
In questa sezione installerai un cluster di amministrazione Anthos su macchine Bare Metal, quindi installerai Anthos Management Center sopra il cluster di amministrazione.
Prepara la configurazione del cluster di amministrazione
Aggiorna il file ./actl-workspace/admin/admin.yaml
con impostazioni corrispondenti al tuo ambiente.
vi ./actl-workspace/admin/admin.yaml
Compila i seguenti campi:
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 in cui sono archiviate le immagini Docker.registryMirrors.endpoint
è il punto finale dello specchio. Il formato dell'endpoint èURL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX
. Ad esempio, se hai creato il registro sulla workstation, imposta l'endpoint suhttps://REGISTRY_HOST/v2/library
. Tieni presente che è obbligatorio l'intervallo/v2/
compreso traREGISTRY_HOST
eIMAGE_PREFIX
.registryMirrors.pullCredentialConfigPath
è il percorso delle credenziali. In genere è simile a/home/USER/.docker/config.json
.registryMirrors.caCertPath
è la posizione dell'autorità di certificazione che il registry utilizzerà per criptare il traffico. Questo certificato viene distribuito ai nodi durante il processo di installazione per consentire loro di estrarre immagini dal registro. In genere il percorso è/etc/docker/certs.d/REGISTRY_HOST/ca.crt
.
Le specifiche
controlPlane
definiscono 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
Le specifiche
loadBalancer
definiscono il tipo di bilanciatore del carico utilizzato. La configurazione predefinita installa un bilanciatore del carico nel cluster in esecuzione. In questo caso, come minimo, devi impostarecontrolPlaneVIP
per identificare 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 # L7 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
loginUser
. Questo accesso deve avere accesso alla chiave SSH specificata di seguito ed è l'utente per il quale la chiave è stata distribuita nei Prerequisiti.nodeAccess: loginUser: LOGIN_USERNAME
Sostituisci
LOGIN_USERNAME
con il nome utente utilizzato per accedere al cluster utente.Le specifiche
nodePool
identificano i nodi che ospitano la console del Centro di 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. Ci vogliono 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
Centro di installazione per l'installazione
Installare il Centro di gestione sul cluster di amministrazione con la configurazione predefinita.
cd ~/anthos-baremetal-private-mode actl platform management-center create
Accedi ad Anthos Management Center nel tuo browser.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}
Viene restituito l'URL di Anthos Management Center.
Registrazione delle risorse
Registra macchine dell'inventario
Per creare un cluster utente, Anthos ha bisogno di un pool di macchine inattive. In questa sezione registri le macchine dell'inventario nel 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.
che possono essere utilizzate in un secondo momento nel Centro gestione per filtrare le macchine.
Ad esempio, puoi utilizzare le etichette per identificare la posizione del rack o configurazioni di hardware speciali.
Creazione di cluster utente
Nella pagina Cluster del Centro gestione, fai clic su Crea per creare un nuovo cluster utente Anthos. Una volta creato, il cluster viene registrato automaticamente nel Centro gestione e viene visualizzato immediatamente nella dashboard.
L'installazione e l'installazione potrebbero richiedere fino a 15 minuti. Nell'attesa, 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.
Accedere al cluster utente
Una volta creato il cluster utente, puoi scaricare kubeconfig tramite il Centro di gestione.
Esegui il deployment dell'app demo
Puoi esplorare la modalità privata di Anthos provando l'applicazione di esempio di 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 dell'esempio
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 cluster utente eseguendo il comando seguente:
kubectl -n cluster-USER_CLUSTER_NAME \
delete Cluster USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
Passaggi successivi
- Esamina i file di configurazione di esempio.