Mettre à niveau Anthos en mode déconnecté

Cette page explique comment mettre à niveau Anthos en mode déconnecté.

Mettre à niveau le cluster d'administrateur et le centre de gestion Anthos

Les opérateurs d'infrastructure peuvent mettre à niveau le cluster d'administrateur et le centre de gestion et ses composants.

Compatibilité avec les versions

  • Anthos s'exécutant en mode déconnecté suit une règle d'obsolescence applicable aux versions d'Anthos Config Management et d'Anthos Service Mesh. Chaque version est classée dans l'un des quatre états suivants :

    • Compatible : cette version est reconnue par Anthos s'exécutant en mode déconnecté et peut être installée. Elle fonctionne dans la version actuelle des clusters d'Anthos s'exécutant en mode déconnecté. Les versions compatibles seront probablement obsolètes dans la prochaine version mineure d'Anthos s'exécutant en mode déconnecté.
    • Obsolète : cette version est reconnue par Anthos s'exécutant en mode déconnecté et peut être installée. Elle fonctionne dans la version actuelle des clusters d'Anthos s'exécutant en mode déconnecté. Les versions obsolètes ne seront plus compatibles dans la prochaine version mineure d'Anthos s'exécutant en mode déconnecté.
    • Non compatible : cette version est toujours reconnue par l'installation d'Anthos s'exécutant en mode déconnecté, mais ne peut plus être installée. Elle peut ne pas fonctionner dans la version actuelle des clusters d'Anthos s'exécutant en mode déconnecté. Il est toujours possible de supprimer une version non compatible ou de la mettre à niveau vers une version plus récente. Les versions non compatibles seront supprimées dans la prochaine version mineure d'Anthos s'exécutant en mode déconnecté.
    • Supprimée : cette version n'est pas reconnue par l'installation d'Anthos s'exécutant en mode déconnecté. Elle ne peut pas être mise à niveau vers une version plus récente et ne peut pas être désinstallée automatiquement.

    Le cycle de vie de chaque version d'Anthos Config Management et d'Anthos Service Mesh suit le modèle permettant de passer de l'état "Compatible" à l'état "Obsolète", "Non compatible" et "Supprimée".

    Le tableau suivant présente la règle d'obsolescence des versions d'Anthos Config Management et d'Anthos Service Mesh.

    Anthos fonctionne en mode déconnecté 1.12 Compatible Obsolète Non compatible Supprimé
    Anthos Config Management 1.12.0 1.11.1 1.10.* 1.8.*, 1.9.*
    Anthos Service Mesh 1.12.7-asm.2 1.11.* 1.10.* 1.9.*

Préparer l'environnement

  1. Exécutez les commandes suivantes pour télécharger la nouvelle version et définir les autorisations d'exécution :

    cd ~/
    # Download the script which helps download all the latest components
    export VERSION=UPGRADE_VERSION
    
    # Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download
    export INSTALLER_DIGEST=
    export INSTALLER=get-anthos-private-mode-$VERSION.sh
    gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
    if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER
    
    # Note: ~/anthos-baremetal-private-mode should point to the new version.
    ls -al anthos-baremetal-private-mode
    cd ~/anthos-baremetal-private-mode
    

    Remplacez UPGRADE_VERSION par la nouvelle version vers laquelle vous souhaitez effectuer la mise à niveau.

  2. Importez les nouvelles images dans votre registre privé à l'aide de la commande suivante. Assurez-vous d'utiliser actl à partir de la version UPGRADE_VERSION.

    actl images push --private-registry=${PRIVATE_REGISTRY} \
      --images ~/anthos-baremetal-private-mode
    

    Le processus d'importation ignore automatiquement les images qui existent déjà dans le registre.

  3. Importer des graphiques Helm dans le registre de conteneurs.

Mettre à niveau le cluster d'administrateur

Pour mettre à niveau le cluster d'administrateur, mettez à jour le fichier de configuration du cluster d'administrateur en n'incluant que les modifications suivantes, puis exécutez la commande actl clusters baremetal upgrade pour effectuer la mise à niveau.

  1. Dans le fichier YAML d'administration de la configuration du cluster, mettez à jour la chaîne de version et ajoutez l'annotation baremetal.cluster.gke.io/private-mode: "true".

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: admin
      namespace: cluster-admin
      annotations:
        baremetal.cluster.gke.io/private-mode: "true"
    spec:
      anthosBareMetalVersion: VERSION
    

    Remplacez VERSION par le nouveau numéro de version Anthos sur solution Bare Metal.

  2. Exécutez la commande suivante pour mettre à jour le cluster d'administrateur. Assurez-vous d'utiliser actl à partir de la version UPGRADE_VERSION.

    actl clusters baremetal upgrade admin --kubeconfig=ADMIN_KUBECONFIG
    

La mise à niveau peut prendre environ 15 à 20 minutes, mais peut être plus longue selon la taille du cluster.

Mettre à niveau le centre de gestion

Les opérateurs d'infrastructure peuvent mettre à niveau le centre de gestion dans son intégralité ou en mettant à niveau des sous-composants individuels.

Option 1 : Mettre à niveau l'intégralité du centre de gestion

