Installa Anthos in esecuzione in un'infrastruttura in modalità disconnessa

Questa pagina è dedicata agli operatori dell'infrastruttura.

Anthos in modalità disconnessa è una versione di Anthos che può essere eseguita completamente isolata da Internet in un ambiente con air gap. Puoi utilizzare Anthos in esecuzione in modalità disconnessa per eseguire carichi di lavoro altamente regolamentati on-premise, sfruttando al contempo i vantaggi di un'infrastruttura cloud-native.

Introduzione

L'architettura di Anthos in esecuzione in modalità disconnessa è simile all'architettura della versione connessa di Anthos su Bare Metal: è presente un cluster admin che puoi utilizzare per creare e gestire i cluster user. I carichi di lavoro vengono eseguiti nei cluster utente. 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.

Rispetto alla versione connessa di Anthos su Bare Metal, Anthos in modalità disconnessa include tre componenti aggiuntivi:

  • Un Container Registry facoltativo in esecuzione sulla workstation di amministrazione per archiviare tutte le immagini di Anthos Anthos (necessario in uno scenario in cui non hai accesso a un Container Registry).
  • Uno strumento a riga di comando actl che consente di installare Anthos in esecuzione in modalità disconnessa ed eseguire altre attività amministrative.
  • Anthos Management Center ti aiuta a gestire autorizzazioni e autenticazione, osservabilità e gestione delle funzionalità Anthos multi-cluster. Il Centro di gestione include una console basata sul Web in esecuzione sul cluster di amministrazione. La console utente di Management Center consente di gestire tutte le risorse che costituiscono il deployment di Anthos, inclusi computer, pool di indirizzi e cluster utente. Puoi anche utilizzare la console del Centro gestione per gestire le funzionalità di Anthos e monitorare i tuoi carichi di lavoro.

Diagramma che descrive l'architettura di Anthos

Figura: architettura Anthos.

Prepara l'ambiente

Ottieni l'accesso alla release del prodotto, scarica la versione più recente e installa le dipendenze.

Prima di iniziare

Prima di seguire le istruzioni riportate in questa pagina, assicurati di soddisfare i requisiti tecnici per l'esecuzione di Anthos in modalità disconnessa.

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.11.3-gke.0

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.11/installing/infrastructure#download
export INSTALLER_DIGEST=1b8b1a8a596c0cbadd8aa2c0fc1bb2217d2f22d3d1f27f19b76e3f158e394e54
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"

Questi sono gli unici due passaggi della procedura che richiedono una connessione a Internet. Se installi Anthos in esecuzione in modalità disconnessa in un ambiente completamente isolato da Internet, puoi:

  • Innanzitutto, connetti la workstation di amministrazione a Internet e scarica la release come mostrato sopra. Quindi, disconnetti la workstation da Internet e collegala all'ambiente con air gap.
  • Scarica la release da una workstation per sviluppatori connessa a Internet, copiala su un dispositivo di archiviazione portatile e sposta questo dispositivo nella tua workstation di amministrazione con air gap.

Puoi esplorare i contenuti di Anthos in esecuzione in modalità disconnessa:

./anthos-baremetal-private-mode
├── actl-workspace
│   └── admin
│       └── admin.yaml
├── baremetal
│   ├── images
│   └── package-spec.yaml
├── bin
│   ├── actl
│   ├── istioctl
│   └── nomos
├── local-registry
│   ├── cleanup.sh
│   ├── docker-compose
│   ├── generate-certs.sh
│   ├── harbor-offline-installer.tgz
│   └── install.sh
├── managementcenter
│   ├── images
│   └── management-center.yaml
├── services
│   ├── anthos-config-management
│   ├── anthos-service-mesh
│   └── images
├── third_party
└── updatecenter
    └── images
  • La directory local-registry contiene le risorse per configurare un Container Registry locale.
  • Altre directory come managementcenter, services e baremetal contengono tutto il necessario per installare il cluster di amministrazione e Anthos Management Center.

Facoltativo: abilita il completamento automatico della shell Actt

Lo strumento a riga di comando actl supporta il completamento automatico della shell per Bash, Zsh e Fish. Puoi configurare il completamento nella tua shell seguendo le istruzioni in actl help completion, ad esempio in Ubuntu/Debian, bash:

# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion

# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)

Configurare Container Registry

Anthos in modalità disconnessa funziona archiviando le immagini container Anthos in un Container Registry locale. Puoi utilizzare il tuo registro di container esistente o Anthos in esecuzione in modalità disconnessa.

Esporta le seguenti variabili di ambiente.

export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD

# By default, a public project called 'library' is created,
# and you can also create other public or private projects with 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.

Se decidi di utilizzare un tuo registro dei container, vai alla sezione Caricare immagini nel registro dei container.

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.

  1. 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
    
  2. 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}
    

Note:

  • Container Registry in esecuzione in modalità disconnessa viene utilizzato per installare Anthos in esecuzione solo in modalità disconnessa. Non è ancora adatto all'uso in produzione.
  • Il progetto registro pubblico predefinito è library e può essere utilizzato per impostazione predefinita. Tuttavia, se vuoi, puoi accedere al registry e creare un nuovo progetto.
  • 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.
  • Le credenziali vengono memorizzate in modalità non criptata in /home/<USER>/.docker/config.json.

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

(Facoltativo) Caricare i grafici Helm in Container Registry

In questa sezione caricherai i grafici Helm facoltativi in esecuzione in modalità disconnessa nel tuo Container Registry. Anthos in esecuzione in modalità disconnessa 1.10 include grafici Helm in bundle per tre soluzioni Google Cloud Marketplace: PostgreSQL, Redis e Kafka. Questi popolari stack software open source sono pacchettizzati da Google e progettati per essere eseguiti in ambienti scollegati.

  1. Prepara e carica i grafici Helm in modalità disconnessa nel tuo registry dei container. Se richiesto, scegli l'opzione Use that credential o inserisci le nuove credenziali:

    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-kafka/package-spec.yaml
    
  2. Per eseguire il pull di Anthos in grafico Helm in modalità disconnessa dal tuo Container Registry, abilita il supporto sperimentale OCI per Helm:

    export HELM_EXPERIMENTAL_OCI=1
    
  3. Se il tuo registro privato utilizza un certificato autofirmato, devi aggiornare anche i certificati dell'autorità di certificazione (CA) nel sistema. Per informazioni dettagliate, consulta questo problema di Helm.

    sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  4. Accedi al registry per verificare di avere accesso:

    helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    
  5. Trascina i dati Helm in esecuzione in modalità disconnessa dal tuo registro container:

    helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG>
    helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .
    

Passaggi successivi