本页面介绍如何更新 Connect Agent 的版本,或如何轮替 Connect Agent 服务账号密钥。
Connect Agent 更新
Connect Agent 会定期自动更新,并且在更新时不会中断运行。
但是,您也可以通过注册集群来手动将 Connect Agent 更新为最新版本。gcloud
提取最新推出的 Connect Agent 并在集群中重新安装。
轮替 Connect Agent 服务账号密钥
建议您定期轮替服务账号密钥等长期有效的凭据。如需轮替 Connect Agent 使用的服务账号密钥,请执行以下步骤:
做好准备:
PROJECT=[PROJECT_ID] NAMESPACE=$(kubectl get ns -o jsonpath={.items..metadata.name} -l hub.gke.io/project) SERVICE_ACCOUNT=$(kubectl get secrets -n $NAMESPACE creds-gcp \ -o jsonpath='{.data.creds-gcp\.json}' | base64 -d | grep client_email \ | awk '{print $2}' | tr -d '",') OLD_KEY_ID=$(kubectl get secrets -n $NAMESPACE creds-gcp \ -o jsonpath='{.data.creds-gcp\.json}' | base64 -d | grep private_key_id \ | awk '{print $2}' | tr -d '",')
其中,[PROJECT_ID] 是您的项目的唯一 ID。您可以在 Google Cloud 控制台中或者通过运行
gcloud config get-value project
来找到此 ID。创建新密钥:
gcloud iam service-accounts keys create --iam-account=$SERVICE_ACCOUNT creds-gcp.json
覆盖代理中的现有密钥:
这将使代理使用新密钥重启,然后使用新凭据重新建立隧道。
kubectl create secret -n $NAMESPACE generic creds-gcp \ --from-file=./creds-gcp.json --dry-run -o yaml | kubectl replace -f -
在代理的 Pod 上检查您的日志以确保它已重新连接:
kubectl logs -n $NAMESPACE -l app=gke-connect-agent
删除旧密钥:
gcloud iam service-accounts keys delete --iam-account=$SERVICE_ACCOUNT $OLD_KEY_ID
删除新密钥的本地副本:
我们建议您不要保留密钥。如果您丢失了密钥并需要重新安装代理,我们建议您轮替密钥。
shred creds-gcp.json