Créer des clusters de charge de travail

Cette rubrique explique comment créer des clusters de charge de travail avec la CLI Tanzu.

Conditions requises

Créer un cluster à partir d’un fichier de configuration

Les procédures ci-dessous expliquent comment déployer un cluster de charge de travail à partir d’un fichier de configuration de cluster. À partir d’un fichier de configuration de cluster, vous pouvez créer les types de clusters suivants :

Pour plus d'informations sur ces types de clusters, reportez-vous à la section Types de clusters de charge de travail dans À propos de Tanzu Kubernetes Grid.

Créer un cluster basé sur une classe

La procédure ci-dessous explique comment déployer un cluster de charge de travail basé sur une classe à partir d'un fichier de configuration de cluster. Le cluster résultant est représenté par un objet Cluster dans Kubernetes.

Important

VMware recommande d’utiliser et de conserver un fichier de configuration dédié pour chaque cluster que vous déployez.

  1. Localisez le fichier de configuration que vous avez préparé dans le cadre des conditions préalables ci-dessus.

  2. (Facultatif) Vérifiez la configuration Kubernetes que tanzu cluster create appliquera à l'étape suivante. Pour vérifier la configuration, effectuez l’une des opérations suivantes avant de déployer le cluster :

    • Pour générer un aperçu pour chaque cluster basé sur une classe que vous créez avec tanzu cluster create, assurez-vous que la fonctionnalité auto-apply-generated-clusterclass-based-configuration est définie sur false dans la configuration de la CLI Tanzu. Cette fonctionnalité est destinée uniquement aux clusters basés sur une classe et est définie par défaut sur false. Si vous avez mis à jour la configuration par défaut, pour la rétablir à false, exécutez :

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

      Lorsque auto-apply-generated-clusterclass-based-configuration est défini sur false et que vous exécutez tanzu cluster create avec l'indicateur --file, la commande se ferme et enregistre votre configuration de cluster dans un fichier sans créer le cluster. Après avoir examiné la configuration, réexécutez tanzu cluster create avec le fichier généré par la CLI Tanzu. Pour plus d'informations, reportez-vous à la section Fonctionnalités dans Architecture et configuration de la CLI Tanzu.

      Remarque

      Si vous souhaitez ignorer cette étape, définissez la fonctionnalité auto-apply-generated-clusterclass-based-configuration sur true dans la configuration de la CLI Tanzu. Lorsque la fonctionnalité est définie sur true, la CLI Tanzu applique automatiquement la configuration que vous transmettez à l'option --file de tanzu cluster create.

    • Pour générer un aperçu pour un cluster unique, utilisez l'indicateur --dry-run. Par exemple, pour enregistrer la configuration dans un fichier, exécutez :

      tanzu cluster create CLUSTER-NAME --dry-run --file CLUSTER-CONFIG-FILE > CLUSTER-CONFIG-FILE-preview.yaml
      

      CLUSTER-NAME est le nom du cluster et CLUSTER-CONFIG-FILE est le fichier que vous avez localisé à l'étape précédente. Vous pouvez omettre CLUSTER-NAME si vous l'avez spécifié dans le fichier de configuration. Après avoir examiné la configuration, passez à l’étape suivante.

  3. Exécutez la commande tanzu cluster create, en spécifiant le chemin d'accès au fichier de configuration dans l'option --file. Par exemple, si vous avez enregistré le fichier de configuration de la charge de travail my-workload-cluster.yaml dans le dossier par défaut clusterconfigs, exécutez la commande suivante pour créer un cluster avec un nom que vous avez spécifié dans le fichier de configuration :

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

    Si vous n'avez pas spécifié de nom dans le fichier de configuration ou si vous souhaitez créer un cluster avec un nom différent de celui que vous avez spécifié, indiquez le nom du cluster dans la commande tanzu cluster create. Par exemple, pour créer un cluster nommé another-workload-cluster à partir du fichier de configuration my-workload-cluster.yaml, exécutez la commande suivante :

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

    Tout nom que vous spécifiez dans la commande tanzu cluster create remplace le nom que vous avez défini dans le fichier de configuration.

    Remarque

    Lors de la création de clusters basés sur une classe, la CLI Tanzu n'utilise pas les personnalisations ytt décrites dans la section Configuration de cluster hérité avec ytt. Si la CLI les détecte sur votre machine, elle génère une erreur It seems like you have done some customizations to the template overlays.

  4. Une fois le cluster créé, exécutez la commande tanzu cluster get pour afficher les informations sur le cluster :

    tanzu cluster get CLUSTER-NAME
    

    La sortie répertorie des informations sur l'état du plan de contrôle et des nœuds worker, la version de Kubernetes que le cluster exécute et les noms des nœuds.

(Hérité) Créer un cluster basé sur un plan ou un cluster TKC

La procédure ci-dessous explique comment déployer un cluster basé sur un plan ou TKC à partir d'un fichier de configuration :

  • Clusters basés sur un plan : Le cluster résultant est représenté par un objet AWSCluster, AzureCluster ou VSphereCluster dans Kubernetes, en fonction de la plate-forme d'infrastructure que vous ciblez.
  • Clusters TKC : Le cluster résultant est représenté par un objet TanzuKubernetesCluster dans Kubernetes.

