Memperbarui dan menambahkan patch perangkat

Halaman ini menjelaskan langkah-langkah untuk mengupdate dan menerapkan patch pada perangkat perlengkapan air-gapped Google Distributed Cloud (GDC).

Mempersiapkan upgrade

Pastikan Anda memenuhi persyaratan yang tercantum di bagian ini sebelum melakukan upgrade.

Sebelum memulai

Tinjau Prasyarat laptop untuk memastikan bahwa laptop yang Anda gunakan untuk upgrade update dan patch memenuhi spesifikasi fisik dan persyaratan lainnya.

Anda harus menyelesaikan tindakan berikut terlebih dahulu terkait alat antarmuka command line (CLI) gdcloud:

  1. Download alat CLI gdcloud.
  2. Instal alat CLI gdcloud.
  3. Upgrade alat CLI gdcloud sesuai kebutuhan.
  4. Pastikan docker-credential-gdcloud ada.

Mentransfer artefak ke mesin upgrade

Anda harus memiliki akses ke bucket Cloud Storage.

Ikuti langkah-langkah berikut untuk mentransfer artefak ke laptop yang Anda gunakan untuk upgrade update dan patch:

  1. Download paket berdasarkan versi patch yang dipilih:

    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
    

    Perintah ini mengambil paket update dan skrip pengunduh ke direktori saat ini, misalnya, /home/download.

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

    Contoh output:

    /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. Salin update ke lingkungan yang terisolasi dari internet, menggunakan drive USB Anda.

    Salin skrip downloader dan direktori gdch yang Anda download ke drive USB di langkah 1 ke komputer upgrade di lingkungan yang terisolasi.

  4. Di mesin upgrade, verifikasi konten dan ekstrak file menggunakan informasi yang sama dengan yang Anda gunakan untuk mendownload paket. Misalnya, kode berikut menyalin paket ke direktori /root.

    Ekstrak paket:

    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
    

    Paket diekstrak di jalur /root/gdch/full-release-x.x.x-gdch.x.

  5. Pastikan versi cocok dengan yang Anda tetapkan di VERSION:

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

    Contoh output:

    gdcloud version: 1.14.4-gdch.0
    

Autentikasikan

Untuk melakukan autentikasi dengan penyedia identitas yang dikonfigurasi dan meminta file kubeconfig untuk identitas pengguna dan cluster Anda, lihat Mengautentikasi.

  1. Login dan buat file kubeconfig.

  2. Tetapkan file kubeconfig sebagai variabel lingkungan:

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. Minta peran berikut:

    • Admin 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
      
    • Admin Pengelolaan Artefak Sistem:

       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
      
    • Admin Rahasia Pengelolaan Artefak Sistem:

       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
      
    • DNS Suffix Viewer:

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

       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
      
    • Mengupgrade Debugger:

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

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

    gdcloud auth configure-docker
    

Memulai upgrade

Lakukan langkah-langkah berikut untuk memulai upgrade appliance:

gdcloud appliance upgrade 

Lihat gdcloud appliance upgrade untuk mengetahui informasi selengkapnya.

Perintah ini menjalankan langkah-langkah berikut:

  1. Menjalankan pemeriksaan preflight pada mesin upgrade.
  2. Menjalankan pemeriksaan preflight untuk penyimpanan OTS
  3. Mengirim artefak ke Artifact Registry.
  4. Mengupgrade software dan firmware appliance, termasuk:
    1. Cluster root-admin GDC.
    2. Layanan GDC.
    3. Sistem operasi (OS) node fisik dan virtual.
    4. Tombol.
    5. Penyimpanan

Perintah ini mendorong update secara berurutan, dan menunggu hingga setiap langkah selesai. Setelah menyelesaikan langkah-langkah dan jika upgrade berhasil, Anda akan melihat pesan yang mirip dengan berikut ini:

The GDC appliance upgrade completed successfully