Creazione di un cluster di amministrazione

Questa pagina mostra come creare un cluster di amministrazione per i cluster Anthos su VMware (GKE on-prem).

Le istruzioni riportate qui sono complete. Per un'introduzione più breve alla creazione di un cluster di amministrazione, consulta la sezione Creare un cluster di amministrazione (guida rapida).

Prima di iniziare

Crea una workstation di amministrazione.

Ottenere una connessione SSH alla workstation di amministrazione

Crea una connessione SSH alla workstation di amministrazione.

Ricordiamo che gkeadm ha attivato il tuo account di servizio di accesso ai componenti sulla workstation di amministrazione.

Esegui tutti i passaggi rimanenti di questo argomento sulla tua workstation di amministrazione nella directory home.

File di configurazione delle credenziali

Quando hai utilizzato gkeadm per creare la workstation di amministrazione, hai compilato un file di configurazione delle credenziali denominato credential.yaml. Questo file contiene il nome utente e la password del tuo server vCenter.

File di configurazione del cluster di amministrazione

Quando gkeadm ha creato la tua workstation di amministrazione, ha generato un file di configurazione denominato admin-cluster.yaml. Questo file di configurazione consente di creare il cluster di amministrazione.

Compilazione del file di configurazione

name

Se vuoi specificare un nome per il cluster di amministrazione, compila il campo name.

bundlePath

Questo campo è già compilato.

vCenter

La maggior parte dei campi di questa sezione contiene già i valori inseriti al momento della creazione della workstation di amministrazione. L'eccezione è il campo dataDisk, che devi compilare ora.

network

Decidi come vuoi che i nodi del cluster ricevano i rispettivi indirizzi IP. Le opzioni sono:

  • Da un server DHCP. Imposta network.ipMode.type su "dhcp".

  • Da un elenco di indirizzi IP statici da te forniti. Imposta network.ipMode.type su "static" e crea un file di blocco IP che fornisce gli indirizzi IP statici.

Fornisci i valori per i campi rimanenti nella sezione network.

Indipendentemente dal fatto che ti affidi a un server DHCP o specifichi un elenco di indirizzi IP statici, sono necessari indirizzi IP sufficienti per soddisfare le seguenti esigenze:

  • Tre nodi nel cluster di amministrazione per eseguire il piano di controllo e i componenti aggiuntivi del cluster di amministrazione.

  • Un nodo aggiuntivo nel cluster di amministrazione da utilizzare temporaneamente durante gli upgrade.

  • Per ogni cluster utente che intendi creare, uno o tre nodi nel cluster di amministrazione per eseguire i componenti del piano di controllo per il cluster utente. Se vuoi un piano di controllo ad alta disponibilità (HA) per un cluster utente, devi avere tre nodi nel cluster di amministrazione per il piano di controllo del cluster utente. In caso contrario, sarà necessario un solo nodo nel cluster di amministrazione per il piano di controllo del cluster utente.

Ad esempio, supponiamo che tu voglia creare due cluster utente: uno con un piano di controllo ad alta disponibilità e uno con un piano di controllo non ad alta disponibilità. Quindi, sono necessari otto indirizzi IP per i seguenti nodi nel cluster di amministrazione:

  • Tre nodi per il piano di controllo e i componenti aggiuntivi del cluster di amministrazione
  • Un nodo temporaneo
  • Tre nodi per il piano di controllo del cluster utente ad alta disponibilità
  • Un nodo per il piano di controllo del cluster utente non ad alta disponibilità

Come accennato in precedenza, se vuoi utilizzare indirizzi IP statici, devi fornire un file del blocco IP. Ecco un esempio di file di blocco IP con otto host:

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5
    - ip: 172.16.20.15
      hostname: admin-host6
    - ip: 172.16.20.16
      hostname: admin-host7
    - ip: 172.16.20.17
      hostname: admin-host8

loadBalancer

Metti da parte un VIP per il server API Kubernetes del cluster di amministrazione. Metti da parte un altro VIP per il server dei componenti aggiuntivi. Fornisci i tuoi VIP come valori per loadBalancer.vips.controlPlaneVIP e loadBalancer.vips.addonsVIP.

Decidi quale tipo di bilanciamento del carico utilizzare. Le opzioni sono:

  • Visualizza il bilanciamento del carico in bundle. Imposta loadBalancer.kind su "Seesaw" e compila la sezione loadBalancer.seesaw.

  • Bilanciamento del carico integrato con F5 BIG-IP. Imposta loadBalancer.kind su "F5BigIP" e compila la sezione f5BigIP.

  • Bilanciamento del carico manuale. Imposta loadBalancer.kind su "ManualLB" e compila la sezione manualLB.

antiAffinityGroups

Imposta antiAffinityGroups.enabled su true o false in base alle tue preferenze.

adminMaster

Compila la sezione adminMaster o rimuovila in base alle tue preferenze.

addonNode

Imposta addonNode.autoResize.enabled su true o false in base alle tue preferenze.

proxy

Se la rete che contiene i nodi del cluster di amministrazione si trova dietro un server proxy, compila la sezione proxy.

privateRegistry

Decidi dove vuoi mantenere le immagini container per i cluster Anthos sui componenti VMware. Le opzioni sono:

  • gcr.io Non compilare la sezione privateRegistry.

  • Il tuo registro Docker privato.

