Creazione di cluster del carico di lavoro

Questo argomento spiega come creare i cluster del carico di lavoro con la CLI di Tanzu.

Prerequisiti

(Consigliato) Creazione di un cluster da un file di configurazione

Le procedure seguenti spiegano come distribuire un cluster del carico di lavoro da un file di configurazione del cluster. Da un file di configurazione del cluster, è possibile creare i seguenti tipi di cluster:

Per ulteriori informazioni su questi tipi di cluster, vedere Tipi di cluster del carico di lavoro in Informazioni su Tanzu Kubernetes Grid.

Creazione di un cluster basato sulla classe

La procedura seguente spiega come distribuire un cluster del carico di lavoro basato sulla classe da un file di configurazione del cluster. Il cluster risultante è rappresentato da un oggetto Cluster in Kubernetes.

Importante

VMware consiglia di utilizzare e mantenere un file di configurazione dedicato per ogni cluster che si distribuisce.

  1. Individuare il file di configurazione preparato nel contesto dei Prerequisiti indicati sopra.

  2. Creare il cluster. È possibile creare un cluster in uno o due passaggi, a seconda che si desideri esaminarne o modificarne la specifica dell'oggetto prima che venga creato:

    • (Consigliato) Quando si crea un cluster in un passaggio, si passa il file di configurazione del cluster all'opzione –file di tanzu cluster create e il comando lo applica automaticamente.
    • Quando si crea un cluster in due passaggi, si passa il file di configurazione del cluster all'opzione –file di tanzu cluster create, quindi il comando converte il file in una specifica dell'oggetto Cluster ed esce senza creare il cluster. Dopo aver esaminato o modificato la specifica, creare il cluster eseguendo nuovamente tanzu cluster create.

    Processo con un solo passaggio (consigliato)
    Per eseguire il processo con un solo passaggio:
    1. Impostare auto-apply-generated-clusterclass-based-configuration su true se non lo è già. In questo modo, viene configurata la CLI di Tanzu in modo che crei sempre cluster basati sulla classe utilizzando il processo con un solo passaggio. Per ulteriori informazioni su auto-apply-generated-clusterclass-based-configuration, vedere Funzionalità in Configurazione e architettura della CLI di Tanzu.

      tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration true
      
    2. Eseguire tanzu cluster create specificando il percorso del file di Cluster configurazione nell'opzione --file. Ad esempio, se è stato salvato il file di configurazione my-workload-cluster.yaml nella cartella predefinita clusterconfigs, eseguire il comando seguente per creare un cluster con un nome specificato nel file di configurazione:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      

      Se non è stato specificato un nome nel file di configurazione del cluster o si desidera creare un cluster con un nome diverso da quello specificato, specificare il nome del cluster nel comando tanzu cluster create. Ad esempio, per creare un cluster denominato another-workload-cluster dal file di configurazione my-workload-cluster.yaml, eseguire il comando seguente:

      tanzu cluster create another-workload-cluster --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      
    Processo in due passaggi, sempre
    Per eseguire il processo in due passaggi per ogni cluster creato:
    1. Impostare la funzionalità auto-apply-generated-clusterclass-based-configuration su false se non lo è già. In questo modo, viene configurata la CLI di Tanzu in modo che crei sempre cluster basati sulla classe utilizzando il processo in due passaggi. false è l'impostazione predefinita. Se è stata cambiata l'impostazione predefinita, per impostarla nuovamente su false, eseguire:

      tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
      

      Per ulteriori informazioni su auto-apply-generated-clusterclass-based-configuration, vedere Funzionalità in Configurazione e architettura della CLI di Tanzu.

    2. Per generare la specifica dell'oggetto, eseguire tanzu cluster create specificando il percorso del file di configurazione del cluster nell'opzione --file. Il comando salva la specifica dell'oggetto risultante nella cartella ~/.config/tanzu/tkg/clusterconfigs, ne stampa la posizione ed esce.

      Ad esempio, se è stato salvato il file di configurazione del cluster my-workload-cluster.yaml nella cartella clusterconfigs, eseguire il comando seguente per generare la specifica dell'oggetto:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      

      Se non è stato specificato un nome nel file di configurazione per il cluster o si desidera creare un cluster con un nome diverso da quello specificato, specificare il nome del cluster nel comando tanzu cluster create. Ad esempio:

      tanzu cluster create another-workload-cluster --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      
    3. Esaminare o modificare il file delle specifiche dell'oggetto generato da tanzu cluster create.

    4. Eseguire nuovamente tanzu cluster create, specificando il percorso dell'oggetto nell'opzione --file. Ad esempio:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster-spec.yaml
      

      Includere tutti i flag utilizzati nel primo passaggio, incluso il flag --tkr se si sta creando un cluster che esegue una versione di Kubernetes diversa da quella del cluster di gestione. Ad esempio:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster-spec.yaml -v 6 --tkr v1.23.16---vmware.1-tkg.2
      
    Processo in due passaggi, una volta
    Per eseguire il processo in due passaggi per un singolo cluster:
    1. Per generare la specifica dell'oggetto, eseguire tanzu cluster create con l'opzione --dry-run. L'opzione --dry-run sostituisce l'impostazione auto-apply-generated-clusterclass-based-configuration.

      tanzu cluster create CLUSTER-NAME --dry-run --file PATH-TO-CLUSTER-CONFIG-FILE.yaml > PATH-TO-OBJECT-SPEC-FILE.yaml
      

      In cui:

      • CLUSTER-NAME è il nome del cluster. È possibile omettere CLUSTER-NAME se è stato specificato nel file di configurazione del cluster.
      • PATH-TO-CLUSTER-CONFIG-FILE è il percorso del file di configurazione del cluster che si trova nel passaggio 1.
      • PATH-TO-OBJECT-SPEC-FILE è la posizione in cui si desidera salvare il file delle specifiche dell'oggetto risultante.

      Ad esempio, per salvare la specifica dell'oggetto risultante in un file denominato my-workload-cluster-spec.yaml, eseguire:

      tanzu cluster create my-cluster --dry-run --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml > my-workload-cluster-spec.yaml
      
    2. Esaminare o modificare il file della specifica dell'oggetto generato dall'opzione --dry-run nel passaggio precedente. Nell'esempio precedente, il nome del file della specifica è my-workload-cluster-spec.yaml.

    3. Dopo aver esaminato o modificato il file delle specifiche dell'oggetto, eseguire nuovamente tanzu cluster create senza l'opzione --dry-run. Nell'opzione --file, specificare il percorso del file della specifica dell'oggetto. Ad esempio:

      tanzu cluster create my-cluster --file my-workload-cluster-spec.yaml
      

      Includere tutti i flag utilizzati nel primo passaggio, incluso il flag --tkr se si sta creando un cluster che esegue una versione di Kubernetes diversa da quella del cluster di gestione. Ad esempio:

      tanzu cluster create --file my-workload-cluster-spec.yaml -v 6 --tkr v1.23.16---vmware.1-tkg.2
      
    Nota

    Quando si creano cluster basati sulla classe, la CLI di Tanzu non utilizza le personalizzazioni ytt descritte in Configurazione di un cluster legacy con ytt. Se la CLI li rileva nella macchina, genera un errore It seems like you have done some customizations to the template overlays.

  3. Dopo aver creato il cluster, eseguire il comando tanzu cluster get per visualizzare le informazioni sul cluster:

    tanzu cluster get CLUSTER-NAME
    

    Nell'output sono elencate le informazioni sullo stato dei nodi del piano di controllo e dei nodi worker, la versione di Kubernetes in esecuzione nel cluster e i nomi dei nodi.

