Exécution de clusters sur plusieurs zones de disponibilité

Cette rubrique décrit comment déployer de nouveaux clusters de charge de travail Tanzu Kubernetes Grid (TKG) qui s'exécutent dans plusieurs zones de disponibilité (AZ) et comment modifier les clusters de gestion et de charge de travail existants pour qu'ils s'exécutent dans plusieurs zones de disponibilité ou différentes zones de disponibilité.

Pour utiliser l'interface du programme d'installation afin de configurer un nouveau cluster de gestion autonome qui s'exécute sur plusieurs zones de disponibilité, reportez-vous à la section Configurer les ressources vSphere du document Déployer des clusters de gestion avec l'interface du programme d'installation.

Remarque

Cette rubrique s’applique à TKG avec un cluster de gestion autonome. Pour exécuter TKG avec un superviseur dans des zones de disponibilité, reportez-vous à la section Créer des zones vSphere pour un déploiement de superviseur à plusieurs zones dans la documentation de vSphere 8.0.

Présentation

Objets Kubernetes : Pour activer plusieurs zones de disponibilité pour les clusters sur vSphere, le fournisseur d'API de cluster vSphere (CAPV) utilise deux définitions de ressources personnalisées (CRD) :

  • La CRD VSphereFailureDomain capture les informations de balisage spécifiques à la région/zone, ainsi que la définition de topologie qui inclut les informations de centre de données, de cluster, d'hôte et de banque de données vSphere.
  • La CRD VSphereDeploymentZone capture l'association d'un VSphereFailureDomain avec les informations de contrainte de placement pour le nœud Kubernetes.

Association de Kubernetes à vSphere : Les définitions d'objets VSphereFailureDomain et VSphereDeploymentZone définissent les régions et les zones de disponibilité avec les paramètres suivants :

  • Région : spec.region
  • Zone/Zone de disponibilité : spec.zone

Les balises vSphere k8s-region et k8s-zone associent les régions et les zones de disponibilité dans Kubernetes à leurs objets sous-jacents dans vSphere.

Étendue de la zone de disponibilité : Vous pouvez étendre des zones de disponibilité et des régions à différents niveaux dans vSphere en les associant à des objets vSphere comme suit :

Étendue de la zone de disponibilité Zone/Zone de disponibilité Région Utilisation de plusieurs zones de disponibilité
Zones de disponibilité du cluster Cluster vSphere Centre de données vSphere Répartir les nœuds sur plusieurs clusters dans un centre de données
Zones de disponibilité du groupe d'hôtes Groupe d'hôtes vSphere Cluster vSphere Répartir les nœuds sur plusieurs hôtes dans un cluster unique

Les configurations de cette rubrique répartissent le plan de contrôle du cluster TKG et les nœuds worker entre les objets entre vSphere, à savoir les centres de données, les clusters et les hôtes vSphere, en fonction de la manière dont les objets sont balisés dans vSphere et référencés dans les définitions VSphereFailureDomain et VSphereDeploymentZone dans Kubernetes.

Configurations des objets du Cluster : La spécification des objets du Cluster configure les zones de disponibilité pour leur plan de contrôle et leurs nœuds worker de différentes manières, en faisant correspondre les différentes propriétés des objets de la VSphereDeploymentZone qui définissent les zones de disponibilité :

Type de nœud Propriété sous spec.topology Propriétés VSphereDeploymentZone à faire correspondre Exemple
Nœuds de plan de contrôle variables.controlPlaneZoneMatchingLabels Liste des paires metadata.labels {"environment": "staging", "region": "room1"}
Nœuds Worker machineDeployments.MD-INDEX.failureDomain pour chaque déploiement de machine Liste des valeurs metadata.name [rack1,rack2,rack3]

Étant donné que les nœuds de plan de contrôle sont attribués à des zones de disponibilité en fonction de la correspondance des étiquettes, vous devez créer une étiquette qui distingue chaque combinaison de zones de disponibilité que les nœuds de plan de contrôle de cluster peuvent utiliser.

Conditions requises

Les conditions préalables au déploiement ou à la modification des clusters TKG pour qu'ils s'exécutent dans plusieurs zones de disponibilité ou différentes zones de disponibilité incluent les éléments suivants :

  • Cluster de gestion Tanzu Kubernetes Grid avec des clusters de charge de travail s'exécutant sur vSphere.
  • L'autorisation suivante a été ajoutée au compte vSphere configuré pour TKG, comme décrit dans la section suivante Autorisations requises pour le compte vSphere :
    • Hôte (Host) > Inventaire (Inventory) > Modifier cluster (Modify cluster)

Déployer des clusters de charge de travail sur plusieurs zones de disponibilité

Vous pouvez déployer un cluster de charge de travail pour qu'il exécute son plan de contrôle ou ses nœuds worker dans plusieurs zones de disponibilité (AZ) selon trois étapes de base, comme décrit dans les sections suivantes.

  1. Préparer des régions et des zones de disponibilité dans vSphere
  2. Créer des objets FailureDomain et Deployment Zone dans Kubernetes
  3. Déployer le cluster

Préparer des régions et des zones de disponibilité dans vSphere

