Mettre à jour les paramètres de votre cluster Azure
Cette page explique comment mettre à jour les paramètres de votre cluster GKE sur Azure. Vous pouvez suivre ces instructions pour mettre à jour n'importe quel paramètre pouvant être mis à jour dans votre cluster, y compris la version de Kubernetes. La mise à niveau de la version étant l'une des opérations de mise à jour de cluster les plus courantes, une page distincte de la mise à niveau de votre cluster explique comment mettre à niveau une version de cluster.
Motifs de mise à jour d'un cluster
Vous pouvez mettre à jour un cluster pour l'une des raisons suivantes :
- Pour mettre à jour la description de votre cluster.
- Pour mettre à jour les annotations de votre cluster.
- Mettre à jour la liste des utilisateurs avec accès administrateur de votre cluster.
- Mettre à jour la configuration de journalisation de votre cluster.
- Mettre à jour la taille de la VM de votre cluster.
- Pour mettre à jour la ressource AzureClient de votre cluster.
- Pour mettre à jour l'authentification de votre cluster depuis AzureClient vers la fédération d'identité de charge de travail.
Vous pouvez également mettre à jour d'autres champs de vos clusters non répertoriés ici.
Pour obtenir la liste complète des paramètres que vous pouvez mettre à jour, consultez la documentation sur gcloud container azure clusters update
et projects.locations.azureClusters.patch
.
Prérequis
Pour mettre à jour les champs de votre cluster, vous devez disposer de l'autorisation Identity and Access Management
gkemulticloud.googleapis.com/azureClusters.update
.
Processus de mise à jour
Le processus par lequel GKE sur Azure met à jour un cluster varie en fonction du type de mise à jour. Pour certaines modifications, GKE sur Azure peut mettre à jour un cluster sans redémarrer ou recréer les ressources, par exemple en mettant à jour la description d'un cluster. GKE sur Azure apporte ces modifications immédiatement.
D'autres modifications nécessitent le redémarrage des nœuds du plan de contrôle, par exemple la mise à jour de la taille de la VM ou de la version de Kubernetes. Pour ces mises à jour, GKE sur Azure effectue une "mise à jour progressive" comprenant les étapes suivantes :
- Choisit une instance de plan de contrôle à mettre à jour. GKE sur Azure met à jour les instances non opérationnelles, le cas échéant, avant celles qui sont opérationnelles.
- Supprimez l'instance. GKE sur Azure recrée l'instance et celle-ci démarre avec la nouvelle configuration.
- Effectue des vérifications d'état sur la nouvelle instance.
- Si les vérifications d'état réussissent, sélectionne une autre instance et effectue les mêmes étapes. Répète ce cycle jusqu'à ce que toutes les instances soient redémarrées ou recréées.
Si la vérification de l'état échoue, GKE sur Azure place le cluster à l'état
DEGRADED
et arrête la mise à jour. Pour en savoir plus, consultez la section suivante.
En cas d'échec d'une mise à jour
Après une mise à jour, GKE sur Azure effectue une vérification de l'état du cluster.
Si la vérification de l'état échoue, le cluster est marqué comme DEGRADED
. Vous pouvez afficher l'état de votre cluster à l'aide de la commande Google Cloud CLI suivante :
gcloud container azure clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterGOOGLE_CLOUD_LOCATION
: région Google Cloud qui gère votre cluster
Mettre à jour votre cluster
Vous pouvez utiliser la console Google Cloud, la Google Cloud CLI ou l'API GKE multi-cloud pour mettre à jour plusieurs champs de cluster à la fois.
Choisir une méthode de mise à jour
Vous pouvez mettre à jour la plupart des champs via la console, la gcloud CLI ou l'API GKE multicloud. Certains champs ne peuvent être mis à jour que par l'un ou l'autre de ces mécanismes. Si vous souhaitez utiliser la console pour mettre à jour un cluster, vous devez d'abord choisir et configurer une méthode d'authentification pour vous connecter au cluster. Pour en savoir plus, consultez la section Se connecter et s'authentifier auprès de votre cluster.
Console
Dans la console Google Cloud, accédez à la page Présentation des clusters Google Kubernetes Engine.
Sélectionnez le projet Google Cloud dans lequel se trouve le cluster.
Dans la liste des clusters, sélectionnez le nom du cluster, puis cliquez sur Afficher les détails dans le panneau latéral.
Dans l'onglet Détails, sélectionnez
Modifier dans le champ que vous souhaitez modifier.Par exemple, pour accorder des droits d'administrateur de cluster à d'autres utilisateurs, sélectionnez
Modifier à côté de Administrateurs, puis saisissez l'adresse e-mail de l'utilisateur.Une fois les modifications effectuées, sélectionnez OK.
gcloud
Lorsque vous mettez à jour un cluster à l'aide de gcloud CLI, vous devez toujours inclure les champs CLUSTER_NAME
et GOOGLE_CLOUD_LOCATION
, qui indiquent à GKE sur Azure le cluster à mettre à jour. Dans la commande suivante, n'incluez que les champs que vous souhaitez mettre à jour. Supprimez les autres champs avant d'exécuter la commande.
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--client=CLIENT_NAME \
--vm-size=VM_SIZE
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterGOOGLE_CLOUD_LOCATION
(obligatoire) : région Google Cloud compatible qui gère votre cluster, par exempleus-west1
CLUSTER_VERSION
: nouvelle version de cluster compatibleUSERNAME_LIST
: liste de noms d'utilisateurs séparés par des virgules, par exemple, "kai@example.com,hao@example.com,kalani@example.com". Il s'agit des adresses e-mail des utilisateurs auxquels vous accordez des droits d'administrateur sur ce cluster. Les noms de ce paramètre remplacent la liste précédente des utilisateurs avec accès administrateur sur le cluster.CLIENT_NAME
: votre AzureClientVM_SIZE
: la nouvelle taille de VM acceptée
Pour mettre à jour l'authentification du cluster de AzureClient vers la fédération d'identité de charge de travail, exécutez la commande suivante:
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--azure-tenant-id="${TENANT_ID}" \
--azure-application-id="${APPLICATION_ID}" \
--clear-client
API
Lorsque vous mettez à jour un cluster à l'aide de l'API GKE multicloud, vous devez toujours inclure les champs CLUSTER_NAME
et GOOGLE_CLOUD_LOCATION
dans la requête HTTP. Ces champs indiquent à GKE sur Azure le cluster à mettre à jour. Vous devez également inclure le point de terminaison de l'API dans la requête. Vous créez un fichier JSON avec les champs que vous souhaitez mettre à jour. N'incluez que les champs que vous souhaitez mettre à jour dans le fichier JSON et dans UPDATE_MASK
.
L'exemple suivant montre comment mettre à jour votre cluster via l'API.
Pour en savoir plus, y compris sur la liste des champs que vous pouvez mettre à jour, consultez la documentation de la méthode projects.locations.azureClusters.patch
.
Créez un fichier JSON nommé
cluster_update.json
contenant les champs que vous souhaitez mettre à jour.- Lorsque vous utilisez la fédération d'identité de charge de travail, le fichier JSON doit se présenter comme suit :
{ "description": "CLUSTER_DESCRIPTION", "controlPlane": { "version": "CLUSTER_VERSION", "vm_size": "VM_SIZE }, "azureServicesAuthentication": { "tenantId": "TENANT_ID", "applicationId": "APPLICATION_ID" }, "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }
- Lorsque vous utilisez le client Azure, le fichier JSON doit se présenter comme suit :
{ "description": "CLUSTER_DESCRIPTION", "controlPlane": { "version": "CLUSTER_VERSION", "vm_size": "VM_SIZE }, "azureClient": "CLIENT_NAME", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }
Remplacez les éléments suivants :
CLUSTER_VERSION
: la nouvelle version de cluster compatible. Notez que vous devez passer par toutes les versions mineures lors de la mise à niveau de votre cluster.CLUSTER_DESCRIPTION
: description du nouveau clusterUSERNAME1
,USERNAME2
etUSERNAME3
: adresses e-mail des utilisateurs auxquels vous accordez des droits d'administrateur sur ce cluster. Les noms de ces champs remplaceront toute liste précédente des utilisateurs avec accès administrateur du cluster.CLIENT_NAME
: nom de votre AzureClient.TENANT_ID
: ID de locataire AzureAPPLICATION_ID
: ID d'application Azure créé dans Créer une application Azure Active DirectoryVM_SIZE
: la nouvelle taille de VM
- Lorsque vous utilisez la fédération d'identité de charge de travail, le fichier JSON doit se présenter comme suit :
Mettez à jour ces paramètres via l'API GKE multicloud avec la commande suivante :
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/azureClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
Remplacez les éléments suivants :
ENDPOINT
(obligatoire) : votre point de terminaison de service Google CloudPROJECT_ID
(obligatoire) : votre projet Google CloudGOOGLE_CLOUD_LOCATION
(obligatoire) : région Google Cloud compatible qui gère votre cluster, par exempleus-west1
CLUSTER_NAME
(obligatoire) : nom de votre clusterUPDATE_MASK
(obligatoire) : liste d'une ou de plusieurs des options suivantes, séparées par une virgule, indiquant les champs que vous souhaitez mettre à jour Dans cet exemple, spécifiez les éléments suivants.- controlPlane.version
- description
- authorization.admin_users
- control_plane.vm_size
- azure_client
- azure_services_authentication.tenant_id
- azure_services_authentication.application_id
Pour mettre à jour l'authentification AzureClient du cluster vers la
fédération d'identité de charge de travail,
ajoutez azure_client
, azure_services_authentication.tenant_id
et
azure_services_authentication.application_id
dans le champ update_mask
.
Mettre à jour la configuration de Logging
Vous pouvez mettre à jour les paramètres de configuration Cloud Logging de votre cluster avec la CLI Google Cloud. Pour mettre à jour la configuration de journalisation, exécutez la commande suivante:
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Remplacez les éléments suivants :
CLUSTER_NAME
: nom de votre cluster.GOOGLE_CLOUD_LOCATION
: région Google Cloud compatible qui gère votre cluster, par exempleus-west1
LOGGING_CONFIG
: [SYSTEM] ou [SYSTEM,WORKLOAD]
Étape suivante
- Pour mettre à jour les clés KMS des volumes, consultez la section Rotation des clés.
- Pour plus d'informations sur les champs pouvant être mis à jour, consultez la documentation de référence sur
gcloud container azure clusters update
. - Consultez la documentation sur l'API REST
projects.locations.azureClusters.patch
.