本頁面說明如何更新及修補 Google Distributed Cloud (GDC) 氣隙式設備裝置。
升級前的準備工作
升級前,請先確認是否符合本節所列需求條件。
事前準備
請參閱筆電必備條件,確認用於更新和修補程式升級的筆電符合實體規格和其他需求。
您必須先完成下列有關 gdcloud 指令列介面 (CLI) 工具的操作:
- 下載
gdcloudCLI 工具。 - 安裝
gdcloudCLI 工具。 - 視需要升級
gdcloudCLI 工具。 - 確認
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
驗證
如要透過設定的識別資訊提供者進行驗證,並為使用者身分和叢集要求 kubeconfig 檔案,請參閱「驗證」。
登入並產生 kubeconfig 檔案。
將 kubeconfig 檔案設為環境變數:
export KUBECONFIG=ROOT_ADMIN_KUBECONFIG export MANAGEMENT_KUBECONFIG=MANAGEMENT_API_KUBECONFIG要求下列角色:
升級設備管理員:
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-credsDNS 尾碼檢視者:
kubectl --kubeconfig=$MANAGEMENT_KUBECONFIG create rolebinding dnssuffix-viewer-initial-user --role=dnssuffix-viewer --user=keycloak-oidc-initial-user@example.com -n gpc-system系統構件登錄檔監控:
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:
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 --config-cert=true
開始升級
請按照下列步驟升級設備:
gdcloud appliance upgrade
詳情請參閱gdcloud appliance upgrade。
這項指令會執行下列步驟:
- 在升級機器上執行預檢。
- 執行 OTS 儲存空間的預檢
- 將構件推送至構件登錄檔。
- 升級設備軟體和韌體,包括:
- GDC 根管理員叢集。
- GDC 服務。
- 實體和虛擬節點的作業系統。
- 切換。
- 儲存空間
這項指令會依序執行更新,並等待每個步驟完成。完成上述步驟後,如果升級成功,您會看到類似以下的訊息:
The GDC appliance upgrade completed successfully