Preparazione di un ambiente con limitazioni Internet

È possibile distribuire cluster di gestione e cluster del carico di lavoro di Tanzu Kubernetes Grid in ambienti che non sono connessi a Internet, ad esempio:

  • Ambienti con proxy
  • Ambienti con air gap senza connessione fisica a Internet

Questo argomento spiega come distribuire cluster di gestione in ambienti con limitazioni Internet in vSphere o AWS. Non è necessario seguire queste procedure se si utilizza Tanzu Kubernetes Grid in un ambiente connesso in cui è possibile eseguire il pull delle immagini tramite una connessione Internet esterna.

Nota

Questo documento illustra i passaggi generici per distribuire i cluster di gestione e del carico di lavoro di Tanzu Kubernetes Grid in ambienti con air gap. Per distribuire i cluster di gestione e del carico di lavoro in una configurazione specifica e convalidata in ambienti con air gap, vedere Documentazione sull'architettura di riferimento di VMware Tanzu.

Per eseguire questa procedura, è possibile utilizzare una singola macchina o macchine diverse come macchine di bootstrap negli ambienti online e offline.

(Facoltativo) Scarica il file OVA di Harbor

Se si desidera installare il registro Harbor, scaricare il file OVA di Harbor:

  1. Passare a VMware Customer Connect e accedere con le credenziali di VMware Customer Connect.
  2. Passare alla pagina di download di Tanzu Kubernetes Grid.
  3. Nella riga VMware Tanzu Kubernetes Grid fare clic su Vai ai download (Go to Downloads).
  4. Nel menu a discesa Seleziona versione (Select Version) selezionare 2.1.1.
  5. In Download dei prodotti (Product Downloads) scorrere fino alla sezione denominata OVA Harbor e fare clic su Scarica ora (Download Now).
  6. (Facoltativo) Verificare che i file scaricati siano uguali a quelli originali. VMware fornisce un checksum SHA-1, un checksum SHA-256 e un checksum MD5 per ogni download. Per ottenere questi checksum, fare clic su Altre informazioni (Read More) sotto la voce che si desidera scaricare. Per ulteriori informazioni, vedere Utilizzo di hash crittografici.

Prerequisiti generali

Per poter distribuire cluster di gestione e cluster del carico di lavoro in un ambiente con limitazioni Internet, è necessario disporre di:

  • Una macchina di bootstrap Linux connessa a Internet che:
  • Un modo per consentire alle macchine virtuali del cluster di accedere alle immagini nel registro privato:
    • Ambienti con proxy: un server proxy in uscita che consente alle macchine virtuali del cluster di accedere al registro.
      • Quando si distribuisce un cluster di gestione in questo ambiente con proxy, impostare le variabili TKG_*_PROXY nel file di configurazione del cluster sull'indirizzo del server proxy e impostare TKG_PROXY_CA_CERT sull'autorità di certificazione del server proxy se il suo certificato è autofirmato. Vedere Configurazione dei proxy.
    • Ambienti con air gap: Un'unità thumb USB o un altro supporto per portare il registro privato dietro un air gap, dopo che il registro è stato popolato con immagini.
  • Un'unità thumb USB o un altro dispositivo di storage offline portatile.

Architettura e prerequisiti di vSphere

Questo documento illustra i passaggi generici per distribuire i cluster di gestione e del carico di lavoro di Tanzu Kubernetes Grid nella rete vSphere in ambienti con air gap. Per distribuire i cluster in una configurazione specifica e convalidata nella rete vSphere in un ambiente con air gap, vedere Progettazione di riferimento di VMware Tanzu Kubernetes Grid nella rete vSphere con air gap e Distribuzione di Tanzu Kubernetes Grid nella rete vSphere in un ambiente con air gap nel documento Progettazione e distribuzione di riferimento di VMware Tanzu Kubernetes Grid 2.1 con air gap.

Architettura di vSphere

Un'installazione di Tanzu Kubernetes Grid con limitazioni Internet in vSphere include firewall e comunicazione tra i componenti principali, come illustrato di seguito.

Nota

Il diagramma seguente descrive lo scenario in cui vengono utilizzate diverse macchine di bootstrap negli ambienti online e offline.

Diagramma: TKG con air gap in vSphere

