Cette page explique comment utiliser la console Google Cloud ou la Google Cloud CLI pour mettre à niveau un cluster d'administrateur ou d'utilisateur GKE sur Bare Metal enregistré dans l'API GKE On-Prem. Si vous avez créé votre cluster d'utilisateur à l'aide de Terraform, vous pouvez le mettre à niveau à l'aide de Terraform. Pour connaître les exigences concernant la mise à niveau, les bonnes pratiques et des informations supplémentaires sur le processus de mise à niveau, consultez les pages Bonnes pratiques de mise à niveau et Cycle de vie et étapes de mise à niveau du cluster avant de continuer.
Qu'est-ce que l'API GKE On-Prem ?
L'API GKE On-Prem est une API hébergée par Google Cloud qui vous permet de gérer le cycle de vie de vos clusters sur site à l'aide de Terraform et des outils Google Cloud standards. L'API GKE On-Prem s'exécute dans l'infrastructure de Google Cloud. Terraform, la console Google Cloud et la Google Cloud CLI sont les clients de l'API. Elles l'utilisent pour créer, mettre à jour, mettre à niveau et supprimer des clusters dans votre centre de données. Si vous avez créé le cluster à l'aide d'un client standard, celui-ci est enregistré dans l'API GKE On-Prem, ce qui signifie que vous pouvez utiliser les clients standards pour gérer le cycle de vie du cluster (à quelques exceptions près).
Si vous avez créé le cluster à l'aide de bmctl
, vous pouvez l'enregistrer dans l'API GKE On-Prem, ce qui vous permet d'utiliser les clients standards.
Avant de commencer
Configurer la CLI gcloud
Pour mettre à niveau un cluster à l'aide de gcloud CLI ou Terraform, procédez comme suit:
Assurez-vous de disposer de la dernière version de la gcloud CLI. Si nécessaire, mettez à jour les composants de la gcloud CLI:
gcloud components update
Exigences IAM
Si vous n'êtes pas propriétaire du projet, vous devez disposer du rôle Identity and Access Management roles/gkeonprem.admin
sur le projet Google Cloud dans lequel le cluster a été créé. Pour en savoir plus sur les autorisations incluses dans ce rôle, consultez la section Rôles GKE On-Prem dans la documentation IAM.
Pour mettre à niveau le cluster à l'aide de la console, vous avez au moins besoin des éléments suivants:
roles/container.viewer
. Ce rôle permet aux utilisateurs d'afficher la page "Clusters GKE" et les autres ressources de conteneur dans la console. Pour en savoir plus sur les autorisations incluses dans ce rôle ou pour attribuer un rôle doté d'autorisations de lecture/écriture, consultez la section Rôles Kubernetes Engine dans la documentation IAM.roles/gkehub.viewer
. Ce rôle permet aux utilisateurs d'afficher les clusters dans la console. Pour en savoir plus sur les autorisations incluses dans ce rôle ou pour attribuer un rôle doté d'autorisations de lecture/écriture, consultez la section Rôles GKE Hub dans la documentation IAM.
Exigences concernant les versions
Il faut environ 7 à 10 jours après la publication d'une version de GKE sur Bare Metal pour que la version soit disponible dans l'API GKE On-Prem.
Vous pouvez passer directement à une version de la même version mineure ou de la prochaine version mineure. Par exemple, vous pouvez passer de la version 1.16.1 à la version 1.16.2, ou de la version 1.15.1 à la version 1.16.2. La mise à niveau vers une version dont plusieurs versions mineures sont postérieures à la version installée n'est pas autorisée.
Un cluster d'administrateur peut gérer des clusters d'utilisateur qui correspondent à la même version mineure, ou à une version mineure précédente. La version d'un cluster d'utilisateur géré ne peut pas être inférieure de plus d'une version mineure à celle du cluster d'administrateur. Avant de mettre à jour un cluster d'administrateur vers une nouvelle version mineure, assurez-vous donc que tous les clusters d'utilisateur gérés correspondent à la même version mineure que le cluster d'administrateur.
Mettre à niveau un cluster d'administrateur
Console
Dans la console, accédez à la page de présentation des clusters Google Kubernetes Engine.
Sélectionnez le projet Google Cloud, puis le cluster que vous souhaitez mettre à niveau.
Dans le panneau Détails, cliquez sur Plus de détails.
Dans la section Paramètres de base du cluster, cliquez sur
Mettre à niveau.Dans la liste Sélectionner la version cible, sélectionnez la version vers laquelle vous souhaitez effectuer la mise à niveau. Nous vous recommandons d'installer la dernière version du correctif.
Cliquez sur Mettre à jour.
Avant la mise à niveau du cluster, des vérifications préliminaires sont exécutées pour valider l'état du cluster et celui du nœud. Si les vérifications préliminaires réussissent, le cluster d'administrateur est mis à niveau. La mise à niveau prend 30 minutes ou plus, en fonction de la taille de votre cluster.
Pour afficher l'état de la mise à niveau, cliquez sur Afficher les détails dans l'onglet Détails du cluster.
gcloud CLI
Vous pouvez également répertorier tous les clusters d'administrateur enregistrés dans le projet pour confirmer le nom et la région des clusters:
gcloud container bare-metal admin-clusters list \ --project=PROJECT_ID \ --location=-
Remplacez
PROJECT_ID
par l'ID du projet hôte du parc auquel le cluster est membre. Si vous avez créé le cluster à l'aide debmctl
, il s'agit de l'ID du projet dans le champgkeConnect.projectID
du fichier de configuration du cluster.Lorsque vous définissez
--location=-
, cela signifie que tous les clusters de toutes les régions sont répertoriés. Si vous devez limiter le champ d'application de la liste, définissez--location
sur une région spécifique.
Si vous obtenez une erreur
PERMISSION_DENIED
, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutezgcloud auth login
pour vous connecter à la Google Cloud CLI à l'aide du compte ayant accès au projet.Obtenez la liste des versions disponibles pour la mise à niveau:
gcloud container bare-metal admin-clusters query-version-config \ --admin-cluster=ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Remplacez les éléments suivants :
ADMIN_CLUSTER_NAME
: nom du cluster d'administrateur.PROJECT_ID
: ID du projet hôte du parc dans lequel le cluster est membre.REGION
: région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster.
Mettez à niveau le cluster d'administrateur:
gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Remplacez
VERSION
par la version de GKE sur Bare Metal que vous souhaitez mettre à niveau. Spécifiez une version à partir du résultat de la commande précédente. Nous vous recommandons d'installer la dernière version du correctif.La sortie de la commande ressemble à ceci :
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dans l'exemple de résultat, la chaîne
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
correspond auOPERATION_ID
de l'opération de longue durée.Pour connaître l'état de l'opération, copiez le
OPERATION_ID
de votre sortie dans la commande suivante. Ouvrez une autre fenêtre de terminal et exécutez la commande.gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
La mise à niveau prend 30 minutes ou plus, en fonction de la taille de votre cluster. Lors de la mise à niveau du cluster, vous pouvez exécuter de temps en temps la commande précédente pour obtenir l'état actuel.
Une fois la mise à niveau terminée, un écran semblable au suivant s'affiche dans la fenêtre de terminal où vous avez exécuté la commande gcloud ... update
:
Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster]. NAME LOCATION VERSION MEMBERSHIP STATE abm-admin-cluster us-central1 1.16.8 abm-admin-cluster RUNNING
Pour en savoir plus sur les champs et les options, consultez la documentation de référence de gcloud container bare-metal admin-clusters.
Mettre à niveau un cluster d'utilisateur
Console
Dans la console, accédez à la page de présentation des clusters Google Kubernetes Engine.
Sélectionnez le projet Google Cloud, puis le cluster que vous souhaitez mettre à niveau.
Dans le panneau Détails, cliquez sur Plus de détails.
Dans la section Paramètres de base du cluster, cliquez sur
Mettre à niveau.Dans la liste Sélectionner la version cible, sélectionnez la version vers laquelle vous souhaitez effectuer la mise à niveau.
Cliquez sur Mettre à jour.
Avant la mise à niveau du cluster, des vérifications préliminaires sont exécutées pour valider l'état du cluster et celui du nœud. Si les vérifications préliminaires réussissent, le cluster d'utilisateur est mis à niveau. La mise à niveau prend 30 minutes ou plus, en fonction de la taille de votre cluster.
Pour afficher l'état de la mise à niveau, cliquez sur Afficher les détails dans l'onglet Détails du cluster.
gcloud CLI
Vous pouvez également répertorier tous les clusters d'utilisateur enregistrés dans le projet pour confirmer leur nom et leur région:
gcloud container bare-metal clusters list \ --project=PROJECT_ID \ --location=-
Remplacez
PROJECT_ID
par l'ID du projet hôte du parc auquel le cluster est membre. Si vous avez créé le cluster à l'aide debmctl
, il s'agit de l'ID du projet dans le champgkeConnect.projectID
du fichier de configuration du cluster.Lorsque vous définissez
--location=-
, cela signifie que tous les clusters de toutes les régions sont répertoriés. Si vous devez limiter le champ d'application de la liste, définissez--location
sur une région spécifique.
La sortie de la commande ressemble à ceci :
NAME LOCATION VERSION ADMIN_CLUSTER STATE abm-user-cluster us-central1 1.16.8 abm-admin-cluster RUNNING
Si vous obtenez une erreur
PERMISSION_DENIED
, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutezgcloud auth login
pour vous connecter à la Google Cloud CLI à l'aide du compte ayant accès au projet.Obtenez la liste des versions disponibles pour la mise à niveau:
gcloud container bare-metal clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Remplacez les éléments suivants :
USER_CLUSTER_NAME
: nom du cluster d'utilisateur à mettre à niveau.PROJECT_ID
: ID du projet hôte du parc dans lequel le cluster est membre.REGION
: région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster.
Le résultat de la commande ressemble à ce qui suit :
versions: - hasDependencies: true version: 1.15.2 - hasDependencies: true version: 1.15.1 - hasDependencies: true version: 1.15.0 - version: 1.14.6
Choisissez une version qui ne figure pas dans la liste
- hasDependencies: true
. Dans cet exemple, la seule version disponible vers laquelle vous pouvez mettre à niveau le cluster d'utilisateur est1.14.6
.Mettez à niveau le cluster d'utilisateur:
gcloud container bare-metal clusters update USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Remplacez
VERSION
par la version de GKE sur Bare Metal que vous souhaitez mettre à niveau. Spécifiez une version à partir du résultat de la commande précédente. Nous vous recommandons d'installer la dernière version du correctif.La sortie de la commande ressemble à ceci :
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
Dans l'exemple de résultat, la chaîne
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
correspond auOPERATION_ID
de l'opération de longue durée.Pour connaître l'état de l'opération, copiez le
OPERATION_ID
de votre sortie dans la commande suivante. Ouvrez une autre fenêtre de terminal et exécutez la commande.gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
La mise à niveau prend 30 minutes ou plus, en fonction de la taille de votre cluster. Lors de la mise à niveau du cluster, vous pouvez exécuter de temps en temps la commande précédente pour obtenir l'état actuel.
Pour en savoir plus sur les champs et les indicateurs, consultez la documentation de référence de gcloud container bare-metal clusters.
Terraform
Pour mettre à niveau un cluster à l'aide de Terraform, vous devez utiliser la même configuration Terraform que celle utilisée pour créer le cluster.
Accédez au répertoire dans lequel se trouve le fichier de configuration Terraform.
Obtenez la liste des versions disponibles pour la mise à niveau:
gcloud container bare-metal clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Remplacez les éléments suivants :
USER_CLUSTER_NAME
: nom du cluster d'utilisateur à mettre à niveau.PROJECT_ID
: ID du projet hôte du parc dans lequel ce cluster d'utilisateur est membre.REGION
: région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke ses métadonnées.
Si vous obtenez une erreur
PERMISSION_DENIED
, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutezgcloud auth login
pour vous connecter à la Google Cloud CLI à l'aide du compte ayant accès au projet.Dans votre configuration Terraform, remplacez
bare_metal_version
par la version de GKE sur Bare Metal vers laquelle vous souhaitez effectuer la mise à niveau. Spécifiez une version à partir du résultat de la commande précédente. Nous vous recommandons de passer à la version du correctif la plus récente.Initialisez et créez le plan Terraform :
terraform init
Terraform installe les bibliothèques nécessaires, telles que le fournisseur Google Cloud.
Examinez la configuration et apportez des modifications si nécessaire:
terraform plan
Appliquez le plan Terraform pour créer le cluster d'utilisateur:
terraform apply
Pour en savoir plus sur la ressource google_gkeonprem_bare_metal_cluster
, consultez la documentation de référence.