Pour préparer vSphere à la prise en charge des régions et des zones de disponibilité dans TKG :

  1. Identifiez ou créez les objets vSphere pour les régions et les zones de disponibilité dans lesquelles vos nœuds de cluster TKG seront hébergés.

    • Zones de disponibilité du groupe d'hôtes : Si vous utilisez des groupes d'hôtes vSphere en tant que zones de disponibilité, vous devez créer un groupe d'hôtes et un groupe de machines virtuelles correspondant pour chaque zone de disponibilité que vous prévoyez d'utiliser :

      1. Créez des objets de groupe d'hôtes et de groupe de machines virtuelles de l'une des manières suivantes :

        • Dans vCenter, créez un groupe d'hôtes et un groupe de machines virtuelles à partir de Configurer > VM/Groupes d'hôtes > Ajouter…

          • Pour créer un groupe d'hôtes, vous devrez peut-être créer une machine virtuelle factice à ajouter en tant que membre du groupe.
        • Avec la CLI govc, exécutez des commandes govc semblables aux commandes suivantes. Par exemple, pour créer un groupe d'hôtes rack1 et un groupe de machines virtuelles rack1-vm-group :

          govc cluster.group.create -cluster=RegionA01-MGMT -name=rack1 -host esx-01a.corp.tanzu esx-02a.corp.tanzu
          
          govc cluster.group.create -cluster=RegionA01-MGMT -name=rack1-vm-group -vm
          
      2. Ajoutez des règles d'affinité entre les groupes de machines virtuelles et les groupes d'hôtes créés afin que les machines virtuelles du groupe de machines virtuelles s'exécutent sur les hôtes du groupe d'hôtes créé :

        • Définissez Type sur Machines virtuelles aux hôtes et incluez la règle Doit s'exécuter sur des hôtes en groupe.
  2. Balisez les objets vSphere comme suit, selon que vous configurez des zones de disponibilité de clusters ou de groupes d'hôtes vSphere. Ces exemples utilisent la CLI govc, mais vous pouvez également utiliser le volet Balises et attributs personnalisés dans vCenter :

    • Zones de disponibilité du cluster :

      Pour chaque zone de disponibilité, utilisez govc pour créer et attacher une balise de catégorie k8s-region au centre de données et une balise de catégorie k8s-zone à chaque cluster vSphere. Par exemple, pour baliser le centre de données dc0 en tant que région us-west-1 et ses clusters cluster1, etc., en tant que zones de disponibilité us-west-1a, etc. :

      govc tags.category.create -t Datacenter k8s-region
      
      govc tags.category.create -t ClusterComputeResource k8s-zone
      
      govc tags.create -c k8s-region us-west-1
      
      govc tags.create -c k8s-zone us-west-1a
      govc tags.create -c k8s-zone us-west-1b
      govc tags.create -c k8s-zone us-west-1c
      
      govc tags.attach -c k8s-region us-west-1 /dc0
      
      govc tags.attach -c k8s-zone us-west-1a /dc0/host/cluster1
      govc tags.attach -c k8s-zone us-west-1b /dc0/host/cluster2
      govc tags.attach -c k8s-zone us-west-1c /dc0/host/cluster3
      
    • Zones de disponibilité du groupe d'hôtes :

      Pour chaque zone de disponibilité, utilisez govc pour créer et attacher une balise de catégorie k8s-region au cluster vSphere et une balise de catégorie k8s-zone à chaque groupe d'hôtes. Par exemple, pour baliser le cluster /dc1/host/room1-mgmt en tant que région room1 et son groupe d'hôtes /dc1/host/room1-mgmt/esx-01a.corp.tanzu, etc., comme zones de disponibilité rack1, etc. :

      govc tags.category.create -t ClusterComputeResource k8s-region
      govc tags.category.create -t HostSystem k8s-zone
      
      govc tags.create -c k8s-region room1
      
      govc tags.create -c k8s-zone rack1
      govc tags.create -c k8s-zone rack2
      govc tags.create -c k8s-zone rack3
      
      govc tags.attach -c k8s-region room1 /dc1/host/room1-mgmt
      
      govc tags.attach -c k8s-zone rack1 /dc1/host/room1-mgmt/esx-01a.corp.tanzu
      govc tags.attach -c k8s-zone rack1 /dc1/host/room1-mgmt/esx-01b.corp.tanzu
      govc tags.attach -c k8s-zone rack1 /dc1/host/room1-mgmt/esx-01c.corp.tanzu
      

Créer des objets FailureDomain et Deployment Zone dans Kubernetes

Avant de déployer un cluster sur plusieurs zones de disponibilité, vous devez créer les objets Kubernetes FailureDomain et Deployment Zone qui définissent la région et les zones. Chaque paramètre sous spec.region, spec.zone et spec.topology doit correspondre aux chemins d'accès et aux balises des objets configurés dans vCenter :

  • Pour les objets VSphereDeploymentZone, la valeur spec.failuredomain doit correspondre à l'une des valeurs metadata.name des définitions VSphereFailureDomain.
  • La valeur spec.server dans les objets VSphereDeploymentZone doit correspondre à l'adresse de serveur vCenter (adresse IP ou nom de domaine complet) entrée pour VCENTER SERVER dans le volet Fournisseur IaaS (IaaS Provider) de l'interface du programme d'installation ou au paramètre VSPHERE_SERVER du fichier de configuration du cluster de gestion.
  • Les valeurs metadata.name doivent toutes être en minuscules.

Créez des objets FailureDomain et Deployment Zone comme suit, selon que vous configurez des zones de disponibilité de cluster ou de groupe d'hôtes vSphere.

  • Zones de disponibilité du cluster :

    Comme exemple de répartition du cluster de charge de travail entre plusieurs nœuds de cluster vSphere dans un centre de données, le code suivant définit les objets nécessaires pour les trois zones de déploiement nommées us-west-1a, us-west-1b et us-west-1c, chacune étant un cluster vSphere ayant ses propres paramètres réseau et de stockage :

      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereFailureDomain
      metadata:
       name: us-west-1a
      spec:
       region:
         name: us-west-1
         type: Datacenter
         tagCategory: k8s-region
       zone:
         name: us-west-1a
         type: ComputeCluster
         tagCategory: k8s-zone
       topology:
         datacenter: dc0
         computeCluster: cluster1
         datastore: ds-c1
         networks:
         - net1
         - net2
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereFailureDomain
      metadata:
       name: us-west-1b
      spec:
       region:
         name: us-west-1
         type: Datacenter
         tagCategory: k8s-region
       zone:
         name: us-west-1b
         type: ComputeCluster
         tagCategory: k8s-zone
       topology:
         datacenter: dc0
         computeCluster: cluster2
         datastore: ds-c2
         networks:
         - net3
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereFailureDomain
      metadata:
       name: us-west-1c
      spec:
       region:
         name: us-west-1
         type: Datacenter
         tagCategory: k8s-region
       zone:
         name: us-west-1c
         type: ComputeCluster
         tagCategory: k8s-zone
       topology:
         datacenter: dc0
         computeCluster: cluster3
         datastore: ds-c3
         networks:
         - net4
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereDeploymentZone
      metadata:
       name: us-west-1a
      spec:
       server: VSPHERE_SERVER
       failureDomain: us-west-1a
       placementConstraint:
         resourcePool: pool1
         folder: foo
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereDeploymentZone
      metadata:
       name: us-west-1b
      spec:
       server: VSPHERE_SERVER
       failureDomain: us-west-1b
       placementConstraint:
         resourcePool: pool2
         folder: bar
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereDeploymentZone
      metadata:
       name: us-west-1c
      spec:
       server: VSPHERE_SERVER
       failureDomain: us-west-1c
       placementConstraint:
         resourcePool: pool3
         folder: baz
    

    VSPHERE_SERVER est l'adresse IP ou le nom de domaine complet de votre instance de vCenter Server.

    Si différents clusters de vSphere disposent de pools de ressources avec des noms identiques, définissez la valeur spec.placementConstraint.resourcePool des objets VSphereDeploymentZone sur un chemin de ressource complet, pas seulement sur le nom.

  • Zones de disponibilité du groupe d'hôtes :

    Comme exemple de répartition des nœuds de cluster de charge de travail sur trois groupes d'hôtes dans un cluster vSphere unique, le code suivant définit les objets nécessaires pour les trois zones de disponibilité rack1, rack2 et rack3, chacun d'eux représentant un rack d'hôtes dans le même cluster vSphere, défini comme region room1 :

      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereFailureDomain
      metadata:
       name: rack1
      spec:
       region:
         name: room1
         type: ComputeCluster
         tagCategory: k8s-region
       zone:
         name: rack1
         type: HostGroup
         tagCategory: k8s-zone
       topology:
         datacenter: dc0
         computeCluster: cluster1
         hosts:
           vmGroupName: rack1-vm-group
           hostGroupName: rack1
         datastore: ds-r1
         networks:
         - net1
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereFailureDomain
      metadata:
       name: rack2
      spec:
       region:
         name: room1
         type: ComputeCluster
         tagCategory: k8s-region
       zone:
         name: rack2
         type: HostGroup
         tagCategory: k8s-zone
       topology:
         datacenter: dc0
         computeCluster: cluster1
         hosts:
           vmGroupName: rack2-vm-group
           hostGroupName: rack2
         datastore: ds-r2
         networks:
         - net2
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereFailureDomain
      metadata:
       name: rack3
      spec:
       region:
         name: room1
         type: ComputeCluster
         tagCategory: k8s-region
       zone:
         name: rack3
         type: HostGroup
         tagCategory: k8s-zone
       topology:
         datacenter: dc0
         computeCluster: cluster1
         hosts:
           vmGroupName: rack3-vm-group
           hostGroupName: rack3
         datastore: ds-c3
         networks:
         - net3
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereDeploymentZone
      metadata:
       name: rack1
      spec:
       server: VSPHERE_SERVER
       failureDomain: rack1
       placementConstraint:
         resourcePool: pool1
         folder: foo
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereDeploymentZone
      metadata:
       name: rack2
      spec:
       server: VSPHERE_SERVER
       failureDomain: rack2
       placementConstraint:
         resourcePool: pool2
         folder: bar
      ---
      apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
      kind: VSphereDeploymentZone
      metadata:
       name: rack3
      spec:
       server: VSPHERE_SERVER
       failureDomain: rack3
       placementConstraint:
         resourcePool: pool3
       folder: baz
    

    VSPHERE_SERVER est l'adresse IP ou le nom de domaine complet de votre instance de vCenter Server.

Pour les étapes suivantes de déploiement du cluster, reportez-vous à la section Déployer un cluster de charge de travail avec des nœuds répartis entre les zones de disponibilité.

Déployer le cluster

Une fois que vous avez effectué les étapes dans Préparer des régions et des zones de disponibilité dans vSphere et Créer des objets FailureDomain et Deployment Zone dans Kubernetes, vous pouvez déployer un cluster de charge de travail avec ses nœuds répartis sur plusieurs zones de disponibilité.

