デバイスを更新してパッチを適用する

このページでは、Google Distributed Cloud(GDC)エアギャップ アプライアンス デバイスを更新してパッチを適用する手順について説明します。

アップグレードの準備

アップグレードを行う前に、このセクションに記載されている要件を満たしていることを確認してください。

始める前に

ノートパソコンの前提条件を確認して、更新と パッチのアップグレードに使用するノートパソコンが物理仕様とその他の要件を満たしていることを確認します。

gdcloud コマンドライン インターフェース(CLI)ツールに関して、次の操作を完了する必要があります。

  1. ダウンロードgdcloud CLI ツール。
  2. インストールgdcloud CLI ツール。
  3. アップグレードgdcloud CLI ツールを必要に応じて。
  4. docker-credential-gdcloud が存在することを確認します。
  5. HPE Chassis Manager がファームウェア バージョン 2.10.12 以降を実行していることを確認します。以前のファームウェア バージョンから更新する場合は、HPE Chassis Manager ファームウェアをアップグレードするをご覧ください。

アーティファクトをアップグレード マシンに転送する

Cloud Storage バケットにアクセスできる必要があります。

次の手順に沿って、更新とパッチのアップグレードに使用するノートパソコンにアーティファクトを転送します。

  1. 選択したパッチ バージョンに基づいてパッケージをダウンロードします:

    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
    

    このコマンドは、更新パッケージとダウンローダ スクリプトを現在のディレクトリ(/home/download など)にフェッチします。

  2. tree -L 3 /home/download を実行します。

    出力例:

    /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. USB ドライブを使用して、更新をエアギャップ環境にコピーします。

    手順 step 1 で USB ドライブにダウンロードしたダウンローダ スクリプトと gdch ディレクトリの両方を、エアギャップ環境のアップグレード マシンにコピーします。

  4. アップグレード マシンで、パッケージのダウンロードに使用したのと同じ情報を使用して、コンテンツを確認し、ファイルを抽出します。たとえば、次のコードはパッケージを /root ディレクトリにコピーします。

    パッケージを解凍します。

    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
    

    パッケージは /root/gdch/full-release-x.x.x-gdch.x パスに解凍されます。

  5. バージョンが VERSION で設定したバージョンと一致していることを確認します。

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

    出力例:

    gdcloud version: 1.14.4-gdch.0
    

認証

構成済みの ID プロバイダで認証し、ユーザー ID とクラスタの kubeconfig ファイルをリクエストするには、認証をご覧ください。

  1. ログインして kubeconfig ファイルを生成します。

  2. kubeconfig ファイルを環境変数として設定します。

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
    
  3. 次のロールをリクエストします。

    • アプライアンス管理者のアップグレード:

      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
      
    • システム アーティファクト管理の管理者:

       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
      
    • システム アーティファクト管理のシークレット管理者:

       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 サフィックス閲覧者:

       kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system
      
    • システム 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
      
    • デバッガのアップグレード:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding upgrade-debugger-initial-user --clusterrole=upgrade-debugger --user=keycloak-oidc-initial-user@example.com
      
    • システム Artifact Registry デバッガ:

      kubectl --kubeconfig=$KUBECONFIG create clusterrolebinding sar-debugger-initial-user --clusterrole=sar-debugger --user=keycloak-oidc-initial-user@example.com
      
  4. Docker を構成します。

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

アップグレードを開始する

アプライアンスのアップグレードを開始する手順は次のとおりです。

gdcloud appliance upgrade 

詳細については、gdcloud appliance upgrade をご覧ください。

このコマンドは次の手順を実行します。

  1. アップグレード マシンでプリフライト チェックを実行します。
  2. OTS ストレージのプリフライト チェックを実行します。
  3. アーティファクトをアーティファクト レジストリに push します。
  4. 次のようなアプライアンスのソフトウェアとファームウェアをアップグレードします。
    1. GDC ルート管理者クラスタ。
    2. GDC サービス。
    3. 物理ノードと仮想ノードのオペレーティング システム(OS)。
    4. スイッチ。
    5. ストレージ

このコマンドは、更新を順番に実行し、各ステップが完了するまで待機します。手順が完了し、アップグレードが成功すると、次のようなメッセージが表示されます。

The GDC appliance upgrade completed successfully