Vous provisionnez des clusters Tanzu Kubernetes en appelant l'API déclarative de Service Tanzu Kubernetes Grid à l'aide de kubectl et d'une spécification de cluster définie avec YAML. Après avoir provisionné un cluster, vous l'utilisez et y déployez des charges de travail à l'aide de kubectl.

Le workflow fournit une procédure de bout en bout pour le processus de provisionisation du cluster. Chacune des étapes comporte des liens pour obtenir plus d'informations sur la tâche spécifique.

Conditions préalables

Complétez les conditions préalables suivantes :

Procédure

  1. Téléchargez et installez les Outils de l'interface de ligne de commande Kubernetes pour vSphere . Reportez-vous à la section Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere.
  2. À l'aide du Plug-in vSphere pour kubectl, authentifiez-vous dans le Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  3. À l'aide de kubectl, changez de contexte pour passer à l'Espace de noms vSphere dans lequel vous prévoyez de provisionner le cluster Tanzu Kubernetes.
    kubectl config get-contexts
    kubectl config use-context SUPERVISOR-NAMESPACE
    Par exemple :
    kubectl config use-context tkgs-cluster-ns
  4. Lister les liaisons de classe de machine virtuelle disponibles. Reportez-vous à la section Classes de machine virtuelle pour des clusters Tanzu Kubernetes.
    Utilisez la commande suivante pour répertorié toutes les liaisons de classe de machine virtuelle disponibles dans l' Espace de noms vSphere sur lequel vous déployez le cluster.
    kubectl get virtualmachineclassbindings
    Note : La commande kubectl get virtualmachineclasses répertorie toutes les classes de machine virtuelle présentes sur le Cluster superviseur. Comme vous devez associer des classes de machine virtuelle à l' Espace de noms vSphere, vous pouvez uniquement utiliser les classes de machine virtuelle qui sont liées à l'espace de noms cible.
  5. Obtenez la classe de stockage par défaut disponible en décrivant l'espace de noms.
    kubectl describe namespace SUPERVISOR-NAMESPACE
  6. Répertoriez les Versions de Tanzu Kubernetes disponibles.
    Note : Reportez-vous à la liste de Versions de Tanzu Kubernetes pour la compatibilité. Reportez-vous à la section Vérifier la compatibilité du cluster Tanzu Kubernetes pour la mise à jour.
    kubectl get tanzukubernetesreleases
    Note : La commande kubectl get virtualmachineimages renvoie des informations génériques sur les machines virtuelles.
  7. Créez le fichier YAML pour le provisionnement d'un cluster Tanzu Kubernetes.
    1. Commencez par l'un des exemples de fichiers YAML. Reportez-vous à la section Exemples de provisionnement de clusters Tanzu Kubernetes à l'aide de l'API v1alpha1 du Service Tanzu Kubernetes Grid.
      Par exemple, le fichier YAML suivant provisionne un cluster minimal en utilisant toutes les valeurs par défaut disponibles :
      apiVersion: run.tanzu.vmware.com/v1alpha1  #TKGS API endpoint
      kind: TanzuKubernetesCluster               #required parameter
      metadata:
        name: tkgs-cluster-1                     #cluster name, user defined
        namespace: tgks-cluster-ns               #vsphere namespace
      spec:
        distribution:
          version: v1.19                         #Resolves to latest TKR 1.19 version
        topology:
          controlPlane:
            count: 1                             #number of control plane nodes
            class: best-effort-medium            #vmclass for control plane nodes
            storageClass: vwt-storage-policy     #storageclass for control plane
          workers:
            count: 3                             #number of worker nodes
            class: best-effort-medium            #vmclass for worker nodes
            storageClass: vwt-storage-policy     #storageclass for worker nodes
      
    2. Utilisez les informations que vous avez recueillies dans la sortie des commandes précédentes pour remplir le YAML du cluster, notamment l'espace de noms, la classe de stockage et la classe de machine virtuelle.
    3. Personnalisez le cluster si nécessaire en faisant référence à la liste complète des paramètres de configuration du cluster. Reportez-vous à la section Paramètres de configuration des clusters Tanzu Kubernetes utilisant Service Tanzu Kubernetes Grid v1alpha1 API.
    4. Enregistrez le fichier sous tkgs-cluster-1.yaml, ou un nom similaire.
  8. Provisionnez le cluster en exécutant la commande kubectl suivante.
    kubectl apply -f CLUSTER-NAME.yaml
    Par exemple :
    kubectl apply -f tkgs-cluster-1.yaml
    Résultat attendu :
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
  9. Surveillez le déploiement des nœuds de cluster à l'aide de kubectl. Reportez-vous à la section Surveiller l'état du cluster Tanzu Kubernetes à l'aide de kubectl.
    kubectl get tanzukubernetesclusters
    Exemple de résultat :
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE     PHASE
    tkgs-cluster-2   1               3        v1.19.7+vmware.1-tkg.1.c40d30d   7m59s   running
  10. Surveillez le déploiement des nœuds de clusters à l'aide de vSphere Client. Reportez-vous à la section Surveiller l'état du cluster Tanzu Kubernetes à l'aide de vSphere Client.
    Par exemple, dans l'inventaire vSphere, vous devez voir les nodes de machine virtuelle déployés dans l'espace de noms.
  11. Exécutez des commandes supplémentaires pour vérifier le provisionnement du cluster. Consultez Utiliser des commandes opérationnelles de clusters Tanzu Kubernetes.
    Par exemple :
    kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
    Note : Pour un dépannage supplémentaire, reportez-vous à la section Dépannage des clusters Tanzu Kubernetes.
  12. À l'aide du Plug-in vSphere pour kubectl, connectez-vous au cluster. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur 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. Vérifiez le provisionnement de cluster à l'aide des commandes kubectl suivantes.
    kubectl cluster-info
    kubectl get nodes
    kubectl get namespaces
    kubectl api-resources
  14. Déployez un exemple de charge de travail et vérifiez la création du cluster. Reportez-vous à la section Déploiement de charges de travail sur des clusters Tanzu Kubernetes.
    Note : La stratégie de sécurité de l'espace est activée sur les clusters Tanzu Kubernetes. En fonction de la charge de travail et de l'utilisateur, il peut être nécessaire de créer une liaison RoleBinding appropriée ou une stratégie PodSecurityPolicy personnalisée. Reportez-vous à la section Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.
  15. Exploitez le cluster en déployant des extensions TKG. Reportez-vous à la section Déployer des modules TKG sur des clusters Tanzu Kubernetes.