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.
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
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
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 :
~/.kube-tkg/config
~/.kube/config
Pour afficher les détails d’un cluster de gestion :
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
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.24.10+vmware.1 management prod v1.24.10---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
.
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 :
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
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) :
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
Lorsque vous y êtes invité, sélectionnez Point de terminaison de serveur (Server endpoint) comme type de connexion.
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.
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.
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.
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.
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 :
Obtenez le nom du cluster de gestion avec tanzu mc get
.
tanzu mc get
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
Où 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>`
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
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
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.
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.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.
Importantne modifiez pas le contexte ou le fichier
.kube-tkg/config
lorsque des opérations Tanzu Kubernetes Grid sont en cours d'exécution.
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.1 avec la CLI Tanzu.
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
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.
Assurez-vous que kubectl
est connecté au contexte de cluster de gestion approprié en affichant le contexte actuel.
kubectl config current-context
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
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
Exécutez kubectl get namespaces --show-labels
pour voir les nouveaux espaces de noms.
development Active 22m name=development
production Active 22m name=production
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 :
Définissez le contexte de kubectl
sur votre cluster de gestion :
kubectl config use-context MY-MGMT-CLUSTER@MY-MGMT-CLUSTER
Où MY-MGMT-CLUSTER
est le nom de votre cluster de gestion.
Répertoriez les clusters s'exécutant dans l'espace de noms que vous supprimez :
tanzu cluster list -n NAMESPACE
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.
Supprimez l'espace de noms à l'aide de kubectl
:
kubectl delete namespace NAMESPACE
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.
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.
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.
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
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 :
tanzu cluster delete
pour supprimer tous les clusters en cours d'exécution, puis exécutez de nouveau tanzu mc delete
.tanzu mc delete
avec l'option --force
.tanzu mc delete my-mgmt-cluster --force
Importantne modifiez pas le contexte ou le fichier
.kube-tkg/config
lorsque des opérations Tanzu Kubernetes Grid sont en cours d'exécution.
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.1 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.1 avec la CLI Tanzu.