Crea cluster di base

Questo documento mostra come creare cluster di base per una piccola installazione di proof of concept di Cluster Anthos su VMware (GKE On-Prem).

Ecco i passaggi principali:

  1. Creare una workstation di amministrazione.

  2. Dalla tua workstation di amministrazione, crea un cluster di amministrazione.

  3. Dalla tua workstation di amministrazione, crea un cluster utente.

Prima di iniziare

Configura gli ambienti vSphere e Google Cloud come descritto in Configurare l'infrastruttura minima.

Raccogliere informazioni

Per prepararti alla compilazione di un file di configurazione della workstation di amministrazione, raccogli le seguenti informazioni:

Accedi

Lo strumento a riga di comando gkeadm utilizza la proprietà account dell'SDK per creare account di servizio. Pertanto, è importante impostare la proprietà account dell'SDK prima di eseguire gkeadm per creare una workstation di amministrazione.

Accedi con qualsiasi Account Google. Questa azione imposta la proprietà account dell'SDK:

gcloud auth login

Verifica che la proprietà dell'SDK account sia impostata correttamente:

gcloud config list

L'output mostra il valore della tua proprietà account dell'SDK. Ecco alcuni esempi:

[core]
account = my-name@google.com
disable_usage_reporting = False
Your active configuration is: [default]

Concedi i ruoli al tuo account SDK

L'Account Google impostato come proprietà dell'SDK account deve avere questi ruoli IAM affinché gkeadm possa creare e gestire gli account di servizio per te:

  • resourcemanager.projectIamAdmin
  • serviceusage.serviceUsageAdmin
  • iam.serviceAccountCreator
  • iam.serviceAccountKeyAdmin

Per concedere i ruoli, devi disporre di determinate autorizzazioni sul progetto Google Cloud. Per maggiori dettagli, consulta Concedere, modificare e revocare l'accesso alle risorse.

Se disponi delle autorizzazioni necessarie, puoi concedere i ruoli personalmente. In caso contrario, un altro membro dell'organizzazione deve concederti i ruoli.

Per concedere i ruoli:

Linux e macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/serviceusage.serviceUsageAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/iam.serviceAccountKeyAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/serviceusage.serviceUsageAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/iam.serviceAccountKeyAdmin"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud
  • ACCOUNT: il valore della tua proprietà account dell'SDK

Creare una workstation di amministrazione.

I passaggi in questa sezione utilizzano lo strumento a riga di comando gkeadm, disponibile per Linux a 64 bit, Windows 10, Windows Server 2019 e macOS 10.15 e versioni successive.

Scarica gkeadm nella directory attuale.

Genera modelli

./gkeadm create config

Il comando precedente ha creato questi file nella directory attuale:

  • credential.yaml
  • admin-ws-config.yaml

Inserisci credential.yaml

In credential.yaml, inserisci il tuo nome utente e password vCenter. Ecco alcuni esempi:

kind: CredentialFile
items:
- name: vCenter
  username: "my-account-name"
  password: "AadmpqGPqq!a"

Acquisire familiarità con il file di configurazione della workstation di amministrazione

Analizza la documentazione per individuare il file di configurazione della workstation di amministrazione per avere un'idea generale dei contenuti del file. Ti consigliamo di mantenere la pagina aperta in una scheda o una finestra separata in modo da potervi consultare durante la compilazione dei valori dei campi.

Inserisci admin-ws-config.yaml

Apri admin-ws-config.yaml per la modifica.

I seguenti campi vengono compilati automaticamente con valori predefiniti o generati:

vCenter:
  credentials:
    fileRef:
      credentials:
      entry:

adminWorkstation:
  name:
  cpus:
  memoryMB:
  diskGB:
  dataDiskName:
  dataDiskMB:

ntpServer:

Compila il campo gcp.componentAccessServiceAccountKeyPath.

Compila i seguenti campi nella sezione vCenter.

credentials:
  address:
datacenter:
datastore:
cluster:
network:
caCertPath:

Imposta vCenter.resourcePool su CLUSTER_NAME/Resources. Sostituisci CLUSTER_NAME con il nome del tuo cluster vSphere.

Se necessario, compila il campo proxyURL.

Se necessario, compila il campo adminWorkstation.proxyURL.

Imposta adminWorkstation.network.ipAllocationMode su "static".

Completa i seguenti campi nella sezione adminWorkstation.network.hostConfig:

ip:
gateway:
netmask:
dns:

Esempio di file di configurazione della workstation di amministrazione

Ecco un esempio di un file di configurazione della workstation di amministrazione compilato:

gcp:
  componentAccessServiceAccountKeyPath: "/usr/local/google/home/me/keys/component-access-key.json"
vCenter:
  credentials:
    address: "vc01.example"
    fileRef:
      path: "credential.yaml"
      entry: "vCenter"
  datacenter: "vc01"
  datastore: "vc01-datastore-1"
  cluster: "vc01-workloads-1"
  network: "vc01-net-1"
  resourcePool: "vc01-workloads-1/Resources"
  caCertPath: "/usr/local/google/home/stevepe/certs/vc01-cert.pem"
proxyUrl: ""
adminWorkstation:
  name: gke-admin-ws-220304-014925
  cpus: 4
  memoryMB: 8192
  diskGB: 50
  dataDiskName: gke-on-prem-admin-workstation-data-disk/gke-admin-ws-220304-014925-data-disk.vmdk
  dataDiskMB: 512
  network:
    ipAllocationMode: "static"
    hostConfig:
      ip: "172.16.20.49"
      gateway: "172.16.20.1"
      netmask: "255.255.255.0"
      dns:
      - "203.0.113.1"
  proxyUrl: ""
  ntpServer: ntp.ubuntu.com

Crea la tua workstation di amministrazione

Crea la tua workstation di amministrazione e crea automaticamente account di servizio:

./gkeadm create admin-workstation --auto-create-service-accounts

L'output fornisce informazioni dettagliate sulla creazione della workstation di amministrazione e fornisce un comando che puoi utilizzare per ottenere una connessione SSH alla tua workstation di amministrazione:

...
Admin workstation is ready to use.
Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation
This file is required for future upgrades
SSH into the admin workstation with the following command:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49
********************************************************************

Per informazioni più dettagliate sulla creazione di una workstation di amministrazione, consulta Creare una workstation di amministrazione.

Visualizzare i file sulla workstation di amministrazione

Utilizza il comando visualizzato nell'output precedente per ottenere una connessione SSH alla workstation di amministrazione. Ecco alcuni esempi:

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49

Elenca i file della home directory:

ls -1

L'output include i file di chiave JSON per due account di servizio che gkeadm ha creato per te: un account di servizio connect-register e un account di servizio di monitoraggio dei log. Prendi nota del nome dei file della chiave JSON del tuo account di servizio Connect-register. Ti servirà in un secondo momento durante la creazione dei cluster. Ecco alcuni esempi:

admin-cluster.yaml
admin-ws-config.yaml
sa-key.json
connect-register-sa-2203040617.json
credential.yaml
log-mon-sa-2203040617.json
logs
vc01-cert.pem
user-cluster.yaml

Crea un cluster di amministrazione

Ottenere una connessione SSH alla tua workstation di amministrazione.

Specifica gli indirizzi IP statici per il cluster di amministrazione

Per specificare gli indirizzi IP statici da utilizzare per i nodi del tuo cluster di amministrazione, crea un file di blocco IP denominato admin-cluster-ipblock.yaml.

Sono necessari cinque indirizzi IP per i seguenti nodi nel cluster di amministrazione:

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

  • Un nodo aggiuntivo da utilizzare temporaneamente durante gli upgrade

  • Un nodo per eseguire il piano di controllo per il cluster utente che creerai in un secondo momento

Di seguito è riportato un esempio di file di blocco IP con indirizzi per cinque nodi:

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.20.1
    ips:
    - ip: 172.16.20.50
      hostname: admin-vm-1
    - ip: 172.16.20.51
      hostname: admin-vm-2
    - ip: 172.16.20.52
      hostname: admin-vm-3
    - ip: 172.16.20.53
      hostname: admin-vm-4
    - ip: 172.16.20.54
      hostname: admin-vm-5

Il campo ips è un array di indirizzi IP e nomi host. Questi sono gli indirizzi IP e i nomi host che i cluster Anthos su VMware assegneranno ai nodi del cluster di amministrazione.

Nel file del blocco IP, specifichi anche una subnet mask e un gateway predefinito per i nodi del cluster di amministrazione.

Acquisire familiarità con il file di configurazione del cluster di amministrazione

Analizza la documentazione per individuare il file di configurazione del cluster di amministrazione per avere un'idea generale dei contenuti del file. Ti consigliamo di mantenere la pagina aperta in una scheda o una finestra separata in modo da potervi consultare durante la compilazione dei valori dei campi.

Compila il file di configurazione del cluster di amministrazione

Quando gkeadm ha creato la workstation di amministrazione, ha generato un file di configurazione denominato admin-cluster.yaml. Questo file di configurazione è per la creazione del cluster di amministrazione.

Apri admin-cluster.yaml per la modifica. Diversi campi nel file di configurazione del cluster di amministrazione sono già compilati con valori predefiniti, valori generati o valori che hai fornito durante la creazione della workstation di amministrazione. Puoi lasciare invariati questi campi.

Compila il campo vCenter.dataDisk.

Compila i seguenti campi nella sezione network.hostConfig:

dnsServers:
ntpServers:

Imposta network.ipMode.type su "static".

Imposta network.ipMode.ipBlockFilePath su "admin-cluster-ipblock.yaml"

Inserisci o mantieni i valori predefiniti per network.serviceCIDR e network.podCIDR.

Compila i seguenti campi nella sezione loadBalancer.vips:

controlPlaneVIP:
addonsVIP:

Imposta loadBalancer.kind su "MetalLB".

Imposta antiAffinityGroups.enabled su false.

Imposta gkeConnect.projectID sull'ID del tuo progetto Google Cloud.

Imposta gkeConnect.registerServiceAccountKeyPath sul percorso del file della chiave JSON per il tuo account di servizio connect-register.

Esempio di file di configurazione del cluster di amministrazione

Ecco un esempio di un file di configurazione del cluster di amministrazione compilato:

apiVersion: v1
kind: AdminCluster
name: "gke-admin-01"
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.11.0-gke.543-full.tgz"
vCenter:
  address: "vc01.example"
  datacenter: "vc-01"
  cluster: "vc01-workloads-1"
  resourcePool: "my-cluster/Resources"
  datastore: "vc01-datastore-1"
  caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem""
  credentials:
    fileRef:
      path: "credential.yaml"
      entry: "vCenter"
  dataDisk: "vc01-admin-disk.vmdk"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.1"
    - "198.51.100.1"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"
  vCenter:
    networkName: "vc01-net-1"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.20.59"
    addonsVIP: "172.16.20.60"
  kind: "MetalLB"
antiAffinityGroups:
  enabled: false
componentAccessServiceAccountKeyPath: "sa-key.json"
gkeConnect:
  projectID: "my-project-123"
  registerServiceAccountKeyPath: "connect-register-sa-2203040617.json"
stackdriver:
  projectID: "my-project-123"
  clusterLocation: "us-central1"
  enableVPC: false
  serviceAccountKeyPath: "log-mon-sa-2203040617.json"
  disableVsphereResourceMetrics: false

Convalida il file di configurazione del cluster di amministrazione

Verifica che il file di configurazione del cluster di amministrazione sia valido e possa essere utilizzato per la creazione del cluster:

gkectl check-config --config admin-cluster.yaml

Prepara l'ambiente vSphere

Esegui gkectl prepare per inizializzare l'ambiente vSphere:

gkectl prepare --config admin-cluster.yaml --skip-validation-all

Crea il cluster di amministrazione

Crea il cluster di amministrazione:

gkectl create admin --config admin-cluster.yaml

Riprendi la creazione del cluster di amministrazione dopo un errore

