Gestion de vos clusters de gestion

Cette rubrique explique comment gérer plusieurs clusters de gestion à partir de la même machine de démarrage, notamment les clusters de gestion déployés par Tanzu Kubernetes Grid pour vSphere, Azure ou Amazon Web Services (AWS), et les superviseurs vSphere with Tanzu désignés comme clusters de gestion Tanzu Kubernetes Grid.

Répertorier les clusters de gestion et modifier le contexte

Pour répertorier les clusters de gestion disponibles et voir ceux auxquels vous êtes actuellement connecté, exécutez tanzu login sur votre machine de démarrage :

tanzu login
  • Pour modifier votre contexte de connexion actuel, utilisez les flèches vers le haut et vers le bas pour mettre en surbrillance le nouveau cluster de gestion, puis appuyez sur Entrée.
  • Pour conserver le contexte actuel, appuyez sur Entrée sans modifier la mise en surbrillance.

Par exemple, si vous disposez de deux clusters de gestion, my-vsphere-mgmt-cluster et my-aws-mgmt-cluster, vous êtes actuellement connecté à my-vsphere-mgmt-cluster :

$ tanzu login
? Select a server  [Use arrows to move, type to filter]
> my-vsphere-mgmt-cluster  ()
 my-aws-mgmt-cluster      ()
 + new server

Clusters de gestion, kubectl et kubeconfig

Tanzu Kubernetes Grid ne modifie pas automatiquement le contexte kubectl lorsque vous exécutez tanzu login pour modifier le contexte de la CLI Tanzu. De plus, Tanzu Kubernetes Grid ne définit pas le contexte kubectl sur un cluster de charge de travail lorsque vous le créez. Pour modifier le contexte kubectl, utilisez la commande kubectl config use-context.

Par défaut, Tanzu Kubernetes Grid enregistre les informations de contexte du cluster dans les fichiers suivants sur votre machine de démarrage :

  • Contextes du cluster de gestion : ~/.kube-tkg/config
  • Contextes du cluster de charge de travail : ~/.kube/config

Reportez-vous à la section Détails du cluster de gestion

Pour afficher les détails d’un cluster de gestion :

  1. Exécutez tanzu login pour vous connecter au cluster de gestion, comme décrit dans Répertorier les clusters de gestion et modifier le contexte.

    tanzu login
    
  2. Exécutez tanzu mc get.

    tanzu mc get
    
    NAME         NAMESPACE   STATUS   CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLAN  TKR
    mc-test-cli  tkg-system  running  3/3           3/3      v1.25.7+vmware.1  management  prod  v1.25.7---vmware.1-tkg.1
    
    
    Details:
    
    NAME                                                         READY  SEVERITY  REASON  SINCE  MESSAGE
    /mc-test-cli                                                 True                     2d1h
    ├─ClusterInfrastructure - VSphereCluster/mc-test-cli-jjtpf   True                     2d1h
    ├─ControlPlane - KubeadmControlPlane/mc-test-cli-mffw9       True                     2d1h
    │ ├─Machine/mc-test-cli-mffw9-5zcbj                          True                     2d1h
    │ ├─Machine/mc-test-cli-mffw9-fs6zh                          True                     2d1h
    │ └─Machine/mc-test-cli-mffw9-jlwnm                          True                     2d1h
    └─Workers
      ├─MachineDeployment/mc-test-cli-md-0-tnz59                 True                     15h
      │ └─Machine/mc-test-cli-md-0-tnz59-64bdc75d94-gtg54        True                     2d1h
      ├─MachineDeployment/mc-test-cli-md-1-2d26b                 True                     15h
      │ └─Machine/mc-test-cli-md-1-2d26b-776885b84-6hzkj         True                     2d1h
      └─MachineDeployment/mc-test-cli-md-2-fs824                 True                     15h
        └─Machine/mc-test-cli-md-2-fs824-7bfd7b9c7b-c7n95        True                     2d1h
    
    
    Providers:
    
      NAMESPACE                          NAME                            TYPE                    PROVIDERNAME     VERSION  WATCHNAMESPACE
      caip-in-cluster-system             infrastructure-ipam-in-cluster  InfrastructureProvider  ipam-in-cluster  v0.1.0
      capi-kubeadm-bootstrap-system      bootstrap-kubeadm               BootstrapProvider       kubeadm          v1.2.8
      capi-kubeadm-control-plane-system  control-plane-kubeadm           ControlPlaneProvider    kubeadm          v1.2.8
      capi-system                        cluster-api                     CoreProvider            cluster-api      v1.2.8
      capv-system                        infrastructure-vsphere          InfrastructureProvider  vsphere          v1.5.1
    

