È possibile eseguire il provisioning dei cluster di Tanzu Kubernetes richiamando l'API dichiarativa Servizio Tanzu Kubernetes Grid utilizzando kubectl e una specifica del cluster definita utilizzando YAML. Dopo aver eseguito il provisioning di un cluster, è possibile utilizzarlo e distribuirvi i carichi di lavoro utilizzando kubectl.

Il workflow fornisce una procedura end-to-end per il processo di provisioning del cluster. Ciascuno dei passaggi include collegamenti per ulteriori informazioni sull'attività specifica.

Prerequisiti

Completare le seguenti operazioni per ottenere i prerequisiti richiesti:

Procedura

  1. Scaricare e installare Strumenti CLI Kubernetes di vSphere. Vedere Download e installazione di Strumenti CLI Kubernetes di vSphere.
  2. Utilizzando Plug-in vSphere per kubectl, eseguire l'autenticazione con il Cluster supervisore. Vedere Connessione al Cluster supervisore come utente vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  3. Utilizzando kubectl, cambiare contesto nel Spazio dei nomi vSphere in cui si intende eseguire il provisioning del cluster di Tanzu Kubernetes.
    kubectl config get-contexts
    kubectl config use-context SUPERVISOR-NAMESPACE
    Ad esempio:
    kubectl config use-context tkgs-cluster-ns
  4. Elencare i binding delle classi di macchine virtuali disponibili. Vedere Classi di macchine virtuali per i cluster di Tanzu Kubernetes.
    Utilizzare il comando seguente per elencare tutti i binding delle classi di macchine virtuali disponibili nel Spazio dei nomi vSphere in cui si distribuisce il cluster.
    kubectl get virtualmachineclassbindings
    Nota: Il comando kubectl get virtualmachineclasses elenca tutte le classi di macchine virtuali presenti nel Cluster supervisore. Poiché è necessario associare classi di macchine virtuali al Spazio dei nomi vSphere, è possibile utilizzare solo le classi di macchine virtuali associate allo spazio dei nomi di destinazione.
  5. Ottenere le classi di storage dei volumi persistenti disponibili.
    kubectl describe storageclasses
  6. Elencare le Release di Tanzu Kubernetes disponibili.
    kubectl get tanzukubernetesreleases
    In alternativa, usare il collegamento:
    kubectl get tkr
    Nota: La versione di Tanzu Kubernetes minima che supporta l'API v1alpah2 è v1.21.2---vmware.1-tkg.1.13da849. Vedere Elenco di Release di Tanzu Kubernetes.
  7. Creare il file YAML per il provisioning di un cluster di Tanzu Kubernetes.
    1. Iniziare con uno dei file YAML di esempio.
    2. Utilizzare le informazioni raccolte dall'output dei comandi precedenti per popolare il file YAML del cluster, inclusi le seguenti:
      • Spazio dei nomi vSphere di destinazione
      • Classe di storage per il piano di controllo e i nodi di lavoro, nonché i carichi di lavoro di Kubernetes
      • Classi di macchine virtuali
      • TKR NAME
    3. Personalizzare il cluster in base alle esigenze facendo riferimento all'elenco completo dei parametri di configurazione del cluster.
    4. Salvare il file come tkgs-cluster-1.yaml o simile.
  8. Eseguire il provisioning del cluster eseguendo il comando kubectl seguente.
    kubectl apply -f CLUSTER-NAME.yaml
    Ad esempio:
    kubectl apply -f tkgs-cluster-1.yaml
    Risultato previsto:
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
  9. Monitorare la distribuzione dei nodi del cluster mediante kubectl. Vedere Monitorare lo stato dei cluster Tanzu Kubernetes mediante kubectl.
    kubectl get tanzukubernetesclusters
    Risultato dell'esempio:
    NAMESPACE      NAME              CONTROL PLANE   WORKER   TKR NAME                           AGE    READY   TKR COMPATIBLE   UPDATES AVAILABLE
    tkgs-cluster   tkgs-cluster-1    3               3        v1.21.2---vmware.1-tkg.1.13da849   38h    True    True             [1.21.2+vmware.1-tkg.1.13da849]
  10. Monitorare la distribuzione dei nodi del cluster utilizzando vSphere Client. Vedere Monitorare lo stato dei cluster Tanzu Kubernetes mediante vSphere Client.
    Ad esempio, nell'inventario di vSphere è necessario visualizzare i nodi delle macchine virtuali distribuiti nello spazio dei nomi.
  11. Eseguire comandi aggiuntivi per verificare il provisioning del cluster. Vedere la pagina sull'uso dei comenti operativi dei cluster di Tanzu Kubernetes.
    Ad esempio:
    kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
    Nota: Per ulteriori informazioni sulla risoluzione dei problemi, vedere la pagina di risoluzione dei problemi dei cluster di Tanzu Kubernetes.
  12. Utilizzando Plug-in vSphere per kubectl, accedere al cluster. Vedere Connessione a un cluster Tanzu Kubernetes come utente vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME \
    --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
  13. Verificare il provisioning del cluster utilizzando i comandi kubectl seguenti.
    kubectl cluster-info
    kubectl get nodes
    kubectl get namespaces
    kubectl api-resources
  14. Distribuire un carico di lavoro di esempio e verificare la creazione del cluster. Vedere Distribuzione di carichi di lavoro nei cluster Tanzu Kubernetes.
    Nota: Per i cluster di Tanzu Kubernetes è abilitato il criterio di sicurezza pod. In base al carico di lavoro e all'utente, potrebbe essere necessario creare un RoleBinding appropriato o un PodSecurityPolicy personalizzato. Vedere Utilizzo dei criteri di protezione pod con i cluster di Tanzu Kubernetes.
  15. Rendere operativo il cluster distribuendo le estensioni TKG. Vedere Distribuzione delle estensioni TKG nei cluster Tanzu Kubernetes.