Mettre à jour et corriger l'appareil

Cette page décrit la procédure à suivre pour mettre à jour et corriger votre appareil Google Distributed Cloud (GDC) sous air gap.

Anticiper la mise à niveau

Avant la mise à niveau, assurez-vous de respecter les exigences listées dans cette section.

Avant de commencer

Consultez les prérequis concernant l'ordinateur portable pour vous assurer que celui que vous utilisez pour les mises à jour et les correctifs répond aux spécifications physiques et autres exigences.

Vous devez d'abord effectuer les actions suivantes concernant les outils d'interface de ligne de commande (CLI) gdcloud :

  1. Téléchargez les outils de la CLI gdcloud.
  2. Installez les outils de la CLI gdcloud.
  3. Mettez à niveau les outils de la CLI gdcloud si nécessaire.
  4. Assurez-vous que docker-credential-gdcloud est présent.
  5. Vérifiez que HPE Chassis Manager exécute la version de micrologiciel 2.10.12 ou une version ultérieure. Si vous effectuez une mise à jour à partir d'une version de micrologiciel antérieure, consultez Mettre à niveau le micrologiciel HPE Chassis Manager.

Transférer les artefacts vers la machine de mise à niveau

Vous devez avoir accès au bucket Cloud Storage.

Procédez comme suit pour transférer les artefacts vers l'ordinateur portable que vous utilisez pour les mises à jour et les correctifs :

  1. Téléchargez le package en fonction de la version du correctif sélectionnée :

    VERSION=<x.x.x-gdch.yyy>
    RELEASE_SUFFIX="_te"
    DOWNLOADER=gdch-downloader-prod${RELEASE_SUFFIX}-$VERSION.sh
    gcloud storage cp "gs://$GCS_BUCKET/$VERSION/$DOWNLOADER" .
    gcloud storage cp "gs://$GCS_BUCKET/$VERSION/${DOWNLOADER}.sig" .
    
    PUBLIC_KEY=$(cat <<-PUBEND
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn46iVSyFXsvuKLZ4dVOr2AqlXDnR
    5cKztkpraexHDxn/ozq03EvrdkRmZkSACFfcaEFyitpraidgAx8sPjvzXQ==
    -----END PUBLIC KEY-----
    PUBEND
    )
    echo "${PUBLIC_KEY}" > "key.pub"
    DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh
    
    gcloud storage cp "gs://${GCS_BUCKET:-private-cloud-release}/$VERSION/$DOWNLOADER*" .
       openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-unzip
    

    Cette commande récupère le package de mise à jour et le script de téléchargement dans le répertoire actuel, par exemple /home/download.

  2. Exécutez tree -L 3 /home/download.

    Exemple de résultat :

    /home/download
    ├── gdch
    │   └── x.x.x-gdch.x
    │       ├── bootstrapper
    │       │   ├── bootstrapper.iso
    │       │   └── bootstrapper.iso.sig
    │       ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz
    │       ├── gdch-prod_te-x.x.x-gdch.x-sbom.tar.gz.sig
    │       ├── prod_te_gdch.tar.gz
    │       └── prod_te_gdch.tar.gz.sig
    ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh
    ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.1.sig
    ├── gdch-downloader-prod_te-x.x.x-gdch.x.sh.sig
       └── key.pub
    
  3. Copiez la mise à jour dans l'environnement sous air gap à l'aide de votre clé USB.

    Copiez le script de téléchargement et le répertoire gdch que vous avez téléchargés sur votre clé USB à l'étape 1 vers la machine de mise à niveau dans l'environnement sous air gap.

  4. Sur la machine de mise à niveau, vérifiez le contenu et extrayez les fichiers à l'aide des mêmes informations que celles que vous avez utilisées pour télécharger le package. Par exemple, le code suivant copie le package dans le répertoire /root.

    Décompressez le package :

    VERSION=x.x.x-gdch.x
    PRODUCT=prod_te
    DOWNLOADER=gdch-downloader-${PRODUCT}-$VERSION.sh
    openssl dgst -sha256 -verify "key.pub" -signature "${DOWNLOADER}.sig" ${DOWNLOADER} && chmod +x $DOWNLOADER && ./$DOWNLOADER --skip-download
    

    Le package est décompressé dans le chemin d'accès /root/gdch/full-release-x.x.x-gdch.x.

  5. Vérifiez que la version correspond à celle que vous avez définie dans VERSION :

    /root/gdch/full-release-x.x.x-gdch.x/gdcloud version
    

    Exemple de résultat :

    gdcloud version: 1.14.4-gdch.0
    

Authentifier

Pour vous authentifier auprès de votre fournisseur d'identité configuré et demander un fichier kubeconfig pour votre identité utilisateur et votre cluster, consultez Authentifier.

  1. Connectez-vous et générez les fichiers kubeconfig.

  2. Définissez les fichiers kubeconfig comme variables d'environnement :

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. Demandez les rôles suivants :

    • Administrateur de la mise à niveau de l'appliance :

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com
      kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --clusterrole=upgrade-admin-te --user=keycloak-oidc-initial-user@example.com
      
    • Administrateur de la gestion des artefacts système :

       kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system
       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding system-artifact-management-admin-initial-user --role=system-artifact-management-admin --user=keycloak-oidc-initial-user@example.com -n gpc-system
      
    • Administrateur des secrets de gestion des artefacts système :

       kubectl --kubeconfig=$KUBECONFIG create rolebinding system-artifact-management-secrets-admin-initial-user --role=system-artifact-management-secrets-admin --user=keycloak-oidc-initial-user@example.com -n anthos-creds
      
    • Lecteur de suffixe DNS :

       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system
      
    • Moniteur du registre d'artefacts système :

       kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com
       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create clusterrolebinding sar-monitor-initial-user --clusterrole=sar-monitor --user=keycloak-oidc-initial-user@example.com
      
    • Débogueur de mise à niveau :

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com
      
    • Débogueur du registre d'artefacts système :

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-debugger-initial-user --clusterrole=sar-debugger --user=keycloak-oidc-initial-user@example.com
      
  4. Configurez Docker :

    gdcloud auth configure-docker --config-cert=true
    

Lancer la mise à niveau

Suivez les étapes ci-dessous pour lancer la mise à niveau de l'appliance :

gdcloud appliance upgrade 

Pour en savoir plus, consultez gdcloud appliance upgrade.

La commande exécute les étapes suivantes :

  1. Exécute les vérifications préliminaires sur la machine de mise à niveau.
  2. Exécute les vérifications préliminaires pour le stockage OTS.
  3. Transfère les artefacts vers le registre d'artefacts.
  4. Met à niveau le logiciel et le micrologiciel de l'appliance, y compris :
    1. Le cluster root-admin GDC.
    2. Les services GDC.
    3. Les systèmes d'exploitation des nœuds physiques et virtuels.
    4. Le commutateur.
    5. Le stockage

La commande effectue les mises à jour de manière séquentielle et attend la fin de chaque étape. Une fois les étapes terminées et si la mise à niveau a réussi, un message semblable à celui-ci s'affiche :

The GDC appliance upgrade completed successfully