Les étapes suivantes utilisent vsphere-zones.yaml comme fichier contenant les définitions d'objets FailureDomain et Deployment Zone.

  1. Suivez vSphere avec des fichiers de configuration de cluster de gestion autonome pour créer le fichier de configuration du cluster de charge de travail que vous déployez.

  2. Vérifiez ou modifiez votre fichier de configuration de cluster en suivant Configurer plusieurs zones de disponibilité pour définir VSPHERE_REGION, VSPHERE_ZONE, VSPHERE_AZ_0 et d'autres variables de configuration pour qu'elles correspondent à vos définitions d'objets de zone de disponibilité.

    • Les variables de configuration de cluster pour les zones de disponibilité fonctionnent de la même manière pour les clusters de gestion autonomes et les clusters de charge de travail.
    • Pour obtenir la liste complète des options que vous devez spécifier lors du déploiement de clusters de charge de travail sur vSphere, reportez-vous à la Référence de variable de fichier de configuration.
  3. (Facultatif) Pour empêcher le processus de création des clusters de vérifier que les zones et régions vSphere spécifiées dans la configuration existent toutes, qu'elles sont cohérentes et qu'elles sont définies au même niveau, définissez SKIP_MULTI_AZ_VERIFY sur "true" dans votre environnement local :

    export SKIP_MULTI_AZ_VERIFY="true"
    

    Vous ne pouvez pas définir cette variable dans le fichier de configuration du cluster.

  4. Exécutez la commande tanzu cluster create pour créer le cluster de charge de travail. Pour plus d'informations, reportez-vous à la section Créer des clusters de charge de travail.

    • Pour créer les objets de zone de disponibilité séparément du cluster, connectez-vous au cluster de gestion avec tanzu login, puis exécutez les éléments suivants avant d'exécuter tanzu cluster create :

      tanzu mc az set -f vsphere-zones.yaml
      

      Vous pouvez également exécuter kubectl apply -f vsphere-zones.yaml

    • Pour utiliser les définitions d'objets de zone de disponibilité avec un fichier de configuration de cluster plat et créer les objets de zone de disponibilité et de cluster ensemble, transmettez le fichier vsphere-zones.yaml à l'option --az-file de tanzu cluster create :

      tanzu mc create --file cluster-config-file.yaml --az-file vsphere-zones.yaml
      
    • Pour combiner les définitions d'objets de zone de disponibilité dans le manifeste du cluster, créez le manifeste du cluster en suivant l'étape 1 du processus en deux étapes décrit dans la section Créer un cluster basé sur une classe, ajoutez le contenu de vsphere-zones.yaml au manifeste, puis exécutez tanzu cluster create, comme décrit à l'étape 2.

    • Pendant le processus de création du cluster, vous pouvez voir ses machines virtuelles et d'autres ressources s'afficher dans vCenter.

    • Si vous avez créé une machine virtuelle factice dans vCenter afin de créer un groupe de machines virtuelles, vous pouvez supprimer la machine virtuelle des groupes de machines virtuelles une fois que le cluster est en cours d'exécution.

Mettre à jour des clusters existants pour utiliser plusieurs zones de disponibilité ou différentes zones de disponibilité

Vous pouvez mettre à jour un cluster de gestion ou de charge de travail déjà déployé pour exécuter son plan de contrôle ou ses nœuds worker dans plusieurs zones de disponibilité (AZ) ou modifier les zones de disponibilité dans lesquelles les nœuds s'exécutent.

Vous pouvez attribuer des zones de disponibilité au plan de contrôle ou aux nœuds worker d'un cluster globalement, ou définir des zones de disponibilité pour les déploiements de machines sous-jacents, afin de personnaliser les paramètres de la machine vSphere, ainsi que des zones de disponibilité pour le déploiement de machines défini.

Lorsque vous mettez à jour les zones de disponibilité d'un cluster de charge de travail existant, vous devez mettre à jour son interface de stockage de conteneur (CSI) et son interface de fournisseur de cloud (CPI) pour appliquer la modification, comme décrit dans la section Mettre à jour la CPI et la CSI pour les modifications des zones de disponibilité.

Les sections suivantes expliquent comment mettre à jour les configurations de zones de disponibilité de cluster existantes pour différents scénarios.

Ajouter des zones de disponibilité pour les nœuds de plan de contrôle