Se la creazione del cluster di amministrazione non va a buon fine o viene annullata, puoi eseguire di nuovo il comando create:

gkectl create admin --config admin-cluster.yaml

Individua il file kubeconfig del cluster di amministrazione

Il comando gkectl create admin crea un file kubeconfig denominato kubeconfig nella directory corrente. Avrai bisogno di questo file kubeconfig in un secondo momento per interagire con il cluster di amministrazione.

Verifica che il cluster di amministrazione sia in esecuzione

Verifica che il cluster di amministrazione sia in esecuzione:

kubectl get nodes --kubeconfig kubeconfig

L'output mostra i nodi del cluster di amministrazione. Ecco alcuni esempi:

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

Creazione di un cluster utente

Puoi creare un cluster utente nella console Google Cloud o dalla riga di comando sulla workstation di amministrazione.

Console

Questa sezione mostra come creare un cluster utente configurato per l'infrastruttura minima con MetalLB come bilanciatore del carico.

Quando crei un cluster utente, la console Google Cloud abilita automaticamente l'API GKE On-Prem nel progetto Google Cloud che selezioni per la creazione del cluster. L'API GKE On-Prem viene eseguita nell'infrastruttura di Google Cloud e la console Google Cloud utilizza questa API per creare il cluster nel tuo data center vSphere. Per gestire i tuoi cluster, l'API GKE-On-Prem deve archiviare i metadati sullo stato del tuo cluster nella regione Google Cloud specificata durante la creazione del cluster. Questi metadati consentono all'API GKE On-Prem di gestire il ciclo di vita del cluster utente e non include dati specifici del carico di lavoro.

  1. Nella console Google Cloud, vai alla pagina Cluster Anthos.

    Vai a Cluster Anthos di Anthos

  2. Seleziona il progetto Google Cloud in cui vuoi creare il cluster. Il progetto selezionato viene utilizzato anche come progetto host del parco risorse. Deve essere lo stesso progetto in cui è registrato il cluster di amministrazione. Una volta creato, il cluster utente viene registrato automaticamente nel parco risorse del progetto selezionato.

  3. Fai clic su Crea cluster.

  4. Nella finestra di dialogo, fai clic su On-premise.

  5. Accanto a VMware vSphere, fai clic su Configura.

  6. Rivedi i prerequisiti e fai clic su Continua.

Nozioni di base sui cluster

  1. Inserisci un nome per il cluster utente.
  2. In Cluster di amministrazione, seleziona il cluster di amministrazione dall'elenco. Se il cluster di amministrazione che vuoi utilizzare non viene visualizzato, consulta la sezione relativa alla risoluzione dei problemi Il cluster di amministrazione non viene visualizzato nell'elenco a discesa Nozioni di base sul cluster.

  3. Nel campo GCP API Location, seleziona l'area geografica di Google Cloud dall'elenco. Oltre a controllare la regione in cui viene eseguita l'API GKE On-Prem, questa impostazione controlla la regione in cui è archiviato il seguente comando:

    • I metadati del cluster utente di cui l'API GKE On-Prem ha bisogno per gestire il ciclo di vita del cluster
    • I dati di Cloud Logging e Cloud Monitoring dei componenti di sistema
    • Il log di controllo della Console di amministrazione creato da Cloud Audit Logs
  4. Seleziona la versione di Cluster Anthos su VMware per il tuo cluster utente.

  5. Fai clic su Continua per andare alla sezione Networking.

Networking