Per creare il tuo registro Docker privato:

  1. Compila la sezione privateRegistry.

  2. Copia il certificato del Registro di sistema nella posizione richiesta all'indirizzo /etc/docker/certs.d/REGISTRY_SERVER_ADDRESS/ca.crt se non esiste. Il certificato del Registro di sistema si trova in privateRegistry.caCertPath nella configurazione originale dell'amministratore.

    mkdir -p /etc/docker/certs.d/REGISTRY_SERVER_ADDRESS
    cp CERTIFICATE_PATH /etc/docker/certs.d/REGISTRY_SERVER_ADDRESS/ca.crt
    

    Sostituisci quanto segue:

    • REGISTRY_SERVER_ADDRESS: l'indirizzo IP del registro privato
    • CERTIFICATE_PATH: percorso del certificato del Registro di sistema

componentAccessServiceAccountKeyPath

Questo campo è già compilato.

gkeConnect

Se vuoi registrare il tuo cluster di amministrazione in un parco risorse Google Cloud, compila la sezione gkeConnect.

stackdriver

Se vuoi abilitare Cloud Logging e Cloud Monitoring per il tuo cluster, compila la sezione stackdriver.

cloudAuditLogging

Se vuoi abilitare gli audit log di Cloud per il tuo cluster, compila la sezione cloudAuditLogging.

clusterBackup

Imposta clusterBackup.datastore su true o false in base alle tue preferenze.

autoRepair

Imposta autoRepair.enabled su true o false in base alle tue preferenze.

secretsEncryption

Se vuoi attivare la crittografia dei secret sempre attiva, compila la sezione secretsEncryption.

Convalida del file di configurazione

Dopo aver compilato il file di configurazione del cluster di amministrazione, esegui gkectl check-config per verificare che il file sia valido:

gkectl check-config --config [CONFIG_PATH]

dove [CONFIG_PATH] è il percorso del file di configurazione del cluster di amministrazione.

Se il comando restituisce messaggi di errore, correggi i problemi e convalida di nuovo il file.

Se vuoi ignorare le convalide più lunghe, supera il flag --fast. Per ignorare le singole convalide, utilizza i flag --skip-validation-xxx. Per ulteriori informazioni sul comando check-config, consulta Esecuzione di controlli preflight.

Esecuzione del gkectl prepare

Esegui gkectl prepare per inizializzare il tuo ambiente vSphere:

gkectl prepare --config [CONFIG_PATH]

Il comando gkectl prepare esegue le seguenti attività preparatorie:

  • importa le immagini del sistema operativo in vSphere e le contrassegna come modelli VM.

  • Se utilizzi un registro Docker privato, questo comando esegue il push delle immagini container Docker al tuo registro.

  • Questo comando convalida le immagini container, quindi attesta le build, verificando quindi che le immagini siano state create e firmate da Google e siano pronte per il deployment.

Creazione di un bilanciatore del carico di Seesaw per il cluster di amministrazione

Se hai scelto di utilizzare il bilanciatore del carico di Seesaw in bundle, esegui il passaggio in questa sezione. Altrimenti, puoi saltare questa sezione.

Crea e configura le VM per il tuo bilanciatore del carico di Seesaw:

gkectl create loadbalancer --config [CONFIG_PATH]

Creazione del cluster di amministrazione

Crea il cluster di amministrazione:

gkectl create admin --config [CONFIG_PATH]

dove [CONFIG_PATH] è il percorso del file di configurazione del cluster di amministrazione.

Individuazione del file kubeconfig del cluster di amministrazione

Il comando gkectl create admin crea un file kubeconfig denominato kubeconfig nella directory corrente. Questo file kubeconfig ti servirà in un secondo momento per interagire con il cluster di amministrazione.

Se vuoi, puoi modificare il nome e la posizione del tuo file kubeconfig.

Verifica che il cluster di amministrazione sia in esecuzione

Verifica che il cluster di amministrazione sia in esecuzione:

kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Sostituisci ADMIN_CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster di amministrazione.

L'output mostra i nodi del cluster di amministrazione. Ad esempio:

gke-admin-master-hdn4z            Ready    control-plane,master ...
gke-admin-node-7f46cc8c47-g7w2c   Ready ...
gke-admin-node-7f46cc8c47-kwlrs   Ready ...

Gestione del file checkpoint.yaml

Quando hai eseguito il comando gkectl create admin per creare il cluster di amministrazione, viene creato un file checkpoint.yaml nella stessa cartella del datastore del disco di dati del cluster di amministrazione. Per impostazione predefinita, questo file ha il nome DATA_DISK_NAME‑checkpoint.yaml. Se la lunghezza di DATA_DISK_NAME è maggiore o uguale a 245 caratteri, a causa del limite di vSphere sulla lunghezza del nome file, il nome è DATA_DISK_NAME.yaml. Sostituisci DATA_DISK_NAME con il nome del disco dati.

Questo file contiene lo stato e le credenziali del cluster di amministrazione e viene utilizzato per gli upgrade futuri. Come per il disco dati del cluster di amministrazione, non eliminare il file, a meno che tu non stia seguendo la procedura per eliminare il cluster di amministrazione.

Se hai abilitato la crittografia delle VM in vCenter, devi disporre dell'autorizzazione Cryptographer.Access per poter creare o eseguire l'upgrade del cluster di amministrazione, se vuoi che il file del checkpoint venga caricato. Se non riesci a ottenere questa autorizzazione, puoi disattivare il caricamento del file del checkpoint con il flag nascosto --disable-checkpoint quando esegui un comando pertinente.

Il file checkpoint.yaml viene aggiornato automaticamente quando esegui il comando gkectl upgrade admin o quando esegui un comando gkectl update che interessa il cluster di amministrazione.

Risolvere i problemi

Vedi Risolvere i problemi relativi alla creazione e all'upgrade del cluster

Passaggi successivi

Creazione di un cluster utente