Pour développer un cluster existant dont les nœuds de plan de contrôle s'exécutent dans une zone de disponibilité unique afin que son plan de contrôle s'exécute dans plusieurs zones de disponibilité :

  1. Préparez un fichier de configuration qui définit des objets VSphereFailureDomain et VSphereDeploymentZone pour chaque nouvelle zone de disponibilité. L'exemple ci-dessous, vsphere-3-zones.yaml, définit les zones de disponibilité rack1, rack2 et rack3 avec la région room1 :

    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind:VSphereFailureDomain
    metadata:
     name:rack
    spec:
     region:
     name: room1
     type: ComputeCluster
     tagCategory: k8s-region
     zone:
     name:rack
     type: HostGroup
     tagCategory: k8s-zone
     topology:
     datacenter: dc0
     computeCluster: cluster0
     hosts:
     vmGroupName:rack-vm-group
     hostGroupName:rack
     datastore: ds1
     networks:
     - "VM Network"
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind:VSphereFailureDomain
    metadata:
     name:rack
    spec:
     region:
     name: room1
     type: ComputeCluster
     tagCategory: k8s-region
     zone:
     name: rack2
     type: HostGroup
     tagCategory: k8s-zone
     topology:
     datacenter: dc0
     computeCluster: cluster0
     hosts:
     vmGroupName: rack2-vm-group
     hostGroupName: rack2
     datastore: ds2
     networks:
     - "VM Network"
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereFailureDomain
    metadata:
     name: rack3
    spec:
     region:
     name: room1
     type: ComputeCluster
     tagCategory: k8s-region
     zone:
     name: rack3:
     type: HostGroup
     tagCategory: k8s-zone
     topology:
     datacenter: dc0
     computeCluster: cluster0
     hosts:
     vmGroupName: rack3-vm-group
     hostGroupName: rack3
     datastore: ds3
     networks:
     - "VM Network"
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereDeploymentZone
    metadata:
     name: rack1
    spec:
     server: VSPHERE_SERVER
     failureDomain: rack1
     placementConstraint:
     resourcePool: rp0
     folder: folder0
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereDeploymentZone
    metadata:
     name: rack2
    spec:
     server: VSPHERE_SERVER
     failureDomain: rack2
     placementConstraint:
     resourcePool: rp0
     folder: folder0
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereDeploymentZone
    metadata:
     name: rack3
    spec:
     server: VSPHERE_SERVER
     failureDomain: rack3
     placementConstraint:
     resourcePool: rp0
     folder: folder0
    

    VSPHERE_SERVER est l'adresse IP ou le nom de domaine complet de votre instance de vCenter Server.

    Remarques :

    • Assurez-vous que les balises sont créées et que les ressources de l'inventaire vCenter Server ont été correctement balisées, comme décrit dans la section Balises vSphere de la documentation du produit vSphere.
    • Vous devez définir spec.placementConstraint.resourcePool dans VSphereDeploymentZone. S'il n'existe aucun pool de ressources créé par l'utilisateur pour le cluster, définissez la valeur sur le pool de ressources par défaut du cluster, dont le chemin d'accès est /dc0/host/cluster1/Resources.
    • Pour les objets VSphereFailureDomain, les variables spec.region.autoConfigure et spec.zone.autoConfigure ne sont plus prises en charge.
  2. Créez les objets vSphereFailureDomain et VSphereDeploymentZone, par exemple :

    tanzu mc az set -f vsphere-3-zones.yaml
    
  3. Obtenez le KubeAdmControlPlane du cluster cible. Dans notre exemple, la cible est le cluster de gestion tkg-mgmt-vc, mais il peut également s'agir d'un cluster de charge de travail :

    kubectl get kcp --selector cluster.x-k8s.io/cluster-name=tkg-mgmt-vc -n tkg-system -o=name
    
    kubeadmcontrolplane.controlplane.cluster.x-k8s.io/tkg-mgmt-vc-cpkxj
    
  4. Mettez à jour le sélecteur de zone de disponibilité du cluster, par exemple controlPlaneZoneMatchingLabels: {"environment": "staging", "region": "room1"} :

    kubectl get cluster tkg-mgmt-vc -n tkg-system -o json | jq '.spec.topology.variables |= map(if .name == "controlPlaneZoneMatchingLabels" then .value = {"environment": "staging", "region": "room1"} else . end)'| kubectl apply -f -
    
    cluster.cluster.x-k8s.io/tkg-mgmt-vc replaced
    
  5. Vérifiez que le domaine de pannes du cluster a été mis à jour comme prévu :

    kubectl get cluster tkg-mgmt-vc -n tkg-system -o json | jq -r '.status.failureDomains | to_entries[].key'
    
  6. Corrigez le KubeAdmControlPlane avec rolloutAfter pour déclencher une mise à jour des nœuds de plan de contrôle.

    kubectl patch kcp tkg-mgmt-vc-cpkxj -n tkg-system --type merge -p "{\"spec\":{\"rolloutAfter\":\"$(date +'%Y-%m-%dT%TZ')\"}}"
    
  7. Vérifiez que les nœuds de plan de contrôle ont été déplacés vers les nouvelles zones de disponibilité, en vérifiant l'hôte et la banque de données des nœuds dans vCenter ou en exécutant les commandes kubectl get node ou govc vm.info comme suit :

    • kubectl get node NODE-NAME -o=jsonpath='{.metadata.labels.node.cluster.x-k8s.io/esxi-host}' --context tkg-mgmt-vc-admin@tkg-mgmt-vc
    • govc vm.info -json NODE-NAME | jq -r '.VirtualMachines[].Config.Hardware.Device[] | select(.DeviceInfo.Label == "Hard disk 1") | .Backing.FileName'

Utiliser les étiquettes de sélecteur pour spécifier de nouvelles zones de disponibilité du plan de contrôle

La sélection de zones de disponibilité avec des étiquettes de sélecteur implique la spécification de VSphereDeploymentZone par ses metadata.labels plutôt que son metadata.name. Cela permet de configurer les nœuds de plan de contrôle d'un cluster, par exemple, pour qu'ils s'exécutent dans toutes les zones de disponibilité d'une région et d'un environnement spécifiés sans répertorier individuellement les zones de disponibilité : "region=us-west-1,environment=staging". Cela signifie également que vous pouvez mettre à jour les zones de disponibilité d'un plan de contrôle d'un cluster sans avoir à modifier les noms de zone de disponibilité pour les nœuds de plan de contrôle.

Pour utiliser des étiquettes de sélecteur afin qu'elles indiquent de nouvelles zones de disponibilité pour les nœuds de plan de contrôle d'un cluster existant :

  1. Préparez un fichier de configuration qui définit des objets VSphereFailureDomain et VSphereDeploymentZone pour chaque nouvelle zone de disponibilité. L'exemple ci-dessous, vsphere-labeled-zones.yaml, définit une zone de disponibilité rack4 avec des métadonnées d'étiquettes de sélecteur :

    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereFailureDomain
    metadata:
      name: rack4
    spec:
      region:
       name: room1
       type: ComputeCluster
       tagCategory: k8s-region
      zone:
       name: rack4
       type: HostGroup
       tagCategory: k8s-zone
      topology:
       datacenter: dc0
       computeCluster: cluster0
       hosts:
         vmGroupName: rack4-vm-group
         hostGroupName: rack4
       datastore: vsanDatastore
       networks:
       - "VM Network"
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereDeploymentZone
    metadata:
     name: rack4
     labels:
       environment: staging
       region: room1
    spec:
     server: VSPHERE_SERVER
     failureDomain: rack4
     placementConstraint:
       resourcePool: rp0
       folder: folder0
    
  2. Créez les objets VSphereFailureDomain et VSphereDeploymentZone, par exemple :

    tanzu mc az set -f vsphere-labeled-zones.yaml
    
  3. Mettez à jour le cluster avec l'étiquette du sélecteur de zone de disponibilité. L'exemple ici utilise un sélecteur de zone de disponibilité controlPlaneZoneMatchingLabels: {"environment": "staging", "region": "room1"} pour le cluster de gestion tkg-mgmt-vc, mais il peut également s'agir d'un cluster de charge de travail :

    kubectl get cluster tkg-mgmt-vc -n tkg-system -o json | \
    jq '.spec.topology.variables |= \
    map(if .name == "controlPlaneZoneMatchingLabels" \
    then .value = {"environment": "staging", "region": "room1"} \
    else . end)'| kubectl apply -f -
    
    cluster.cluster.x-k8s.io/tkg-mgmt-vc replaced
    
  4. Vérifiez l'état du cluster pour vous assurer que le domaine de pannes a été mis à jour comme prévu :

    kubectl get cluster tkg-mgmt-vc -n tkg-system -o json | jq -r '.status.failureDomains | to_entries[].key'
    
  5. Corrigez le KubeAdmControlPlane avec rolloutAfter pour déclencher une mise à jour des nœuds de plan de contrôle.

    kubectl patch kcp tkg-mgmt-vc-cpkxj -n tkg-system --type merge -p "{\"spec\":{\"rolloutAfter\":\"$(date +'%Y-%m-%dT%TZ')\"}}"
    
  6. Vérifiez que les nœuds de plan de contrôle sont déplacés vers de nouvelles zones de disponibilité sélectionnées par le sélecteur dans controlPlaneZoneMatchingLabels en vérifiant l'hôte et la banque de données des nœuds dans vCenter ou en exécutant les commandes kubectl get node ou govc vm.info comme suit. Dans notre exemple, la nouvelle zone de disponibilité est rack4 :

    • kubectl get node NODE-NAME -o=jsonpath='{.metadata.labels.node.cluster.x-k8s.io/esxi-host}' --context tkg-mgmt-vc-admin@tkg-mgmt-vc
    • govc vm.info -json NODE-NAME | jq -r '.VirtualMachines[].Config.Hardware.Device[] | select(.DeviceInfo.Label == "Hard disk 1") | .Backing.FileName'