In questa sezione specifichi gli indirizzi IP dei nodi, dei pod e dei servizi del tuo cluster. Un cluster utente deve avere un indirizzo IP per ciascun nodo e un indirizzo IP aggiuntivo da utilizzare per un nodo temporaneo durante l'upgrade del cluster utente. Per maggiori informazioni, consulta la pagina Quanti indirizzi IP sono necessari per un cluster utente?.

  1. Nella sezione IP nodo, seleziona la modalità IP del cluster utente. Seleziona una delle seguenti opzioni:

    • DHCP: scegli DHCP se vuoi che i nodi del cluster ricevano l'indirizzo IP da un server DHCP.

    • Statico: scegli Statico se vuoi fornire indirizzi IP statici per i nodi del cluster.

  2. Se hai selezionato DHCP, vai al passaggio successivo per specificare CIDR dei servizi e dei pod. Per la modalità IP statica, fornisci le seguenti informazioni:

    1. Inserisci l'indirizzo IP del gateway per il cluster utente.
    2. Inserisci la subnet mask per i nodi del cluster utente.

    3. Nella sezione Indirizzi IP, inserisci gli indirizzi IP e, facoltativamente, i nomi host per i nodi nel cluster utente. Puoi inserire un singolo indirizzo IP v4 (ad esempio 192.0.2.1) o un blocco CIDR di indirizzi IPv4 (ad esempio 192.0.2.0/24).

      • Se inserisci un blocco CIDR, non inserire un nome host.
      • Se inserisci un singolo indirizzo IP, puoi facoltativamente inserire un nome host. Se non inserisci un nome host, Cluster Anthos su VMware utilizza il nome della VM da vSphere come nome host.
    4. Fai clic su + Aggiungi indirizzo IP come necessario per inserire altri indirizzi IP.

  3. Nella sezione CIDR dei servizi e dei pod, la console Google Cloud fornisce i seguenti intervalli di indirizzi per il servizio e il pod Kubernetes:

    • CIDR del servizio: 10.96.0.0/20
    • CIDR pod: 192.168.0.0/16

    Se preferisci inserire i tuoi intervalli di indirizzi, consulta le best practice per gli indirizzi IP per pod e servizi.

  4. Se hai selezionato Modalità IP statica, specifica le seguenti informazioni nella sezione Configurazione host:

    1. Inserisci gli indirizzi IP dei server DNS.
    2. Inserisci gli indirizzi IP dei server NTP.
    3. (Facoltativo) Inserisci i domini di ricerca DNS.
  5. Fai clic su Continua per andare alla sezione Bilanciatore del carico.

Bilanciatore del carico

Configurare MetalLB come bilanciatore del carico.

  1. In Tipo di bilanciatore del carico, lascia selezionato MetalLB.

  2. Nella sezione IP virtuali, inserisci quanto segue:

    • VIP del piano di controllo: l'indirizzo IP di destinazione da utilizzare per il traffico inviato al server server API Kubernetes del cluster utente. Questo indirizzo IP deve trovarsi nello stesso dominio L2 dei nodi del cluster di amministrazione. Non aggiungere questo indirizzo nella sezione Pool di indirizzi.

    • In entrata VIP: l'indirizzo IP da configurare nel bilanciatore del carico per il proxy in entrata. Devi aggiungerlo a un pool di indirizzi nella sezione Pool di indirizzi.

  3. Nella sezione Pool di indirizzi, specifica un pool di indirizzi per il VIP in entrata.

    1. Fai clic su + Aggiungi intervallo di indirizzi IP.
    2. Inserisci un nome per il pool di indirizzi.
    3. Inserisci un intervallo di indirizzi IP in notazione CIDR (ad es. 192.0.2.0/26) o notazione di intervallo (ad es. 192.0.2.64-192.0.2.72). Gli indirizzi IP in ogni pool non possono sovrapporsi e devono trovarsi nella stessa subnet dei nodi del cluster.
    4. In Assegnazione di indirizzi IP, seleziona una delle seguenti opzioni:

      • Automatica: scegli questa opzione se vuoi che il controller MetalLB assegni automaticamente gli indirizzi IP dal pool di indirizzi ai servizi di tipo LoadBalancer.
      • Manuale: scegli questa opzione se intendi utilizzare gli indirizzi del pool per specificare manualmente gli indirizzi per i servizi di tipo LoadBalancer
    5. Fai clic su Evita errori relativi a indirizzi IP se vuoi che il controller MetalLB non utilizzi indirizzi del pool che terminano con .0 o .255. Questo evita il problema di dispositivi consumer buggy che fanno cadere erroneamente il traffico inviato a quegli indirizzi IP speciali.

    6. Ripeti queste operazioni in base alle necessità. Al termine, fai clic su Fine.

  4. Fai clic su Continua.

Piano di controllo

  1. Esamina i valori predefiniti configurati per i nodi nel cluster di amministrazione che eseguono i componenti del piano di controllo per il tuo cluster utente. I valori predefiniti sono sufficienti per l'infrastruttura minima, ma puoi modificarli in base alle esigenze.

  2. Fai clic su Continua.

Funzionalità

  1. Deseleziona Attiva gruppi anti-affinità. Quando configuri l'infrastruttura minima, devi creare un solo host ESXi, quindi non attivare i gruppi anti-affinità.

  2. Fai clic su Continua.

Pool di nodi

Il cluster verrà creato con almeno un pool di nodi. Un pool di nodi è un modello per i gruppi di nodi creati in questo cluster. Per saperne di più, consulta Creazione e gestione dei pool di nodi .

Rivedi i valori predefiniti configurati per il pool di nodi. I valori predefiniti sono sufficienti per l'infrastruttura minima, ma puoi modificarli in base alle esigenze.

Verifica e completa

Fai clic su Verifica e completa per creare il cluster utente. La creazione del cluster utente richiede almeno 10 minuti. La console Google Cloud mostra i messaggi di stato mentre verifica le impostazioni e crea il cluster nel tuo data center.

L'operatore che crea il cluster utente nella console Google Cloud accede automaticamente al cluster dopo la creazione. Altri operatori devono seguire la procedura descritta in Accesso a un cluster da Cloud Console per ottenere l'accesso al cluster.

Se si verifica un errore durante la verifica delle impostazioni, la console Google Cloud mostra un messaggio di errore che dovrebbe essere abbastanza chiaro da consentirti di risolvere il problema di configurazione e riprova a creare il cluster.

Per saperne di più sui possibili errori e su come correggerli, consulta Risoluzione dei problemi relativi alla creazione di cluster utente nella console Google Cloud.

Crea il file kubeconfig del cluster utente

Per accedere al cluster utente nel data center dalla riga di comando, devi recuperare un file kubeconfig dal cluster di amministrazione. Dopo che la console Google Cloud indica che lo stato del cluster utente è in stato integro, esegui questo comando sulla workstation di amministrazione per salvare un nuovo file kubeconfig per il cluster utente in locale. Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster utente appena creato
  • ADMIN_CLUSTER_KUBECONFIG: il percorso del file del cluster di amministrazione kubeconfig
  • USER_CLUSTER_KUBECONFIG: il nome del file cluster utente kubeconfig restituito dal comando
kubectl get secret admin \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
-n CLUSTER_NAME \
-o=jsonpath='{.data.admin\.conf}' | base64 -d > USER_CLUSTER_KUBECONFIG

Dopo aver salvato il file, puoi iniziare ad accedere al cluster utente utilizzando kubectl, come nell'esempio seguente:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get namespaces

Riga di comando

  1. Ottenere una connessione SSH alla tua workstation di amministrazione.

  2. Specifica IP statici per il cluster utente.

    Per specificare gli indirizzi IP statici da utilizzare per il tuo cluster utente, crea un file di blocco IP denominato user-cluster-ipblock.yaml. Sono necessari tre indirizzi IP per i nodi del cluster utente e un indirizzo aggiuntivo da utilizzare temporaneamente durante gli upgrade. Ecco un esempio di file di blocco IP con quattro indirizzi:

    blocks:
      - netmask: 255.255.255.0
        gateway: 172.16.20.1
        ips:
        - ip: 172.16.20.55
          hostname: user-vm-1
        - ip: 172.16.20.56
          hostname: user-vm-2
        - ip: 172.16.20.57
          hostname: user-vm-3
        - ip: 172.16.20.58
          hostname: user-vm-4
    

Inserisci il file di configurazione del cluster utente

