Aggiorna e applica patch al dispositivo

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

Prepararsi all'upgrade

Assicurati di soddisfare i requisiti elencati in questa sezione prima dell'upgrade.

Prima di iniziare

Consulta i prerequisiti per il laptop per assicurarti che il laptop che utilizzi per l'aggiornamento e gli upgrade delle 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 CLI gdcloud in base alle esigenze.
  4. Assicurati che sia presente docker-credential-gdcloud.

Trasferisci gli artefatti alla macchina di upgrade

Devi disporre dell'accesso al bucket Cloud Storage.

Per trasferire gli artefatti al laptop che utilizzi per gli aggiornamenti e gli upgrade delle 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 isolato, utilizzando l'unità USB.

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

  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.

    Apri 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 eseguire l'autenticazione con il provider di identità configurato e richiedere un file kubeconfig per l'identità utente e il cluster, vedi Autenticazione.

  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:

    • Esegui l'upgrade di Appliance Admin:

      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 sistema di Artifact Registry:

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

      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 saperne di più, 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 dei nodi fisici e virtuali.
    4. Il passaggio.
    5. Archiviazione

Il comando gestisce gli aggiornamenti in sequenza e attende il completamento di ogni passaggio. Dopo aver completato i passaggi e se l'upgrade è andato a buon fine, viene visualizzato un messaggio simile al seguente:

The GDC appliance upgrade completed successfully