Les opérateurs d'infrastructure peuvent mettre à niveau tous les composants d'un centre de gestion, y compris le centre de gestion lui-même.

  1. Vérifiez la version du centre de gestion pour vérifier qu'il s'agit d'une ancienne version :

    kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    

    Remplacez ADMIN_KUBECONFIG par le chemin du fichier kubeconfig du cluster d'administrateur.

  2. Facultatif : exécutez la vérification préliminaire pour la mise à niveau :

    actl platform management-center upgrade --preflight-check-only --kubeconfig=ADMIN_KUBECONFIG
    
  3. Lancez la mise à niveau (celle-ci prend généralement entre 10 et 15 minutes) :

    actl platform management-center upgrade --kubeconfig=ADMIN_KUBECONFIG
    
  4. Consultez la version du centre de gestion pour confirmer que la version est mise à jour :

    kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    

Option 2 : Mettre à niveau des composants individuels

Les opérateurs d'infrastructure peuvent gérer les mises à niveau d'un composant spécifique qui s'exécute dans le centre de gestion. Depuis la version 1.9, trois composants peuvent être mis à niveau individuellement : l'opérateur Anthos Config Management, l'opérateur Anthos Service Mesh et Anthos sur solution Bare Metal.

Après avoir importé les images dans Container Registry, vous devez publier les spécifications des packages intégrés dans la nouvelle version. Par exemple, les spécifications de package pour l'opérateur Anthos Config Management et l'opérateur Anthos Service Mesh sont disponibles sous services/.

  1. Appliquez la spécification de package pour le nouvel opérateur Anthos Config Management.

    kubectl apply -f ~/anthos-baremetal-private-mode/services/anthos-config-management/package-spec.yaml \
    --kubeconfig=ADMIN_KUBECONFIG
    
  2. Vérifiez l'état actuel du composant de l'opérateur Anthos Config Management.

    kubectl get adminoperator admin-operator \
      --kubeconfig=ADMIN_KUBECONFIG \
      -ojsonpath='{.status.components[?(@.name=="anthos-config-management")]}'
    

    Supposons que la commande donne la version actuelle de 1.9.X et la contrainte de version actuelle de <=1.9.X.

    {"name":"anthos-config-management","version":"1.9.X","versionConstraint":"<=1.9.X"}
    
  3. Activez la nouvelle version en modifiant les contraintes de version dans l'objet "Opérateur d'administration".

    kubectl edit AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    
  4. Dans l'éditeur, localisez les stratégies de mise à jour sous spec.updateConfigOverride.policies et augmentez les versions du composant en conséquence. Si spec.updateConfigOverride est omis ou si la valeur de la structure est vide ({}), ajoutez la règle comme suit.

    spec:
      updateConfigOverride:
        policies:
        - name: anthos-config-management
          versionConstraint: <=1.9.Y
    

Après avoir ajouté le remplacement, le centre de gestion déploie la modification pour récupérer la version la plus récente de l'opérateur Anthos Config Management.

Exécutez la commande suivante pour surveiller le déploiement de la nouvelle version, qui est censée passer de l'ancienne 1.9.X à 1.9.Y.

kubectl get adminoperator admin-operator \
  --kubeconfig=ADMIN_KUBECONFIG \
  -ojsonpath='{.status.components[?(@.name=="anthos-config-management")].version}' \
  --watch

Une fois le déploiement terminé, les administrateurs de plate-forme peuvent utiliser le nouvel opérateur Anthos Config Management via le centre de gestion.

Mettre à niveau des clusters d'utilisateurs

Les administrateurs de plate-forme peuvent mettre à jour les clusters d'utilisateur à l'aide de l'outil de ligne de commande actl, du centre de gestion ou de l'API.

actl

Exécutez la commande suivante pour mettre à jour un cluster d'utilisateur :

actl clusters baremetal upgrade CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG

Console

  1. Dans la console du centre de gestion, accédez au menu Tableau de bord.
  2. Cliquez sur l'onglet Mises à niveau pour afficher toutes les mises à niveau disponibles.
  3. Cliquez sur Afficher les mises à niveau pour le cluster que vous souhaitez mettre à niveau.
  4. Cliquez sur Mettre à niveau pour afficher les détails de la mise à niveau, tels que la version, la description et un lien vers les notes de version.
  5. Cliquez sur Continuer pour confirmer.
  6. Cliquez sur Mettre à niveau pour commencer la mise à niveau du cluster.

L'entrée figurant dans la liste de mise à niveau affiche Upgrade in progress jusqu'à la fin de l'opération.

API

Vous pouvez mettre à niveau un cluster d'utilisateur en modifiant la chaîne de version dans la ressource Cluster.

  1. Exécutez la commande suivante pour modifier la ressource Cluster pour un cluster d'utilisateur.

    kubectl edit cluster CLUSTER_NAME -n cluster-CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
    
  2. Mettez à jour la chaîne de version dans spec.anthosBareMetalVersion. Les contrôleurs travailleront sur les mises à niveau.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: CLUSTER_NAME
      namespace: cluster-CLUSTER_NAME
      annotations:
        baremetal.cluster.gke.io/private-mode: "true"
    spec:
      type: user
      anthosBareMetalVersion: VERSION
    

    Remplacez VERSION par le nouveau numéro de version Anthos sur solution Bare Metal.

Étapes suivantes