(Legacy) Creazione di un cluster TKC o basato su un piano

La procedura seguente spiega come distribuire un cluster TKC o basato sul piano da un file di configurazione:

  • Cluster basati sul piano: Il cluster risultante è rappresentato da un oggetto AWSCluster, AzureCluster o VSphereCluster in Kubernetes, in base alla piattaforma dell'infrastruttura di destinazione.
  • Cluster TKC: Il cluster risultante è rappresentato da un oggetto TanzuKubernetesCluster in Kubernetes.

Per creare il cluster:

  1. Impostare la funzionalità allow-legacy-cluster su true nella CLI di Tanzu:

    tanzu config set features.cluster.allow-legacy-cluster true
    
  2. Creare il cluster:

    Cluster basato sul piano
    Se si sta creando un cluster basato su un piano, eseguire i passaggi seguenti:
    1. Individuare il file di configurazione preparato nel contesto dei Prerequisiti indicati sopra.
    2. Eseguire il comando tanzu cluster create specificando il percorso del file di configurazione nell'opzione --file. Ad esempio, se è stato salvato il file di configurazione del carico di lavoro my-workload-cluster.yaml nella cartella predefinita clusterconfigs, eseguire il comando seguente per creare un cluster con un nome specificato nel file di configurazione:

      tanzu cluster create --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      

      Se non è stato specificato un nome nel file di configurazione o si desidera creare un cluster con un nome diverso da quello specificato, specificare il nome del cluster nel comando tanzu cluster create. Ad esempio, per creare un cluster denominato another-workload-cluster dal file di configurazione my-workload-cluster.yaml, eseguire il comando seguente:

      tanzu cluster create another-workload-cluster --file ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml
      
    3. Dopo aver creato il cluster, eseguire il comando tanzu cluster get per visualizzare le informazioni sul cluster:

      tanzu cluster get CLUSTER-NAME
      

      Nell'output sono elencate le informazioni sullo stato dei nodi del piano di controllo e dei nodi worker, la versione di Kubernetes in esecuzione nel cluster e i nomi dei nodi.

    Cluster TKC
    Se si sta creando un cluster TKC, eseguire i passaggi seguenti:
    1. Creare o copiare un file di configurazione per il cluster del carico di lavoro come descritto in Configurazione di un cluster TKC distribuito da un supervisore (legacy).

    2. Dopo aver connesso la CLI di Tanzu al supervisore, recuperare lo spazio dei nomi vSphere di destinazione:

      tanzu namespaces get
      
    3. Determinare la versione di Tanzu Kubernetes (TKr) per il cluster:

      1. Recuperare l'elenco di TKr disponibili nel cluster supervisore:

        tanzu kubernetes-release get
        
      2. Dall'output del comando, prendere nota del valore desiderato indicato in NAME, ad esempio v1.22.5---vmware.1-tkg.1. Il valore NAME di tkr è uguale a quello di VERSION ma con + sostituito da ---.

    4. Distribuire il cluster eseguendo tanzu cluster create con il valore TKR-NAME e il nome del file di configurazione:

      tanzu cluster create CLUSTER-NAME --file CONFIGURATION-FILE --tkr=TKR-NAME
      

      In cui:

      • CLUSTER-NAME è un nome qualsiasi fornito per il cluster. Questo valore della riga di comando sostituisce qualsiasi impostazione CLUSTER_NAME nel file di configurazione.
      • CONFIGURATION-FILE è il percorso locale del file di configurazione del cluster, ad esempio ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml.
      • TKR-NAME è il nome di TKr recuperato in precedenza.
    5. Dopo aver creato il cluster, eseguire tanzu cluster get per visualizzare lo stato corrente del cluster:

      tanzu cluster get CLUSTER-NAME
      
    6. Configurare gli indirizzi IP dei nodi e dell'endpoint del piano di controllo in modo che siano statici, come descritto in Configurazione delle prenotazioni DHCP dei nodi e del record DNS dell'endpoint (solo vSphere).