In vSphere, oltre ai prerequisiti generali precedenti, è necessario:

  • Caricare in vSphere i file OVA da cui vengono create le macchine virtuali dei nodi. Vedere Importazione del modello di immagine di base in vSphere in Distribuzione dei cluster di gestione in vSphere.

    Dopo aver creato la macchina virtuale, se non è possibile accedere con il nome utente e la password predefiniti, reimpostare la password utilizzando Gnu GRUB, come descritto in Reimpostazione di una password root persa se si tratta di Photon OS.

  • Accedere alla jumpbox come root e abilitare l'accesso SSH remoto come indicato di seguito:

    1. Aprire il file /etc/ssh/sshd_config in un editor. nano /etc/ssh/sshd_config
    2. Aggiungere una riga nella sezione Authentication del file che indichi PermitRootLogin yes. In questo caso la riga esiste già. Rimuovere "#".
    3. Salvare il file /etc/ssh/sshd_config aggiornato.
    4. Riavviare il server SSH utilizzando service sshd restart
  • Installare e configurare un registro del container privato compatibile con Docker come Harbor, Docker o Artifactory come indicato di seguito. Questo registro viene eseguito all'esterno di Tanzu Kubernetes Grid ed è separato da qualsiasi registro distribuito come servizio condiviso per i cluster:

    • Installare il registro all'interno del firewall.
    • È possibile configurare il registro del container con certificati SSL firmati da un'autorità di certificazione attendibile o con certificati autofirmati.
    • Il registro non deve implementare l'autenticazione utente. Ad esempio, se si utilizza un registro Harbor, il progetto deve essere pubblico e non privato.
    • Per installare Harbor In vSphere:
  • Configurare una subnet offline da utilizzare come ambiente con limitazioni Internet e associarla alla jumpbox.

  • Configurare il server DHCP per allocare gli IP privati alla nuova istanza.

  • Creare un vSphere Distributed Switch in un data center per gestire la configurazione di rete di più host contemporaneamente da una posizione centrale.

Architettura e prerequisiti di AWS

Questo documento illustra i passaggi generici per distribuire i cluster di gestione e del carico di lavoro di Tanzu Kubernetes Grid in AWS in un ambiente air gap. Per distribuire i cluster in una configurazione specifica e convalidata su AWS in un ambiente con air gap, vedere Progettazione di riferimento di VMware Tanzu Kubernetes Grid in AWS con air gap e Distribuzione di Tanzu Kubernetes Grid in AWS in un ambiente con air gap nel documento Progettazione e distribuzione di riferimento di VMware Tanzu Kubernetes Grid 2.1 con air gap.

Architettura di AWS

Un'installazione di Tanzu Kubernetes Grid con proxy in Amazon Web Services (AWS) include firewall e comunicazione tra i componenti principali, come illustrato di seguito. Tra il piano di controllo e i domini del carico di lavoro e tra i componenti del carico di lavoro e i componenti del piano di controllo vengono automaticamente creati gruppi di sicurezza.

Diagramma: TKG con air gap in AWS

Per un'installazione con proxy in AWS, oltre ai prerequisiti generali precedenti, sono necessari anche:

  • Un VPC AWS senza gateway Internet ("VPC offline") configurato come descritto di seguito.
    • La macchina di bootstrap connessa a Internet deve poter accedere agli indirizzi IP all'interno di questo VPC offline. Per ulteriori informazioni, vedere Peering VPC.
  • Un registro del container privato compatibile con Docker come Harbor, Docker o Artifactory installato e configurato come indicato di seguito. Questo registro viene eseguito all'esterno di Tanzu Kubernetes Grid ed è separato da qualsiasi registro distribuito come servizio condiviso per i cluster:
    • Installare il registro all'interno del firewall.
    • È possibile configurare il registro del container con certificati SSL firmati da un'autorità di certificazione attendibile o con certificati autofirmati.
    • Il registro non deve implementare l'autenticazione utente. Ad esempio, se si utilizza un registro Harbor, il progetto deve essere pubblico e non privato.
    • Per installare Harbor:
      1. Download di file OVA Harbor.
      2. Seguire le istruzioni per l'installazione e la configurazione di Harbor nella documentazione di Harbor.
  • Una macchina virtuale di bootstrap Linux in esecuzione nel VPC offline, con provisioning simile a quello della macchina connessa a Internet indicata in precedenza.
    • La macchina virtuale di bootstrap offline deve poter raggiungere direttamente, senza un proxy, le macchine virtuali del cluster create da Tanzu Kubernetes Grid.

Dopo aver creato il VPC offline, è necessario aggiungervi gli endpoint seguenti (un endpoint del VPC abilita le connessioni private tra il VPC e i servizi AWS supportati):

  • Endpoint del servizio:
    • sts
    • ssm
    • ec2
    • ec2messages
    • elasticloadbalancing
    • secretsmanager
    • ssmmessages

Per aggiungere gli endpoint del servizio al VPC:

  1. Nella console di AWS, passare a Dashboard VPC (VPC Dashboard) > Endpoint (Endpoints).
  2. Per ciascuno dei servizi precedenti
    1. Fare clic su Crea endpoint (Create Endpoint).
    2. Cercare il servizio e selezionarlo in Nome servizio (Service Name).
    3. Selezionare VPC e le relative Subnet (Subnets).
    4. Fare clic su Abilita nome DNS (Enable DNS Name) per l'endpoint.
    5. Selezionare un Gruppo di sicurezza (Security group) che consenta alle macchine virtuali nel VPC di accedere all'endpoint.
    6. Selezionare Criterio (Policy) > Accesso completo (Full Access).
    7. Fare clic su Crea endpoint (Create endpoint).

Preparazione di un ambiente con limitazioni Internet

Per preparare un ambiente con limitazioni Internet per la distribuzione di Tanzu Kubernetes Grid, è possibile scegliere una delle seguenti opzioni:

  • Un'unica macchina di bootstrap per gli ambienti online e offline.

  • Macchine di bootstrap diverse per gli ambienti online e offline.

In base all'opzione selezionata, eseguire i passaggi descritti nella tabella seguente:

Macchina di bootstrap singola Macchine di bootstrap diverse
Passaggio 1: Installare il plug-in Isolated Cluster nella macchina online

Passaggio 2: Scaricare le immagini nella macchina online

Passaggio 3: Scaricare l'immagine della CLI di Tanzu per Linux nella macchina online No

Passaggio 4: Copiare i file nella macchina offline No

Passaggio 5: Decomprimere i file nella macchina offline No

Passaggio 6: Installare il plug-in Isolated Cluster nella macchina offline No


Passaggio 7: Accedere al registro privato nella macchina offline

Passaggio 8: Caricamento delle immagini nel Registro privato

Passaggio 1: Installare il plug-in Isolated Cluster nella macchina online

Eseguire questo passaggio solo se non è stato installato il plug-in isolated-cluster tramite il comando tanzu plugin sync nella macchina online.

  1. Accedere alla macchina di bootstrap Linux connessa a Internet.
  2. Installare il plug-in isolated-cluster:

    tanzu plugin sync
    

Passaggio 2: Scaricare le immagini nella macchina online

Importante

prima di eseguire questo passaggio, verificare che nella partizione del disco in cui si scaricano le immagini siano disponibili 45 GB di spazio.

Scaricare il bundle di immagini nella macchina di bootstrap Linux connessa a Internet:

tanzu isolated-cluster download-bundle --source-repo <SOURCE-REGISTRY> --tkg-version <TKG-VERSION> --ca-certificate <SECURITY-CERTIFICATE>

In cui:

  • SOURCE-REGISTRY è l'indirizzo IP o il nome host del registro in cui sono archiviate le immagini.
  • TKG-VERSION è la versione di Tanzu Kubernetes Grid che si desidera distribuire nell'ambiente con proxy o air gap.
  • SECURITY-CERTIFICATE è il certificato di sicurezza del registro in cui sono archiviate le immagini. Per ignorare la convalida del certificato di sicurezza, utilizzare --insecure anziché --ca-certificate. Entrambe le stringhe sono facoltative. Se non si specifica alcun valore, il sistema convalida il certificato di sicurezza del server predefinito.

    Di seguito è disponibile un esempio:

    tanzu isolated-cluster download-bundle --source-repo projects.registry.vmware.com/tkg --tkg-version v2.1.1
    
    

Il bundle di immagini sotto forma di file TAR viene scaricato nella macchina online insieme al file publish-images-fromtar.yaml. Il file YAML definisce la mappatura tra le immagini e i file TAR.

Passaggio 3: Scaricare l'immagine della CLI di Tanzu per Linux nella macchina online

Scaricare l'immagine della CLI di Tanzu per Linux (file ZIP) nella macchina online:

  1. Nella macchina online, passare a VMware Customer Connect e accedere con le credenziali di VMware Customer Connect.
  2. Passare alla pagina di download di Tanzu Kubernetes Grid.
  3. Nella riga VMware Tanzu Kubernetes Grid fare clic su Vai ai download (Go to Downloads).
  4. Nel menu a discesa Seleziona versione (Select Version) selezionare 2.1.1.
  5. In Download prodotti (Product Downloads) scorrere fino alla sezione denominata CLI di VMware Tanzu 2.1 CLI e individuare CLI di VMware Tanzu per Linux.

  6. Fare clic su Scarica ora (Download Now). Il file ZIP tanzu-cli-bundle-linux-amd64.tar.gz viene scaricato nella macchina locale.

  7. (Facoltativo) Verificare che i file scaricati siano uguali a quelli originali. VMware fornisce un checksum SHA-1, un checksum SHA-256 e un checksum MD5 per ogni download. Per ottenere questi checksum, fare clic su Altre informazioni (Read More) sotto la voce che si desidera scaricare. Per ulteriori informazioni, vedere Utilizzo di hash crittografici.