Pour voir plus d'options, exécutez tanzu mc get --help. L'alias de la CLI Tanzu mc est court pour management-cluster.

Ajouter des clusters de gestion existants à votre CLI Tanzu

La CLI Tanzu vous permet de vous connecter à un cluster de gestion créé par une autre personne. Pour vous connecter, vous pouvez utiliser les détails kubeconfig locaux ou l'option de point de terminaison de serveur.

Pour vous connecter à un cluster de gestion existant à l'aide d'un kubeconfig local :

  1. Exécutez tanzu login, utilisez la flèche vers le bas pour mettre en surbrillance + nouveau serveur (+ new server), puis appuyez sur Entrée.

    tanzu login
    
    ? Select a server + new server
    
  2. Lorsque vous y êtes invité, sélectionnez kubeconfig local (Local kubeconfig) comme type de connexion et entrez le chemin d'accès au fichier kubeconfig local, le contexte et le nom de votre serveur. Par exemple :

    ✔tanzu login
    ? Select a server + new server
    ? Select login type Local kubeconfig
    ? Enter path to kubeconfig (if any) /Users/exampleuser/examples/kubeconfig
    ? Enter kube context to use new-mgmt-cluster-admin@new-mgmt-cluster
    ? Give the server a name new-mgmt-cluster
      successfully logged in to management cluster using the kubeconfig new-mgmt-cluster
    

Pour vous connecter à un cluster de gestion existant à l'aide de l'option Point de terminaison du serveur (Server endpoint) :

  1. Exécutez tanzu login, utilisez la flèche vers le bas pour mettre en surbrillance + nouveau serveur (+ new server), puis appuyez sur Entrée.

    tanzu login
    ? Select a server + new server
    
  2. Lorsque vous y êtes invité, sélectionnez Point de terminaison de serveur (Server endpoint) comme type de connexion.

  3. Dans le champ Entrer un point de terminaison de serveur (Enter Server endpoint), entrez l'adresse IP du serveur d'API Kubernetes du cluster de gestion.
  4. Dans le champ Donner un nom au serveur (Give the server a name), entrez un nom pour le serveur et appuyez sur Entrée.
  5. Si la gestion des identités est activée sur le cluster de gestion, dans la page de connexion Okta qui s'ouvre dans le navigateur par défaut, entrez vos informations d'identification Okta. Vous êtes connecté au cluster de gestion.
  6. Vérifiez que la sortie suivante s'affiche sur la CLI Tanzu :
successfully logged in to management cluster by using the kubeconfig <server name>

Vous pouvez également exécuter tanzu login avec les options --server, --kubeconfig et --context et contourner les invites interactives.

Supprimer des clusters de gestion de votre configuration de CLI Tanzu

Il est possible que vous ajoutiez un cluster de gestion qu'une autre personne a créé à votre instance de CLI Tanzu, et dont vous n'avez plus besoin à un moment donné. De même, si vous avez déployé un cluster de gestion et que celui-ci a été supprimé de votre plate-forme cible autrement qu'en exécutant tanzu mc delete, ce cluster de gestion continuera à s'afficher dans la liste des clusters de gestion suivis par la CLI lorsque vous exécuterez tanzu login. Dans ces cas-là, vous pouvez supprimer le cluster de gestion de la liste des clusters de gestion suivis par la CLI Tanzu.

  1. Exécutez tanzu config server list, pour voir la liste des clusters de gestion que la CLI Tanzu suit.

    tanzu config server list
    

    Vous devez voir tous les clusters de gestion que vous avez déployés vous-même ou ajoutés à la CLI Tanzu, l'emplacement de leurs fichiers kubeconfig et leurs contextes.

  2. Exécutez la commande tanzu config server delete pour supprimer un cluster de gestion.

    tanzu config server delete my-vsphere-mc
    