Creazione di un cluster dalla specifica di un oggetto

Le procedure seguenti spiegano come creare un cluster del carico di lavoro basato sulla classe utilizzando una specifica di oggetto di tipo Kubernetes:

  1. Creare una specifica di oggetto cluster come descritto in Creazione di una specifica di oggetto, di seguito.
  2. Distribuire il cluster dalla specifica di oggetto come descritto in Creazione di un cluster basato sulla classe dalla specifica di un oggetto, di seguito.

Creazione di una specifica di oggetto

Per creare un file di specifica di oggetto di tipo Kubernetes per un cluster del carico di lavoro basato sulla classe, seguire i passaggi seguenti.

Cluster di gestione autonomo
Se si distribuisce il cluster del carico di lavoro in vSphere con un cluster di gestione autonomo, AWS o Azure, è possibile utilizzare la CLI di Tanzu per convertire un file di configurazione cluster nel file della specifica di un oggetto in stile Kubernetes per un cluster del carico di lavoro basato sulla classe senza distribuire il cluster. È quindi possibile utilizzare la specifica come esempio per creare specifiche personalizzate. Per creare il file di specifica, è possibile:
  • Se è stata aggiornata la configurazione predefinita della funzionalità auto-apply-generated-clusterclass-based-configuration, impostarla nuovamente su false e quindi eseguire tanzu cluster create con il flag --file. Per impostare auto-apply-generated-clusterclass-based-configuration su false:

    tanzu config set features.cluster.auto-apply-generated-clusterclass-based-configuration false
    

    Quando questa funzione è impostata su false e si esegue tanzu cluster create con il flag --file, il comando converte il file di configurazione del cluster in un file di specifiche degli oggetti ed esce senza creare il cluster. Dopo aver rivisto la configurazione, si esegue nuovamente tanzu cluster create con il file di specifiche dell'oggetto generato dalla CLI di Tanzu.

  • Per creare il file di specifiche per un singolo cluster, passare l'opzione --dry-run a tanzu cluster create e salvare l'output in un file. Utilizzare le stesse opzioni e lo stesso --file di configurazione che si utilizzerebbero se si stesse creando il cluster, ad esempio:

    tanzu cluster create my-cluster --file my-cluster-config.yaml --dry-run > my-cluster-spec.yaml
    

    L'opzione --dry-run sostituisce l'impostazione auto-apply-generated-clusterclass-based-configuration.

