本页面介绍了更新和修补 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使用 U 盘将更新复制到经过网闸隔离的环境。
将您在第 1 步中下载到 U 盘的下载器脚本和
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请求以下角色:
Upgrade 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系统工件管理管理员:
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-systemSystem Artifact Management Secrets Admin:
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系统 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 --config-cert=true
开始升级
请按照以下步骤开始升级设备:
gdcloud appliance upgrade
如需了解详情,请参阅 gdcloud appliance upgrade。
该命令会执行以下步骤:
- 在升级机器上运行预检检查。
- 运行 OTS 存储空间的预检检查
- 将制品推送到 Artifact Registry。
- 验证 HPE Chassis Manager 是否运行固件版本
2.10.12或更高版本。- 如果 Chassis Manager 运行的固件版本低于
2.10.12,gdcloud appliance upgrade会自动将固件更新 ISO 提取到/root/gdch/full-release-x.x.x-gdch.x/images/gpc-system-firmware/EL8000CM_Updater_BI_2.10.12_App_2.10.12.hybrid.iso,并停止升级,同时显示错误提示。 - 按照升级 HPE Chassis Manager 固件中的步骤,在 iLO 中装载解压后的 ISO 并更新固件,然后重新运行
gdcloud appliance upgrade以继续升级。
- 如果 Chassis Manager 运行的固件版本低于
- 升级设备软件和固件,包括:
- GDC root-admin 集群。
- GDC 服务。
- 物理节点和虚拟节点的操作系统 (OS)。
- 开关。
- 存储
该命令会按顺序执行更新,并等待每个步骤完成。完成上述步骤后,如果升级成功,您会看到如下所示的消息:
The GDC appliance upgrade completed successfully