Modifier les zones de disponibilité de déploiement de machines

Pour modifier une configuration de zone de disponibilité dans un cluster existant, corrigez les configurations MachineDeployment sous-jacentes de ses nœuds avec la nouvelle valeur de la zone de disponibilité.

Par exemple, si le fichier de configuration de cluster définit VSPHERE_AZ_0 sur rack1 et que vous souhaitez déplacer ses nœuds worker vers rack2 :

  1. Interrogez les zones de disponibilité actuelles utilisées pour le cluster. Cet exemple utilise un cluster de charge de travail tkg-wc, mais il peut également s'agir d'un cluster de gestion :

    kubectl get cluster tkg-wc -o json \| jq -r '.spec.topology.workers.machineDeployments\[0\].failureDomain'
    
  2. Répertoriez toutes les zones de disponibilité disponibles.

    kubectl get vspheredeploymentzones -o=jsonpath='{range .items[?(@.status.ready == true)]}{.metadata.name}{"\n"}{end}'
    
    rack1
    rack2
    
  3. Corrigez la configuration spec.toplogy.workers.machineDeployments du cluster tkg-wc pour définir sa zone VSphereFailureDomain sur rack2. Cet exemple part du principe que tkg-wc est un cluster de plan dev à nœud unique. Pour un cluster de plan prod, vous devez corriger les trois configurations d'objets MachineDeployment dans le cluster.

    kubectl patch cluster tkg-wc --type=json -p='[{"op": "replace", "path": "/spec/topology/workers/machineDeployments/0/failureDomain", "value": "rack2"}]'
    
    cluster.cluster.x-k8s.io/tkg-wc patched
    
  4. Vérifiez que le cluster est mis à jour avec VSphereFailureDomain rack2.

    kubectl get cluster tkg-wc -o=jsonpath='{.spec.topology.workers.machineDeployments[?(@.name=="md-0")].failureDomain}'
    
    rack2
    
  5. Vérifiez que les nœuds worker sont désormais déployés dans VSphereFailureDomain rack2.

Ajouter des zones de disponibilité pour les déploiements de machines

Pour configurer de nouvelles zones de disponibilité à utiliser par les clusters TKG, puis les utiliser dans un cluster existant :

  1. Préparez un fichier de configuration qui définit des objets VSphereFailureDomain et VSphereDeploymentZone pour chaque nouvelle zone de disponibilité. Utilisez l'exemple vsphere-3-zones.yaml de la section Ajouter des zones de disponibilité pour les nœuds de plan de contrôle ci-dessus, qui définit les zones de disponibilité rack1, rack2 et rack3 avec la région room1.

  2. Créez les objets VSphereFailureDomain et VSphereDeploymentZone.

    tanzu mc az set -f vsphere-3-zones.yaml
    

    Vous pouvez également exécuter kubectl apply -f vsphere-3-zones.yaml

  3. Corrigez le cluster tkg-wc avec VSphereFailureDomain rack1, rack2 et rack3. Dans cet exemple, tkg-wc est un plan de cluster de plan prod avec trois configurations MachineDeployment. Avec un cluster de plan dev, il vous suffit de mettre à jour un MachineDeployment dans les spec.toplogy.workers.machineDeployments du cluster.

    kubectl patch cluster tkg-wc --type=json -p='[  \
    {"op": "replace", "path": "/spec/topology/workers/machineDeployments/0/failureDomain", "value": "rack1"}, \
    {"op": "replace", "path": "/spec/topology/workers/machineDeployments/1/failureDomain", "value": "rack2"}, \
    {"op": "replace", "path": "/spec/topology/workers/machineDeployments/2/failureDomain", "value": "rack3"}]'
    
  4. Vérifiez que le cluster est mis à jour avec les nouvelles zones de disponibilité.

    kubectl get cluster tkg-wc -o=jsonpath='{range .spec.topology.workers.machineDeployments[*]}{"Name: "}{.name}{"\tFailure Domain: "}{.failureDomain}{"\n"}{end}'
    
  5. Vérifiez que ses nœuds worker sont désormais déployés dans VSphereFailureDomain rack1, rack2 et rack3.

Ajouter des zones de disponibilité et de nouveaux déploiements de machines

