Ce document explique comment effectuer une mise à jour de cluster sans modification de version.
Une mise à jour d'un cluster est une modification de la configuration du cluster.
Une mise à niveau de cluster est un cas particulier de mise à jour de cluster qui inclut une modification de la version du plan de contrôle ou de la version d'un pool de nœuds. Pour en savoir plus sur la mise à niveau, consultez la page Mettre à niveau GKE sur VMware.
Éléments pouvant être mis à jour
Certaines fonctionnalités et certains paramètres du cluster peuvent être mis à jour, mais il n'est plus possible de mettre à jour d'autres fonctionnalités et paramètres après la création du cluster. Pour savoir quelles fonctionnalités peuvent être mises à jour, consultez les pages de référence du fichier de configuration du cluster d'administrateur et du fichier de configuration du cluster d'utilisateur. Les champs pouvant être mis à jour sont marqués comme Mutable, tandis que ceux qui ne peuvent pas être mis à jour sont marqués comme Immuables.
Vous pouvez également afficher les fonctionnalités et les paramètres pouvant être mis à jour en exécutant les commandes gkectl
.
Pour voir ce qui peut être mis à jour dans un cluster d'administrateur:
gkectl update admin --help
Exemple de résultat :
Update the admin cluster. Only the following updates are supported and they can only be updated one at a time: - Enabling/Disabling Vsphere Resource Metrics - Adding static IPs - Updating vCenter CA certificate - Registering Admin Cluster - Enabling/Disabling Cloud Audit Logging - Enabling/Disabling Stackdriver - Enabling/Disabling Auto Repair - Enabling/Disabling Auto Resize for Addon Nodes - Enabling/Disabling GKE OnPrem API - Updating OS Image Type - Enabling/Disabling AntiAffinityGroups - Update Secrets Encryption Configuration - [Preview] Enabling/Disabling Cluster Backup - [Preview] Update Cluster Backup configs
Pour voir ce qui peut être mis à jour dans un cluster d'utilisateur, procédez comme suit:
gkectl update cluster --help
Exemple de résultat :
Update a GKE On-Prem cluster. Only the following updates are supported and they can only be updated one at a time: - Adding static IPs - Updating node pool - Updating user master cpu and memory - Enabling/Disabling Vsphere Resource Metrics - Enabling/Disabling vSphere CSI deployment - Enabling/Disabling Auto Repair - Enabling/Disabling Cloud Audit Logging - Enabling/Disabling Stackdriver - Enabling/Disabling GKE OnPrem API - Registering User Cluster - Updating vCenter CA certificate - Updating MetalLB Address Pools - Enabling/Disabling Auto Resizing on user master - Updating NodePoolUpdatePolicy - Enabling/Disabling AntiAffinityGroups - [Preview] Enabling/Disabling Node Network Policy - Updating Secrets Encryption - Enabling/Disabling DataplaneV2 forwardMode
Mettre à jour un élément à la fois
Ne mettez à jour qu'une seule fonctionnalité ou un seul paramètre à la fois. Par exemple, supposons que vous souhaitiez mettre à jour le processeur et la mémoire maîtres et que vous souhaitiez également désactiver la réparation automatique.
Vous effectuez ensuite deux mises à jour distinctes: une pour le processeur et la mémoire maîtres, et une autre pour la réparation automatique. Vérifiez que la première mise à jour a réussi avant d'effectuer la deuxième.
Mettre à jour la procédure
Vous pouvez utiliser gkectl
, la console Google Cloud ou la Google Cloud CLI pour effectuer des mises à jour sur un cluster d'utilisateur. Si vous avez créé le cluster d'utilisateur à l'aide de Terraform, vous pouvez le mettre à jour à l'aide de cet outil. Dans presque tous les cas, vous devez utiliser gkectl
pour mettre à jour les clusters d'administrateur.
Les exemples suivants montrent comment mettre à jour des clusters.
gkectl
La commande gkectl update
se présente sous l'une des formes suivantes:
gkectl update credentials
: permet de mettre à jour les identifiants du cluster.gkectl update admin
: exécutez cette commande après avoir modifié le fichier de configuration du cluster d'administrateur.gkectl update cluster
: exécutez cette commande après avoir modifié le fichier de configuration du cluster d'utilisateur.
Exemple de cluster d'administrateur (gkectl update admin
)
Supposons que vous souhaitiez faire passer la valeur de gkeOnPremAPI.enabled
de false
à true
dans un cluster d'administrateur. Commencez par modifier le fichier de configuration du cluster d'administrateur et définissez la valeur sur true
:
gkeOnPremAPI: enabled: true
Mettez ensuite à jour le cluster d'administrateur:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
Remplacez les éléments suivants :
ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur
ADMIN_CLUSTER_CONFIG : chemin d'accès au fichier de configuration du cluster d'administrateur
Exemple de cluster d'utilisateur (gkectl update cluster
)
Supposons que vous souhaitiez faire passer la valeur de stackdriver.vSphereDisableResourceMetrics
de false
à true
dans un cluster d'utilisateur. Commencez par modifier le fichier de configuration du cluster d'utilisateur et définissez la valeur sur true
:
stackdriver: disableVsphereResourceMetrics: true
Mettez ensuite à jour le cluster d'utilisateur:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Remplacez les éléments suivants :
ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur
USER_CLUSTER_CONFIG : chemin d'accès au fichier de configuration du cluster d'utilisateur
Exemple de cluster d'utilisateur (gkectl update credentials
)
Supposons que vous souhaitiez modifier les identifiants qu'un cluster d'utilisateur utilise pour appeler vCenter Server.
Le fichier de configuration du cluster d'utilisateur comporte un champ vCenter.credentials.fileRef.path qui pointe vers un fichier de configuration des identifiants.
Dans le fichier de configuration des identifiants, mettez à jour les valeurs de username
et password
. Exemple :
items: - name: "vcenter-creds" username: "new-vcenter-account" password: "U$icUKEW#INE"
Mettez ensuite à jour les identifiants:
gkectl update credentials vsphere \ --config USER_CLUSTER_CONFIG \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Remplacez les éléments suivants :
USER_CLUSTER_CONFIG: chemin d'accès au fichier de configuration du cluster d'utilisateur
ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur
Console
Dans la console, accédez à la page Clusters Anthos.
Sélectionnez le projet Google Cloud, puis le cluster que vous souhaitez mettre à jour.
Dans le panneau Détails, cliquez sur Plus de détails.
Les champs pouvant être mis à jour dans la console Google Cloud sont signalés par une icône en forme de crayon. Cliquez sur l'une des icônes en forme de crayon. Dans la boîte de dialogue qui s'affiche, modifiez les valeurs des champs comme vous le souhaitez, puis cliquez sur DONE (OK).
Dans la barre de progression située en haut de la page, cliquez sur Afficher les détails. Attendez la fin de la mise à jour.
gcloud CLI
Exécutez la commande de mise à jour applicable. Spécifiez uniquement les indicateurs de la configuration que vous souhaitez modifier:
Clusters d'administrateur :
gcloud container vmware admin-clusters update
Clusters d'utilisateur :
gcloud container vmware clusters update
Pools de nœuds sur un cluster d'utilisateur :
gcloud container vmware node-pools update
Mettre à jour les administrateurs d'un cluster d'utilisateur
Le serveur d'API Kubernetes de chaque cluster doit être en mesure d'autoriser les requêtes qu'il reçoit. Pour configurer l'autorisation, vous devez configurer des stratégies de contrôle des accès basé sur les rôles (RBAC) Kubernetes sur chaque cluster. Un utilisateur administrateur est un utilisateur disposant du rôle cluster-admin
dans le cluster d'utilisateur. Ce rôle accorde à l'utilisateur un accès administrateur complet au cluster.
Supposons qu'Alice et Bob soient les seuls administrateurs du cluster d'utilisateur "cluster-1" dans la région us-west1. Et supposons qu'Alice veuille ajouter Trent en tant qu'administrateur supplémentaire. Alice pourrait exécuter la commande suivante:
gcloud container vmware clusters update cluster-1 \ --project example-project-id-12345 \ --location us-west1 \ --admin-users alice@example.com \ --admin-users bob@example.com \ --admin-users trent@example.com
La commande précédente maintient Alice et Bob dans la liste des administrateurs et ajoute Trent à la liste des administrateurs. Notez qu'Alice et Bob doivent figurer dans la commande, car celle-ci remplace la liste actuelle des administrateurs par la liste spécifiée dans la commande. Notez également que chaque option --admin-users
ne spécifie qu'un seul utilisateur. Vous ne pouvez pas spécifier plusieurs utilisateurs dans une même option.
Terraform
Modifiez les valeurs des champs applicables dans le fichier de configuration Terraform que vous avez utilisé pour créer le cluster ou le pool de nœuds. Pour obtenir une description détaillée des champs, consultez la documentation de référence de Terraform:
Mettez à jour la configuration en exécutant
terraform apply
.
Mettre à jour les administrateurs d'un cluster d'utilisateur
Le serveur d'API Kubernetes de chaque cluster doit être en mesure d'autoriser les requêtes qu'il reçoit. Pour configurer l'autorisation, vous devez configurer des stratégies de contrôle des accès basé sur les rôles (RBAC) Kubernetes sur chaque cluster. Un utilisateur administrateur est un utilisateur disposant du rôle cluster-admin
dans le cluster d'utilisateur. Ce rôle accorde à l'utilisateur un accès administrateur complet au cluster.
Supposons qu'Alice et Bob soient les seuls administrateurs d'un cluster d'utilisateur particulier. Et supposons qu'Alice veuille ajouter Trent comme administrateur supplémentaire. Alice peut ajuster la configuration Terraform comme suit, puis exécuter terraform apply
:
authorization { admin_users { username = "alice@example.com" username = "bob@example.com" username = "trent@example.com" } }
L'ajustement précédent maintient Alice et Bob dans la liste des administrateurs et ajoute Trent à la liste des administrateurs. Notez qu'Alice et Bob doivent être répertoriés dans la nouvelle configuration, car la commande terraform apply
écrase la liste actuelle d'administrateurs par la liste spécifiée dans la configuration.
Informations complémentaires
Les documents répertoriés dans cette section fournissent des informations supplémentaires sur la mise à jour des clusters.
Mettre à jour le cluster/administrateur
Les documents suivants fournissent des détails sur l'utilisation de gkectl update admin
et de gkectl update cluster
pour mettre à jour les fonctionnalités et les paramètres:
Mettre à jour des identifiants
Les documents suivants fournissent des détails sur l'utilisation de gkectl update credentials
pour mettre à jour des clés et des certificats: