本主题介绍如何使用私有 Docker 镜像仓库更新 Connect Agent。有关 Connect 的信息,请参阅产品的文档。
概览
如果您选择向 Google Cloud 控制台注册 Anthos clusters on VMware (GKE On-Prem) 用户集群,则系统会在集群中创建一个名为 Connect 代理的 Kubernetes Deployment。Connect 代理会在集群和 Google Cloud 控制台之间建立长期有效的加密连接。
Google 有时会更新 Connect Agent。如果您对集群使用私有注册表,请按照以下说明更新 Connect Agent。
拉取更新后的 Connect Agent 映像
从 gcr.io
拉取 Connect Agent 映像并将其推入注册表中:
docker pull gcr.io/gkeconnect/gkeconnect-gce:release docker tag gcr.io/gkeconnect/gkeconnect-gce:release \ [PRIVATE_REGISTRY_HOST]/gkeconnect/gkeconnect-gce:release docker push [PRIVATE_REGISTRY_HOST]/gkeconnect/gkeconnect-gce:release
其中,[PRIVATE_REGISTRY_HOST] 是您的私有 Docker 镜像仓库的主机名或 IP 地址。
更新用户集群注册
更新用户集群向 Google Cloud 控制台的注册:
gcloud container fleet memberships register[USER_CLUSTER_NAME] \ --context=[CLUSTER_CONTEXT] \ --service-account-key-file=[CONNECT_SA_KEY_FILE] \ --kubeconfig=[KUBECONFIG_PATH] \ --docker-registry=[PRIVATE_REGISTRY_HOST] \ --docker-credential-file=[DOCKER_CONFIG_PATH] \ --project=[PROJECT_ID]
其中:
- [USER_CLUSTER_NAME] 是 Google Cloud 控制台中显示的已注册用户集群的名称。
- [CLUSTER_CONTEXT] 是 kubeconfig 文件中显示的集群上下文。要获取此值,请运行
kubectl config current-context
。 - [CONNECT_SA_KEY_FILE] 是连接服务帐号的 JSON 密钥文件的路径。
- [KUBECONFIG_PATH] 是用户集群的 kubeconfig 的路径。
[DOCKER_CONFIG_PATH] 是 JSON Docker 配置文件的路径。
您在上一部分
docker
命令的docker
命令中使用的config.json
文件可能有其他不必要的凭据。建议您从集群中提取凭据,以确保您不会在无意中将其他凭据添加到您的集群中:kubectl get secret regcred \ -o jsonpath='{.data.\.dockerconfigjson}' -n gke-connect | \ base64 -d \ # On BSD systems (like macOS), use base64 -D >private_registry_config.json
将所创建文件的文件路径作为
--docker-credential-file
标志的值传递,以取代上述 [DOCKER_CONFIG_PATH]。