Aggiorna e applica patch al dispositivo

Questa pagina descrive i passaggi per aggiornare e applicare patch al dispositivo appliance air-gapped di Google Distributed Cloud (GDC).

Prepararsi per l'upgrade

Prima dell'upgrade, assicurati di soddisfare i requisiti elencati in questa sezione.

Prima di iniziare

Esamina i prerequisiti del laptop per assicurarti che il laptop che utilizzi per gli upgrade di aggiornamento e patch soddisfi le specifiche fisiche e altri requisiti.

Devi prima completare le seguenti azioni relative agli strumenti dell'interfaccia a riga di comando (CLI) gdcloud:

  1. Scarica gli strumenti della CLI gdcloud.
  2. Installa gli strumenti della CLI gdcloud.
  3. Esegui l'upgrade degli strumenti della CLI gdcloud come richiesto.
  4. Assicurati che docker-credential-gdcloud sia presente.
  5. Verifica che HPE Chassis Manager esegua la versione del firmware 2.10.12 o successive. Se esegui l'aggiornamento da una versione precedente del firmware, consulta Eseguire l'upgrade del firmware di HPE Chassis Manager.

Trasferire gli artefatti alla macchina di upgrade

Devi avere accesso al bucket Cloud Storage.

Segui questi passaggi per trasferire gli artefatti al laptop che utilizzi per gli upgrade di aggiornamento e patch:

  1. Scarica il pacchetto in base alla versione della patch selezionata:

    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
    

    Questo comando recupera il pacchetto di aggiornamento e lo script di download nella directory corrente, ad esempio /home/download.

  2. Esegui tree -L 3 /home/download.

    Output di esempio:

    /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. Copia l'aggiornamento nell'ambiente air-gapped utilizzando l'unità USB.

    Copia sia lo script di download sia la directory gdch che hai scaricato sull'unità USB in passaggio 1 nella macchina di upgrade nell'ambiente air-gapped.

  4. Nella macchina di upgrade, verifica i contenuti ed estrai i file utilizzando le stesse informazioni che hai utilizzato per scaricare il pacchetto. Ad esempio, il seguente codice copia il pacchetto nella directory /root.

    Decomprimi il pacchetto:

    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
    

    Il pacchetto viene decompresso nel percorso /root/gdch/full-release-x.x.x-gdch.x.

  5. Verifica che la versione corrisponda a quella impostata in VERSION:

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

    Esempio di output:

    gdcloud version: 1.14.4-gdch.0
    

Autentica

Per autenticarti con il provider di identità configurato e richiedere un file kubeconfig per la tua identità utente e il tuo cluster, consulta Autenticarsi.

  1. Accedi e genera i file kubeconfig.

  2. Imposta i file kubeconfig come variabili di ambiente:

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. Richiedi i seguenti ruoli:

    • Amministratore dell'upgrade dell'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
      
    • Amministratore della gestione degli artefatti di sistema:

       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
      
    • Amministratore dei secret di gestione degli artefatti di sistema:

       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
      
    • Visualizzatore del suffisso DNS:

       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system
      
    • Monitoraggio di Artifact Registry di sistema:

       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
      
    • Debugger di upgrade:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com
      
    • Debugger di Artifact Registry di sistema:

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

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

Avvia l'upgrade

Segui questi passaggi per avviare l'upgrade dell'appliance:

gdcloud appliance upgrade 

Per ulteriori informazioni, consulta gdcloud appliance upgrade.

Il comando esegue i seguenti passaggi:

  1. Esegue i controlli preflight sulla macchina di upgrade.
  2. Esegue i controlli preflight per l'archiviazione OTS.
  3. Esegue il push degli artefatti nel registro degli artefatti.
  4. Esegue l'upgrade del software e del firmware dell'appliance, tra cui:
    1. Cluster root-admin GDC.
    2. Servizi GDC.
    3. I sistemi operativi (SO) dei nodi fisici e virtuali.
    4. Il passaggio.
    5. Archiviazione

Il comando esegue gli aggiornamenti in sequenza e attende il completamento di ogni passaggio. Al termine dei passaggi e se l'upgrade è andato a buon fine, viene visualizzato un messaggio simile al seguente:

The GDC appliance upgrade completed successfully