Per un file di specifica di oggetto di esempio, vedere Oggetto Cluster di esempio e relativi oggetti subordinati.

Supervisore
Se si distribuisce il cluster del carico di lavoro in vSphere 8 con Supervisore, creare o adattare una specifica di oggetto Cluster come descritto in Configurazione un cluster basato sulla classe distribuito dal supervisore.
  • La documentazione di vSphere 8 include specifiche dell'oggetto Cluster di esempio da utilizzare a questo scopo, come Esempio v1beta1: cluster predefinito.
  • Impostare i tipi di macchina virtuale, le dimensioni e altre configurazioni di base del cluster nel blocco topology del file della specifica.
  • Per personalizzare gli attributi che non possono essere impostati nell'oggetto Cluster stesso, ad esempio le impostazioni una tantum dell'interfaccia del container nell'infrastruttura del cluster, vedere Configurazione delle impostazioni una tantum dell'infrastruttura.


Creazione di un cluster basato sulla classe dalla specifica di un oggetto

Per distribuire un cluster del carico di lavoro basato sulla classe dalla specifica di un oggetto, passare la specifica dell'oggetto all'opzione --file di tanzu cluster create, ad esempio:

tanzu cluster create my-cluster --file my-cluster-spec.yaml
Nota

Quando si creano cluster basati sulla classe, la CLI di Tanzu non utilizza le personalizzazioni ytt descritte in Configurazione di un cluster legacy con ytt. Se la CLI li rileva nella macchina, genera un errore It seems like you have done some customizations to the template overlays.

Creazione di un cluster di servizi condivisi

Per i cluster del carico di lavoro gestiti da un cluster di gestione creato con tanzu management-cluster create o tanzu mc create anziché con un cluster supervisore vSphere with Tanzu, la distribuzione di Harbor o altri servizi consente a tutti i carichi di lavoro di condividere una singola istanza del servizio.

Ogni istanza di Tanzu Kubernetes Grid può avere un solo cluster di servizi condivisi.