L'exécution de la commande tanzu config server delete supprime les détails du cluster des fichiers ~/.config/tanzu/config.yaml et ~/.kube-tkg/config.yaml. Il ne supprime pas le cluster de gestion lui-même, s'il existe toujours. Pour supprimer un cluster de gestion plutôt que de le supprimer simplement de la configuration de la CLI Tanzu, reportez-vous à la section Supprimer des clusters de gestion.

Mettre à jour le certificat du cluster de gestion dans votre configuration de CLI Tanzu

Sur la machine de démarrage, la CLI Tanzu utilise un certificat stocké localement pour s'authentifier auprès du cluster de gestion. Si le certificat expire, des messages d'erreur d'échec s'affichent lors de l'exécution des commandes de la CLI tanzu.

Par conséquent, lorsque le certificat approche de son expiration, procédez comme suit pour mettre à jour le certificat :

  1. Obtenez le nom du cluster de gestion avec tanzu mc get.

    tanzu mc get
    
  2. Obtenez les données de configuration du cluster :

    kubectl -n tkg-system get secrets CLUSTER-NAME-kubeconfig -o 'go-template={{ index .data "value"}}' | base64 -d > mc_kubeconfig.yaml
    

    CLUSTER-NAME est le nom du cluster de gestion. Par exemple :

    apiVersion: v1
    clusters:
    - cluster:
      certificate-authority-data: LS0tLS1CRUdJTiBD<redacted>
      server: https://192.168.100.90:6443
      name: tkg-mgmt
    contexts:
    - context:
      cluster: tkg-mgmt
      user: tkg-mgmt-admin
    name: tkg-mgmt-admin@tkg-mgmt
    current-context: tkg-mgmt-admin@tkg-mgmt
    kind: Config
    preferences: {}
    users:
    - name: tkg-mgmt-admin
      user:
      client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZ<redacted>
      client-key-data: LS0tLS1CRUdJTiBSU<redacted>`
    
  3. Supprimez l'entrée de cluster de gestion existante de la liste des clusters de gestion que la CLI Tanzu suit actuellement :

    tanzu config server delete CLUSTER-NAME
    
  4. Utilisez la commande tanzu login pour ajouter une nouvelle entrée de cluster de gestion avec le fichier kubeconfig mis à jour :

    tanzu login --kubeconfig mc_kubeconfig.yaml --name CLUSTER-NAME --context CLUSTER-NAME-admin@CLUSTER-NAME
    

Dimensionner les clusters de gestion

Après avoir déployé un cluster de gestion, vous pouvez le faire monter ou descendre en puissance en augmentant ou en réduisant le nombre de machines virtuelles de nœud qu'il contient. Pour dimensionner un cluster de gestion, utilisez la commande tanzu cluster scale avec l'une des options suivantes ou les deux :

  • --controlplane-machine-count modifie le nombre de nœuds de plan de contrôle du cluster de gestion.
  • --worker-machine-count modifie le nombre de nœuds worker du cluster de gestion.

Étant donné que les clusters de gestion s'exécutent dans l'espace de noms tkg-system plutôt que dans l'espace de noms default, vous devez également spécifier l'option --namespace lorsque vous dimensionnez un cluster de gestion.

  1. Exécutez tanzu login avant d'exécuter tanzu cluster scale pour vous assurer que le cluster de gestion à dimensionner correspond au contexte actuel de la CLI Tanzu.
  2. Pour dimensionner un cluster de gestion de production que vous avez déployé à l'origine avec 3 nœuds de plan de contrôle et 5 nœuds worker respectivement sur 5 et 10 nœuds, exécutez la commande suivante :

    tanzu cluster scale MANAGEMENT-CLUSTER-NAME --controlplane-machine-count 5 --worker-machine-count 10 --namespace tkg-system
    

Si vous avez déployé initialement un cluster de gestion avec une nœud du plan de contrôle et que vous effectuez une montée en puissance jusqu'à 3 nœuds de plan de contrôle, Tanzu Kubernetes Grid active automatiquement la haute disponibilité en pile sur le plan de contrôle.

Important

ne modifiez pas le contexte ou le fichier .kube-tkg/config lorsque des opérations Tanzu Kubernetes Grid sont en cours d'exécution.

Mettre à jour les informations d’identification du cluster de gestion (vSphere)

Pour mettre à jour les informations d'identification de vSphere utilisées par un cluster de gestion et éventuellement tous les clusters de charge de travail qu'il gère, reportez-vous à la section Mettre à jour les informations d'identification du cluster de gestion et de charge de travail dans Création et gestion de clusters de charge de travail TKG 2.2 avec la CLI Tanzu.

Gérer la participation au CEIP

Lorsque vous déployez un cluster de gestion à l'aide de l'interface du programme d'installation ou de l'interface de ligne de commande, la participation au programme d'amélioration du produit (CEIP) de VMware est activée par défaut, sauf si vous spécifiez l'option permettant de refuser la participation. Si vous restez inscrit au programme, le cluster de gestion envoie régulièrement des informations sur l'utilisation de Tanzu Kubernetes Grid à VMware afin que nous puissions apporter des améliorations aux versions ultérieures.

Pour plus d'informations sur le programme d'amélioration du produit, reportez-vous à la section Gérer la participation au CEIP.

Si vous vous êtes désinscrit du CEIP lorsque vous avez déployé un cluster de gestion et que vous souhaitez vous inscrire, ou si vous vous êtes inscrit et que vous souhaitez vous désinscrire, reportez-vous à la section Refuser ou accepter de participer au programme d'amélioration du produit (CEIP) VMware dans Gérer la participation au CEIP pour modifier votre paramètre de participation au CEIP après le déploiement

Créer des espaces de noms dans un cluster de gestion

Pour vous aider à organiser et à gérer vos projets de développement, vous pouvez éventuellement diviser le cluster de gestion en espaces de noms Kubernetes. Vous pouvez ensuite utiliser la CLI Tanzu pour déployer des clusters de charge de travail sur des espaces de noms spécifiques dans votre cluster de gestion. Par exemple, vous pouvez créer différents types de clusters dans des espaces de noms dédiés. Si vous ne créez pas d'espaces de noms supplémentaires, Tanzu Kubernetes Grid crée tous les clusters de charge de travail dans l'espace de noms default. Pour plus d'informations sur les espaces de noms Kubernetes, reportez-vous à la documentation de Kubernetes.

  1. Assurez-vous que kubectl est connecté au contexte de cluster de gestion approprié en affichant le contexte actuel.

    kubectl config current-context
    
  2. Répertoriez les espaces de noms actuellement présents dans le cluster de gestion.

    kubectl get namespaces
    

    Vous verrez que le cluster de gestion inclut déjà plusieurs espaces de noms pour les différents services qu'il fournit :

    capi-kubeadm-bootstrap-system       Active   4m7s
    capi-kubeadm-control-plane-system   Active   4m5s
    capi-system                         Active   4m11s
    capi-webhook-system                 Active   4m13s
    capv-system                         Active   3m59s
    cert-manager                        Active   6m56s
    default                             Active   7m11s
    kube-node-lease                     Active   7m12s
    kube-public                         Active   7m12s
    kube-system                         Active   7m12s
    tkg-system                          Active   3m57s
    
  3. Utilisez kubectl create -f pour créer des espaces de noms, par exemple pour le développement et la production.

    Ces exemples utilisent les espaces de noms production et development de la documentation de Kubernetes.

    kubectl create -f https://k8s.io/examples/admin/namespace-dev.json
    
    kubectl create -f https://k8s.io/examples/admin/namespace-prod.json
    
  4. Exécutez kubectl get namespaces --show-labels pour voir les nouveaux espaces de noms.

    development                         Active   22m   name=development
    production                          Active   22m   name=production
    

Supprimer un espace de noms dans un cluster de gestion

Avant de supprimer un espace de noms pour les clusters de charge de travail dans un cluster de gestion, vous devez supprimer les clusters de charge de travail eux-mêmes. Vous ne pouvez pas supprimer les clusters de charge de travail en supprimant leur espace de noms de cluster de gestion.

Pour supprimer un espace de noms pour les clusters de charge de travail dans un cluster de gestion :

  1. Définissez le contexte de kubectl sur votre cluster de gestion :

    kubectl config use-context MY-MGMT-CLUSTER@MY-MGMT-CLUSTER
    

    MY-MGMT-CLUSTER est le nom de votre cluster de gestion.

  2. Répertoriez les clusters s'exécutant dans l'espace de noms que vous supprimez :

    tanzu cluster list -n NAMESPACE
    
  3. Suivez la procédure Supprimer les clusters de charge de travail pour supprimer des volumes et des services, migrer des charges de travail si nécessaire et supprimer les clusters dans l'espace de noms.

  4. Supprimez l'espace de noms à l'aide de kubectl :

    kubectl delete namespace NAMESPACE
    

Supprimer des clusters de gestion

Pour supprimer un cluster de gestion, exécutez la commande tanzu mc delete.

Lorsque vous exécutez tanzu mc delete, Tanzu Kubernetes Grid crée un cluster de nettoyage temporaire kind sur votre machine de démarrage pour gérer le processus de suppression. Le cluster kind est supprimé à la fin du processus de suppression.

  1. AWS : Assurez-vous que les informations d'identification AWS utilisées par TKG sont toujours valides. Il peut s'agir de profils d'informations d'identification ou de variables d'environnement statiques locales, comme décrit dans la section Configurer les informations d'identification du compte AWS.

    • Vous ne pouvez pas utiliser les informations d'identification de profil d'instance AWS pour supprimer un cluster de gestion.
    • Si les informations d'identification ont expiré, les nœuds de cluster de gestion peuvent rester comme décrit dans la section Impossible de supprimer le cluster de gestion sur AWS.
  2. Pour afficher tous vos clusters de gestion, exécutez tanzu login comme décrit dans Répertorier les clusters de gestion et modifier le contexte.

  3. S'il existe des clusters de gestion dont vous n'avez plus besoin, exécutez tanzu mc delete.

    Vous devez être connecté au cluster de gestion que vous souhaitez supprimer.

    tanzu mc delete my-mgmt-cluster
    

    Pour ignorer l'étape de vérification yes/no lorsque vous exécutez tanzu mc delete, spécifiez l'option --yes.

    tanzu mc delete my-mgmt-cluster --yes
    
  4. Si des clusters de charge de travail sont en cours d’exécution dans le cluster de gestion, l’opération de suppression n’est pas effectuée.

    Dans ce cas, vous pouvez supprimer le cluster de gestion de deux manières :

    • Exécutez tanzu cluster delete pour supprimer tous les clusters en cours d'exécution, puis exécutez de nouveau tanzu mc delete.
    • Exécutez tanzu mc delete avec l'option --force.
    tanzu mc delete my-mgmt-cluster --force
    
Important

ne modifiez pas le contexte ou le fichier .kube-tkg/config lorsque des opérations Tanzu Kubernetes Grid sont en cours d'exécution.

Tâches suivantes

Vous pouvez utiliser Tanzu Kubernetes Grid pour commencer à déployer des clusters de charge de travail sur différentes instances de Tanzu Kubernetes Grid. Pour plus d'informations, reportez-vous à la section Création de clusters de charge de travail dans Création et gestion de clusters de charge de travail TKG 2.2 avec la CLI Tanzu.

Si vous disposez de vSphere 8 avec un superviseur, vous pouvez utiliser la CLI Tanzu pour déployer des clusters TKG 2.x. Pour plus d'informations, reportez-vous à la section Créer et gérer des clusters TKG 2.2 avec la CLI Tanzu.

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