Pour configurer les nouvelles zones de disponibilité et les nouveaux objets MachineDeployment à utiliser par les clusters TKG, puis les utiliser dans un cluster existant :

  1. Préparez un fichier de configuration qui définit des objets VSphereFailureDomain et VSphereDeploymentZone pour chaque nouvelle zone de disponibilité. L'exemple ci-dessous, vsphere-1-zone.yaml, définit la nouvelle zone de disponibilité rack2 avec la région room1 :

    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereFailureDomain
    metadata:
     name: rack2
    spec:
     region:
       name: room1
       type: ComputeCluster
       tagCategory: k8s-region
     zone:
       name: rack2
       type: HostGroup
       tagCategory: k8s-zone
     topology:
       datacenter: dc0
       computeCluster: cluster0
       hosts:
         vmGroupName: rack2-vm-grou
         hostGroupName: rack2
         datastore: ds-r2
       networks:
       - "VM Network"
    ---
    apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
    kind: VSphereDeploymentZone
    metadata:
     name: rack2
    spec:
     server: VSPHERE_SERVER
     failureDomain: rack2
     placementConstraint:
       resourcePool: rp0
       folder: folder0
    
  2. Créez les objets VSphereFailureDomain et VSphereDeploymentZone.

    tanzu mc az set -f vsphere-zones.yaml
    

    Vous pouvez également exécuter kubectl apply -f vsphere-1-zone.yaml

  3. Préparez un fichier de configuration pour le nouveau déploiement de machines. L'exemple ci-dessous, md-1.yaml, définit un nouveau déploiement de machines md-1 avec sa propriété az définie sur rack2 :

    name: md-1
    replicas: 1
    az: rack2
    nodeMachineType: t3.large
    workerClass: tkg-worker
    tkrResolver: os-name=ubuntu,os-arch=amd64
    
  4. Créez un pool de nœuds à l'aide de la CLI Tanzu. Cet exemple utilise le cluster de charge de travail tkg-wc, mais il peut également s'agir d'un cluster de gestion :

    tanzu cluster node-pool set wl-antrea -f md-1.yaml
    
    Cluster update for node pool 'md-1' completed successfully
    
  5. Obtenez le nom du déploiement de machines dans la valeur node-pool créée :

    kubectl get machinedeployments -l
    topology.cluster.x-k8s.io/deployment-name=md-1
    -o=jsonpath='{.items[*].metadata.name}'
    
    wl-antrea-md-1-pd9vj
    
  6. Vérifiez que le déploiement de machines est mis à jour avec VSphereFailureDomain rack2 :

    kubectl get machinedeployments wl-antrea-md-1-pd9vj -o json | \
    jq -r '.spec.template.spec.failureDomain'
    
    rack2
    
  7. Vérifiez que le nœud worker de md-1 est déployé dans rack2.

Mettre à jour la CPI et la CSI pour les modifications de la zone de disponibilité

Lorsque vous modifiez la configuration de la zone de disponibilité d'un cluster de charge de travail, comme décrit dans l'une des sections ci-dessus, vous devez mettre à jour ses configurations de modules complémentaires CPI et CSI, puis recréer ces derniers pour appliquer les modifications. Les procédures ci-dessous expliquent la marche à suivre.

Limitations :

  • Avant d'activer plusieurs zones de disponibilité pour un cluster existant ou de déplacer ses nœuds worker ou de plan de contrôle vers une autre zone de disponibilité pour un cluster existant, vous devez vous assurer que les nouveaux nœuds de cluster peuvent accéder au volume persistant (PV) d'origine du cluster.
  • Tous les paramètres tagCategory dans différentes régions et zones dans VsphereFailureDomain doivent correspondre.
  • Avant d'activer plusieurs zones de disponibilité pour vSphere CSI, vous devez activer multi-az kcp/worker.

Mettre à jour la CPI après avoir modifié la zone de disponibilité

Pour mettre à jour la configuration du module complémentaire CPI d'un cluster afin d'appliquer une modification de la zone de disponibilité, puis supprimer le programme d'installation du module correspondant pour recréer le module complémentaire avec les modifications :

  1. Récupérez le nom de la vsphereCPIConfig du cluster à l'aide de la référence cb. Par exemple, avec un cluster de charge de travail nommé wl :

    kubectl -n default get cb wl -o json \| jq -r '.spec.cpi.valuesFrom.providerRef.name'
    
  2. Modifiez la spécification vsphereCPIConfig du cluster pour définir sa region et sa zone sur les champs tagCategory que vous avez définis pour la région et la zone de la zone de disponibilité dans vSphere et dans la spécification vsphereFailuredomain. Par exemple :

    apiVersion: cpi.tanzu.vmware.com/v1alpha1
    kind: VSphereCPIConfig
    metadata:
      name: wl
      namespace: default
    spec:
      vsphereCPI:
      mode: vsphereCPI
      region: k8s-zone
      tlsCipherSuites: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      vmNetwork:
        excludeExternalSubnetCidr: 10.215.10.79/32
        excludeInternalSubnetCidr: 10.215.10.79/32
      zone: k8s-zone
    
  3. Appliquez les modifications et attendez que Reconcile succeeded.

  4. Vérifiez que le programme d'installation du module CPI (pkgi) a réinstallé les éléments suivants :

    kubectl -n tkg-system get wl-vsphere-cpi pkgi --context wl-admin@wl
    

Mettre à jour la CSI après avoir modifié la zone de disponibilité