Passaggio 4: Copiare i file nella macchina offline

Copiare i seguenti file nella macchina offline, ovvero la macchina di bootstrap nell'ambiente con proxy o air gap, tramite un'unità thumb USB o un altro supporto di storage:

  • I file TAR delle immagini
  • I file YAML
  • Il file ZIP tanzu-cli-bundle-linux-amd64.tar.gz

Passaggio 5: Decomprimere i file nella macchina offline

Sul computer di bootstrap offline, decomprimere i file TAR nella directory tanzu:

tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
cd $HOME/tanzu/cli
sudo install core/v0.28.1/tanzu-core-linux_amd64 /usr/local/bin/tanzu
tar -xvf tanzu-framework-plugins-standalone-linux-amd64.tar.gz

Passaggio 6: Installare il plug-in Isolated Cluster nella macchina offline

Installare il plug-in isolated-cluster nella macchina di bootstrap offline:

tanzu plugin install isolated-cluster --local standalone-plugins/

Passaggio 7: Accedere al registro privato nella macchina offline

Accedere al registro privato nella macchina offline tramite Docker:

docker login <URL>

In cui URL è l'URL del repository privato in cui le immagini verranno archiviate nell'ambiente con proxy o air gap.

Passaggio 8: Caricamento delle immagini nel Registro privato

Caricare il bundle di immagini nella macchina offline:

tanzu isolated-cluster upload-bundle --source-directory <SOURCE-DIRECTORY> --destination-repo <DESTINATION-REGISTRY> --ca-certificate <SECURITY-CERTIFICATE>

In cui:

  • SOURCE-DIRECTORY è il percorso della posizione in cui sono archiviati i file TAR dell'immagine.
  • DESTINATION-REGISTRY è il percorso del registro privato in cui le immagini verranno ospitate nell'ambiente air gap.
  • SECURITY-CERTIFICATE è il certificato di sicurezza del registro privato in cui le immagini verranno ospitate nell'ambiente con proxy o air gap. Per ignorare la convalida del certificato di sicurezza, utilizzare --insecure anziché --ca-certificate. Entrambe le stringhe sono facoltative. Se non si specifica alcun valore, il sistema convalida il certificato di sicurezza del server predefinito.

Di seguito è disponibile un esempio:

tanzu isolated-cluster upload-bundle --source-directory ./ --destination-repo hostname1 --ca-certificate /tmp/registryca.crt

Passaggi successivi

Configurare il registro in cui sono state spostate le immagini utilizzando le seguenti variabili di riferimento del file di configurazione:

  • TKG_CUSTOM_IMAGE_REPOSITORY
  • TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE o TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY.

Per ulteriori informazioni su queste variabili di configurazione, vedere Configurazione del registro di immagini privato.

Nota: È inoltre possibile utilizzare il comando tanzu config set env.CONFIG-VARIABLE per configurare il registro e mantenere le variabili di ambiente quando si utilizza la CLI di Tanzu in futuro. Per ulteriori informazioni, vedere set di configurazione di tanzu in in Riferimento sulla CLI di VMware Tanzu.

L'ambiente con limitazioni Internet è ora pronto per distribuire o aggiornare i cluster di gestione di Tanzu Kubernetes Grid e iniziare a distribuire i cluster del carico di lavoro in vSphere o AWS.

Per distribuire i cluster di gestione e del carico di lavoro in una configurazione specifica e convalidata in ambienti con air gap, vedere Documentazione sull'architettura di riferimento di VMware Tanzu.

Per distribuire i cluster di gestione utilizzando un file di configurazione, vedere Distribuzione di cluster di gestione da un file di configurazione.

Se questa procedura è stata seguita come parte di un aggiornamento, vedere Aggiornamento di Tanzu Kubernetes Grid.

Distribuzione della versione di Tanzu Kubernetes Grid compatibile con FIPS in ambienti con limitazioni Internet

Se è necessario distribuire le versioni di Tanzu Kubernetes Grid compatibili con FIPS in ambienti con limitazioni Internet, eseguire la procedura descritta in Versioni compatibili con FIPS.

check-circle-line exclamation-circle-line close-line
Scroll to top icon