Mettre à jour et corriger l'appareil

Cette page décrit la procédure à suivre pour mettre à jour et corriger votre appliance Google Distributed Cloud (GDC) isolée.

Anticiper la mise à niveau

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

Avant de commencer

Consultez les conditions préalables pour les ordinateurs portables afin de vous assurer que l'ordinateur portable que vous utilisez pour les mises à jour et les correctifs répond aux spécifications physiques et aux autres exigences.

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

  1. Téléchargez les outils CLI gdcloud.
  2. Installez les outils CLI gdcloud.
  3. Mettez à niveau les outils CLI gdcloud si nécessaire.
  4. Assurez-vous que docker-credential-gdcloud est présent.

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

Vous devez avoir accès au bucket Cloud Storage.

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

  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 isolé à 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 sur la machine de mise à niveau dans l'environnement isolé.

  4. Dans la machine de mise à niveau, vérifiez le contenu et extrayez les fichiers en utilisant les mêmes informations que celles 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 S'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 Upgrade Appliance :

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-admin-te-initial-user --role=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 du 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
      
    • Écran Artifact Registry du 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
      
    • Mettre à niveau Debugger :

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com
      
    • Débogueur Artifact Registry 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
    

Lancer la mise à niveau

Pour lancer la mise à niveau de l'appliance, procédez comme suit :

gdcloud appliance upgrade 

Pour en savoir plus, consultez la page 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érer les artefacts vers le registre d'artefacts
  4. Mise à niveau du logiciel et du micrologiciel de l'appliance, y compris :
    1. Cluster GDC root-admin.
    2. Services GDC
    3. Systèmes d'exploitation des nœuds physiques et virtuels.
    4. Le changement.
    5. Stockage

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

The GDC appliance upgrade completed successfully