Pour mettre à jour la configuration du module complémentaire CSI d'un cluster afin d'appliquer une modification de la zone de disponibilité, puis supprimer la csinodetopology et le programme d'installation du module correspondant pour recréer le module complémentaire avec les modifications :

  1. Récupérez le nom de la vsphereCPIConfig du cluster à l'aide de la référence cb. Par exemple, avec un cluster de charge de travail nommé wl :

    kubectl -n default get cb wl  -o json  |jq  -r '.spec.csi.valuesFrom.providerRef.name')
    
  2. Modifiez la spécification vsphereCSIConfig du cluster pour définir sa region et sa zone sur les champs tagCategory que vous avez définis pour la région et la zone de la zone de disponibilité dans vSphere et dans la spécification vsphereFailuredomain. Par exemple :

    apiVersion: csi.tanzu.vmware.com/v1alpha1
    kind: VSphereCSIConfig
    metadata:
      name: wl
      namespace: default
    spec:
      vsphereCSI:
        config:
          datacenter: /dc0
          httpProxy: ""
          httpsProxy: ""
          insecureFlag: true
          noProxy: ""
      region: k8s-region
      tlsThumbprint: ""
      useTopologyCategories: true
      zone: k8s-zone
      mode: vsphereCSI
    
  3. Appliquez les modifications.

  4. Supprimez les objets csinode et csiNodeTopology afin de les recréer. csinodetopology ne se met pas à jour automatiquement :

    kubectl -n delete csinode --all --context wl-admin@wl
    kubectl -n delete csinodetopology --all --context wl-admin@wl
    
  5. Supprimez le programme d'installation du module vsphere-csi du cluster et attendez que Reconcile succeeded.

    kubectl delete pkgi -n tkg-system wl-vsphere-csi --context wl-admin@wl
    
  6. Vérifiez que tous les objets csinodes incluent le paramètre topologyKeys, par exemple :

    kubectl get csinodes -o jsonpath='{range .items[*]}{.metadata.name} {.spec}{"\n"}{end}'
    
    k8s-control-1 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-control-1","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-control-2 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-control-2","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-control-3 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-control-3","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-node-1 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-node-1","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-node-2 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-node-2","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-node-3 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-node-3","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-node-4 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-node-4","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-node-5 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-node-5","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    k8s-node-6 {"drivers":[{"name":"csi.vsphere.vmware.com","nodeID":"k8s-node-6","topologyKeys":["topology.csi.vmware.com/k8s-region","topology.csi.vmware.com/k8s-zone"]}]}
    
  7. Vérifiez que les étiquettes de topologie de tous les nœuds reflètent les zones et les régions de la zone de disponibilité appropriée, par exemple :

    kubectl get nodes --show-labels
    NAME            STATUS   ROLES                  AGE  VERSION   LABELS
    k8s-control-1   Ready    control-plane          1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-A
    k8s-control-2   Ready    control-plane          1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-B
    k8s-control-3   Ready    control-plane          1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-C
    k8s-node-1      Ready    <none>                 1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-A
    k8s-node-2      Ready    <none>                 1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-B
    k8s-node-3      Ready    <none>                 1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-B
    k8s-node-4      Ready    <none>                 1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-1,topology.csi.vmware.com/k8s-zone=zone-C
    k8s-node-5      Ready    <none>                 1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-2,topology.csi.vmware.com/k8s-zone=zone-D
    k8s-node-6      Ready    <none>                 1d   v1.21.1   topology.csi.vmware.com/k8s-region=region-2,topology.csi.vmware.com/k8s-zone=zone-D
    

Répertorier les zones de disponibilité

Utilisez la commande tanzu mc az list pour répertorier les zones de disponibilité définies dans le cluster de gestion autonome ou utilisées par un cluster de charge de travail :

  • Pour répertorier les zones de disponibilité actuellement utilisées par un cluster de gestion et ses clusters de charge de travail :

    tanzu management-cluster available-zone list
    
  • Pour répertorier toutes les zones de disponibilité définies dans le cluster de gestion et, par conséquent, disponibles pour les nœuds de cluster de charge de travail :

    tanzu management-cluster available-zone list -a
    
  • Pour les zones de disponibilité actuellement utilisées par le cluster de charge de travail CLUSTER-NAME :

    tanzu management-cluster available-zone list -c CLUSTER-NAME:
    

Les commandes tanzu mc az sont mises en alias à partir de tanzu management-cluster available-zone.

Exemple de sortie :

AZNAME   ZONENAME  ZONETYPE    REGIONNAME REGIONTYPE DATASTORE   NETWORK   OWNERCLUSTER STATUS  
us-west-1a us-west-1a ComputeCluster us-west-1  Datacenter sharedVmfs-0 VM Network az-1     ready  
us-west-1b us-west-1b ComputeCluster us-west-1  Datacenter sharedVmfs-0 VM Network az-1     ready  
us-west-1c us-west-1c ComputeCluster us-west-1  Datacenter sharedVmfs-0 VM Network az-1     ready  

La sortie répertorie les éléments suivants :

  • AZNAME, ZONENAME : nom de la zone de disponibilité
  • ZONETYPE : type d'objet vSphere étendu à la zone de disponibilité, ComputeCluster ou HostGroup
  • REGIONNAME : nom de la région qui contient la zone de disponibilité
  • REGIONTYPE : type d'objet vSphere étendu à la région, Datacenter ou ComputeCluster
  • DATASTORE : banque de données qui héberge les machines virtuelles dans la région
  • NETWORK : réseau servant les VM dans la région
  • OWNERCLUSTER : Cluster ou clusters TKG qui s'exécutent dans la zone de disponibilité
  • STATUS : état actuel de la zone de disponibilité

Le groupe de commandes tanzu mc az est mis en alias à partir de tanzu management-cluster available-zone.

Supprimer les zones de disponibilité

Utilisez la commande tanzu mc az delete pour supprimer une zone de disponibilité inutilisée, par exemple :

tanzu mc az delete AZNAME

AZNAME est le nom de la zone de disponibilité tel que répertorié par tanzu mc az list.

Vous pouvez uniquement supprimer une zone de disponibilité si elle n'héberge actuellement pas de nœuds de cluster TKG, comme indiqué par la tanzu mc az list ne répertoriant aucun OWNERCLUSTER pour la zone de disponibilité.

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