Quando gkeadm ha creato la workstation di amministrazione, ha generato un file di configurazione denominato user-cluster.yaml. Questo file di configurazione è per la creazione del tuo cluster utente.

  1. Acquisisci familiarità con il file di configurazione del cluster utente.

    Analizza la documentazione per individuare il file di configurazione del cluster utente per avere un'idea generale dei contenuti del file. Ti consigliamo di mantenere la pagina aperta in una scheda o una finestra separata in modo da potervi consultare durante la compilazione dei valori dei campi.

  2. Apri user-cluster.yaml per la modifica.

    Molti campi nel file di configurazione del cluster utente sono già compilati con valori predefiniti, valori generati o valori forniti al momento della creazione della workstation di amministrazione. Puoi lasciare invariati questi campi.

  3. Imposta nome su un nome a tua scelta per il cluster utente.

Compilare i campi nella sezione della rete

  1. Inserisci gli indirizzi IP per i seguenti campi nella sezione network.hostConfig:

    dnsServers:
    ntpServers:
    
  2. Imposta network.ipMode.type su "static".

  3. Imposta network.ipMode.ipBlockFilePath su "user-cluster-ipblock.yaml"

  4. Inserisci o mantieni i valori predefiniti per network.serviceCIDR e network.podCIDR.

Compila i campi nella sezione del bilanciatore del carico

  1. Compila i seguenti campi nella sezione loadBalancer.vips:

    controlPlaneVIP:
    ingressVIP:
    
  2. Imposta loadBalancer.kind su "MetalLB".

  3. Compila la sezione loadBalancer.metalLB. Per ulteriori informazioni, consulta la pagina Bilanciamento del carico in bundle con MetalLB.

  4. Per almeno uno dei pool di nodi, imposta enableLoadBalancer su true. Per ulteriori informazioni, consulta la pagina Bilanciamento del carico in bundle con MetalLB.

  5. Imposta antiAffinityGroups.enabled su false.

Esempio di file di configurazione del cluster utente

Ecco un esempio di un file di configurazione del cluster utente compilato:

apiVersion: v1
kind: UserCluster
name: "my-user-cluster"
gkeOnPremVersion: "1.11.0-gke.543"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.1"
    - "198.51.100.1"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
  serviceCIDR: "10.96.0.0/20"
  podCIDR: "192.168.0.0/16"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.20.61"
    ingressVIP: "172.16.20.62"
  kind: "MetalLB"
  metalLB:
    addressPools:
    - name: "uc-address-pool"
      addresses:
      - "172.16.20.62-172.16.20.72"
nodePools:
- name: "uc-node-pool"
  cpus: 4
  memoryMB: 8192
  replicas: 3
  enableLoadBalancer: true
antiAffinityGroups:
  enabled: false
gkeConnect:
  projectID: "my-project-123"
  registerServiceAccountKeyPath: "connect-register-sa-2203040617.json"
stackdriver:
  projectID: "my-project-123"
  clusterLocation: "us-central1"
  enableVPC: false
  serviceAccountKeyPath: "log-mon-sa-2203040617.json"
  disableVsphereResourceMetrics: false
autoRepair:
  enabled: true

Convalidare la configurazione e creare il cluster

  1. Verifica che il file di configurazione del cluster utente sia valido e possa essere utilizzato per la creazione del cluster:

    gkectl check-config --kubeconfig kubeconfig --config user-cluster.yaml
    
  2. Crea il cluster utente:

    gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
    

    La creazione del cluster richiede circa 30 minuti.

Individua il file kubeconfig del cluster utente

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

Verifica che il tuo cluster utente sia in esecuzione

Verifica che il cluster utente sia in esecuzione:

kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG

Sostituisci USER_CLUSTER_KUBECONFIG con il percorso del file kubeconfig.

L'output mostra i nodi del cluster utente. Ecco alcuni esempi:

my-user-cluster-node-pool-69-d46d77885-7b7tx   Ready ...
my-user-cluster-node-pool-69-d46d77885-lsvzk   Ready ...
my-user-cluster-node-pool-69-d46d77885-sswjk   Ready ...

Passaggi successivi

Eseguire il deployment di un'applicazione