Vous pouvez mettre à jour un cluster TKG en modifiant la classe de stockage utilisée par les nœuds du cluster.
Vous pouvez initier une mise à jour continue d'un cluster TKG en modifiant la valeur du paramètre
storageClass
dans la spécification du cluster à l'aide de la commande
kubectl edit
.
Note : Vous ne pouvez pas utiliser la commande
kubectl apply
pour mettre à jour un cluster TKG déployé.
Conditions préalables
Cette tâche nécessite l'utilisation de la Commande d'édition de kubectl. Cette commande ouvre le manifeste du cluster dans l'éditeur de texte défini par votre variable d'environnement KUBE_EDITOR ou EDITOR. Lorsque vous enregistrez le fichier, le cluster est mis à jour avec les modifications. Pour configurer un éditeur pour kubectl, reportez-vous à la section Configurer un éditeur de texte pour Kubectl.
Procédure
- Authentifiez-vous avec le Superviseur.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- Changez de contexte pour utiliser l'Espace de noms vSphere dans lequel le cluster de charge de travail cible est provisionné.
kubectl config use-context SUPERVISOR-NAMESPACE
- Pour identifier les classes de stockage disponibles et décider laquelle utiliser, exécutez la commande suivante.
kubectl describe tanzukubernetescluster CLUSTER-NAME
- Exécutez la commande suivante pour modifier le manifeste du cluster.
Cluster v1alpha3 :
kubectl edit tanzukubernetescluster/CLUSTER-NAME
Cluster v1beta1 :
kubectl edit cluster/CLUSTER-NAME
- Modifiez le manifeste en changeant la valeur
storageClass
.
Par exemple, pour un cluster v1alpha3, remplacez le manifeste du cluster de la classe
silver-storage-class
pour le plan de contrôle et les nœuds worker :
spec:
topology:
controlPlane:
...
storageClass: silver-storage-class
workers:
...
storageClass: silver-storage-class
Par la classe
gold-storage-class
pour le plan de contrôle et les nœuds worker :
spec:
topology:
controlPlane:
...
storageClass: gold-storage-class
workers:
...
storageClass: gold-storage-class
De même, si vous avez provisionné un cluster v1beta1, mettez à jour la valeur
variables.storageclass
dans la spécification du cluster avec le nom de la classe de stockage.
- Enregistrez les modifications que vous avez apportées au fichier de manifeste.
Lorsque vous enregistrez le fichier, kubectl applique les modifications au cluster. En arrière-plan, le service
Tanzu Kubernetes Grid provisionne les nouvelles machines virtuelles du nœud et met hors service les anciennes.
- Vérifiez que kubectl confirme que les modifications apportées au manifeste ont été enregistrées.
kubectl edit tanzukubernetescluster/tkgs-cluster-1
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
Note : Si vous recevez une erreur ou si kubectl ne confirme pas la modification du manifeste du cluster, assurez-vous d'avoir configuré votre éditeur de texte par défaut à l'aide de la variable d'environnement KUBE_EDITOR. Reportez-vous à la section
Configurer un éditeur de texte pour Kubectl.
- Vérifiez que le cluster est mis à jour.
Cluster v1alpha3 :
kubectl get tanzukubernetescluster
Cluster v1beta1 :
kubectl get cluster