La distribuzione di Harbor in un cluster di servizi condivisi consente a tutti i cluster del carico di lavoro gestiti dallo stesso cluster di gestione di condividere una singola istanza di Harbor. Per istruzioni sulla distribuzione di Harbor, vedere Installazione di Harbor per il registro del servizio.

Per creare un cluster di servizi condivisi:

  1. Creare un file YAML di configurazione del cluster per il cluster. È consigliabile utilizzare il piano del cluster prod anziché il piano dev. Ad esempio:

    INFRASTRUCTURE_PROVIDER: vsphere
    CLUSTER_NAME: YOUR-CLUSTER-NAME
    CLUSTER_PLAN: prod
    

    In cui YOUR-CLUSTER-NAME è il nome scelto per il cluster. Ad esempio, tkg-services.

  2. (Solo vSphere) Se si utilizza il bilanciamento del carico Kube-Vip predefinito per l'API del piano di controllo del cluster, è necessario specificarne l'endpoint impostando VSPHERE_CONTROL_PLANE_ENDPOINT. Assicurarsi che questo indirizzo VIP non sia incluso nell'intervallo DHCP, ma si trovi nella stessa subnet dell'intervallo DHCP. Se un nome dominio completo (FQDN) è stato mappato all'indirizzo VIP, è possibile specificare il nome di dominio completo anziché l'indirizzo VIP.
    Se si utilizza NSX Advanced Load Balancer (ALB), non impostare VSPHERE_CONTROL_PLANE_ENDPOINT a meno che non sia necessario che l'endpoint del piano di controllo sia a un indirizzo specifico. In tal caso, utilizzare un indirizzo statico dell'intervallo di rete VIP del profilo IPAM di NSX ALB che è stato aggiunto manualmente al pool di IP statici oppure un nome di dominio completo mappato all'indirizzo statico.

    Ad esempio:

    VSPHERE_CONTROL_PLANE_ENDPOINT: 10.10.10.10
    
  3. Creare il cluster dei servizi condivisi come descritto in precedenza in Creazione di un cluster da un file di configurazione.

  4. Impostare il contesto di kubectl sul contesto del cluster di gestione. Ad esempio:

    kubectl config use-context mgmt-cluster-admin@mgmt-cluster
    

    In questo esempio, mgmt-cluster è il nome del cluster di gestione.

  5. Aggiungere l'etichetta tanzu-services al cluster dei servizi condivisi come ruolo del cluster. Questa etichetta identifica il cluster dei servizi condivisi nel cluster di gestione e nei cluster del carico di lavoro. Ad esempio:

    kubectl label cluster.cluster.x-k8s.io/tkg-services cluster-role.tkg.tanzu.vmware.com/tanzu-services="" --overwrite=true
    

    In questo esempio, tkg-services è il nome del cluster dei servizi condivisi. Dovrebbe essere presente la conferma cluster.cluster.x-k8s.io/tkg-services labeled.

  6. Verificare che l'etichetta sia stata applicata correttamente eseguendo il comando seguente:

    tanzu cluster list --include-management-cluster
    

    Il cluster dei servizi condivisi risulta avere il ruolo tanzu-services. Ad esempio:

    NAME              NAMESPACE   STATUS   CONTROLPLANE  WORKERS  KUBERNETES        ROLES           PLAN   TKR
    another-cluster   default     running  1/1           1/1      v1.25.7+vmware.1  <none>          dev    v1.25.7---vmware.1-tkg
    tkg-services      default     running  3/3           3/3      v1.25.7+vmware.1  tanzu-services  prod   v1.25.7---vmware.1-tkg
    mgmt-cluster      tkg-system  running  1/1           1/1      v1.25.7+vmware.1  management      dev    v1.25.7---vmware.1-tkg
    
  7. Recuperare le credenziali admin del cluster dei servizi condivisi. Ad esempio:

    tanzu cluster kubeconfig get tkg-services --admin
    
  8. Impostare il contesto di kubectl sul cluster dei servizi condivisi. Ad esempio:

    kubectl config use-context tkg-services-admin@tkg-services
    

Passaggi successivi

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