Pour créer le cluster :

  1. Définissez la fonctionnalité allow-legacy-cluster sur true dans la CLI Tanzu :

    tanzu config set features.cluster.allow-legacy-cluster true
    
  2. Créez le cluster :

    • Si vous créez un cluster basé sur un plan, suivez les étapes décrites dans la section Créer un cluster basé sur une classe ci-dessus.
    • Si vous créez un cluster TKC :

      1. Créez ou copiez un fichier de configuration pour le cluster de charge de travail, comme décrit dans la section Configurer un cluster TKC déployé par le superviseur (hérité).

      2. Une fois que vous avez connecté la CLI Tanzu au superviseur, obtenez l'espace de noms vSphere cible :

      tanzu namespaces get
      
      1. Déterminez la version de Tanzu Kubernetes (TKR) pour le cluster :

      2. Obtenez la liste des TKR disponibles dans le cluster superviseur :

        tanzu kubernetes-release get
        
      3. Dans la sortie de la commande, enregistrez la valeur souhaitée répertoriée sous NAME, par exemple v1.22.5---vmware.1-tkg.1. Les valeurs de tkr NAME et VERSION sont identiques, excepté que la valeur + est remplacée par ---.

      4. Déployez le cluster en exécutant tanzu cluster create avec la valeur TKR-NAME et le nom du fichier de configuration :

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

      Où :

      • CLUSTER-NAME est n'importe quel nom que vous fournissez au cluster. Cette valeur de ligne de commande remplace tout paramètre CLUSTER_NAME dans le fichier de configuration.
      • CONFIGURATION-FILE est le chemin d'accès local au fichier de configuration du cluster, par exemple ~/.config/tanzu/tkg/clusterconfigs/my-workload-cluster.yaml.
      • TKR-NAME est le nom du TKR obtenu ci-dessus.

      • Une fois le cluster créé, exécutez tanzu cluster get pour voir l'état actuel du cluster :

      tanzu cluster get CLUSTER-NAME
      
      1. Configurez les adresses IP de ses nœuds et de son point de terminaison de plan de contrôle pour qu'elles soient statiques, comme décrit dans la section Configurer les réservations DHCP pour le plan de contrôle.

Créer un cluster à partir d’une spécification d’objet

Les procédures ci-dessous expliquent comment créer un cluster de charge de travail basé sur une classe à l'aide d'une spécification d'objet de style Kubernetes :

  1. Créez une spécification d'objet de cluster, comme décrit dans la section Créer une spécification d'objet ci-dessous.
  2. Déployez le cluster à partir de la spécification d'objet, comme décrit dans la section Créer un cluster basé sur une classe à partir de la spécification d'objet ci-dessous.

Créer une spécification d’objet

Cette section explique comment créer un fichier de spécification d'objet de style Kubernetes pour un cluster de charge de travail basé sur une classe.

  • Si vous déployez un cluster de charge de travail basé sur une classe pour vSphere avec un cluster de gestion autonome, AWS ou Azure, vous pouvez utiliser la CLI Tanzu pour convertir un fichier de configuration de cluster en fichier de spécification d'objet de style Kubernetes pour un cluster de charge de travail basé sur une classe sans déployer le cluster. Pour créer le fichier, vous pouvez :

    • Si vous avez mis à jour la configuration par défaut de la fonctionnalité auto-apply-generated-clusterclass-based-configuration, rétablissez-la sur false, puis exécutez tanzu cluster create. Pour définir auto-apply-generated-clusterclass-based-configuration sur false :

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

      Lorsque cette fonctionnalité est définie sur false et que vous exécutez tanzu cluster create avec l'indicateur --file, la commande se ferme et enregistre la configuration de votre cluster dans un fichier sans créer le cluster. Après avoir examiné la configuration, réexécutez tanzu cluster create avec le fichier généré par la CLI Tanzu.

    • Transmettez l'option --dry-run pour tanzu cluster create et enregistrez la sortie dans un fichier. Utilisez les mêmes options et le même --file de configuration que vous utiliseriez pour créer le cluster. Par exemple :

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

    Vous pouvez utiliser cette spécification d'objet pour déployer un cluster, comme décrit dans la section Créer un cluster basé sur une classe ci-dessous.

  • Si vous déployez le cluster de charge de travail sur vSphere 8 avec superviseur, créez ou adaptez une spécification d'objet Cluster, comme décrit dans la section Configurer un cluster basé sur une classe déployé par un superviseur.

    • La documentation de vSphere 8 contient des exemples de spécifications d'objets Cluster à utiliser, par exemple Exemple v1beta1 : cluster par défaut.
    • Définissez les types de machines virtuelles, l'échelle et d'autres configurations de cluster de base dans le bloc topology du fichier de spécification.
    • Pour personnaliser les attributs qui ne peuvent pas être définis dans l'objet Cluster lui-même, par exemple les paramètres d'interface de conteneur à usage unique dans l'infrastructure du cluster, reportez-vous à la section Configurer les paramètres de l'infrastructure à usage unique.

Créer un cluster basé sur une classe à partir de la spécification d’objet

Pour déployer un cluster de charge de travail basé sur une classe à partir d'une spécification d'objet, procédez de l'une des manières suivantes :

  • Transmettez la spécification d'objet à l'option -f de tanzu cluster create, par exemple :

    tanzu cluster create my-cluster -f my-cluster-spec.yaml
    
  • Transmettez la spécification d'objet à l'option -f de kubectl apply, par exemple :

    kubectl config use-context CONTEXT-NAME
    
    kubectl apply -f my-cluster-spec.yaml
    
    Remarque

    Lors de la création de clusters basés sur une classe, la CLI Tanzu n'utilise pas les personnalisations ytt décrites dans la section Configuration de cluster hérité avec ytt. Si la CLI les détecte sur votre machine, elle génère une erreur It seems like you have done some customizations to the template overlays.

Tâches suivantes

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