このページでは、Google Distributed Cloud(GDC)のエアギャップ アプライアンス デバイスを更新してパッチを適用する手順について説明します。
アップグレードの準備
アップグレードの前に、このセクションに記載されている要件を満たしていることを確認してください。
始める前に
ノートパソコンの前提条件を確認して、更新とパッチのアップグレードに使用するノートパソコンが物理仕様などの要件を満たしていることを確認します。
まず、gdcloud
コマンドライン インターフェース(CLI)ツールに関して次の操作を完了する必要があります。
gdcloud
CLI ツールをダウンロードします。gdcloud
CLI ツールをインストールします。- 必要に応じて
gdcloud
CLI ツールをアップグレードします。 docker-credential-gdcloud
が存在することを確認します。
アーティファクトをアップグレード マシンに転送する
Cloud Storage バケットにアクセスできる必要があります。
更新とパッチのアップグレードに使用するノートパソコンにアーティファクトを転送する手順は次のとおりです。
選択したパッチ バージョンに基づいてパッケージをダウンロードする:
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
など)に取得します。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
USB ドライブを使用して、更新をエアギャップ環境にコピーします。
ステップ 1 で USB ドライブにダウンロードしたダウンローダ スクリプトと
gdch
ディレクトリの両方を、エアギャップ環境のアップグレード マシンにコピーします。アップグレード マシンで、パッケージのダウンロードに使用したのと同じ情報を使用して、コンテンツを確認し、ファイルを抽出します。たとえば、次のコードはパッケージを
/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
パスで解凍されます。バージョンが VERSION で設定したバージョンと一致することを確認します。
/root/gdch/full-release-x.x.x-gdch.x/gdcloud version
出力例:
gdcloud version: 1.14.4-gdch.0
認証
構成済みの ID プロバイダで認証し、ユーザー ID とクラスタの kubeconfig ファイルをリクエストするには、認証をご覧ください。
ログインして、kubeconfig ファイルを生成します。
kubeconfig ファイルを環境変数として設定します。
export KUBECONFIG=ROOT_ADMIN_KUBECONFIG export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG
次のロールをリクエストします。
Upgrade Appliance Admin:
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
システム アーティファクト管理管理者:
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 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
システム 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
Docker を構成します。
gdcloud auth configure-docker
アップグレードを開始する
アプライアンスのアップグレードを開始する手順は次のとおりです。
gdcloud appliance upgrade
詳細については、gdcloud appliance upgrade
をご覧ください。
このコマンドは、次の手順を実行します。
- アップグレード マシンでプリフライト チェックを実行します。
- OTS ストレージのプリフライト チェックを実行します
- アーティファクトをアーティファクト レジストリに push します。
- アプライアンスのソフトウェアとファームウェアをアップグレードします。これには次のものが含まれます。
- GDC ルート管理クラスタ。
- GDC サービス。
- 物理ノードと仮想ノードのオペレーティング システム(OS)。
- 切り替え。
- ストレージ
このコマンドは、更新を順番に実行し、各ステップの完了を待ちます。手順を完了し、アップグレードが成功すると、次のようなメッセージが表示されます。
The GDC appliance upgrade completed successfully