本页面介绍了如何使用 gkectl
为 VMware 上的 Anthos 集群 (GKE On-Prem) 的 Cloud Audit Logs、用量计量和 Stackdriver 组件轮替服务帐号密钥。
如需轮替您的服务帐号密钥,请执行以下操作:
创建用于存储当前 Secret 备份的目录:
mkdir backup
请注意相关组件的以下信息:
Cloud Audit Logs
集群 Secret 命名空间 管理 create-config kube-system 管理 create-config CLUSTER_NAME 管理 audit-logging-config kube-system 管理 kube-apiserver CLUSTER_NAME 用量计量
集群 Secret 命名空间 管理 create-config CLUSTER_NAME 用户 usage-metering-bigquery-service-account-key kube-system Stackdriver
集群 Secret 命名空间 管理 create-config kube-system 管理 create-config CLUSTER_NAME 用户 google-cloud-credentials kube-system 用户 stackdriver-service-account-key knative-serving 使用以下命令为每个 Secret 创建备份:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
其中:
NAMESPACE
是 Secret 所在的命名空间。例如kube-system
。KUBECONFIG
是管理员集群或用户集群的 kubeconfig 文件的路径。SECRET
是 Secret 的名称。例如create-config
。
例如,为 Cloud Audit Logs 组件运行以下命令:
kubectl get secret create-config --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-create-config-kube-system.json kubectl get secret create-config --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/admin-create-config-NAMESPACE.json kubectl get secret audit-logging-config --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/audit-logging-config-kube-system.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
如需创建新的服务帐号密钥文件,请运行以下命令:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
其中:
NEW_KEY_FILE
是新的服务帐号密钥文件的名称IAM_ACCOUNT
是 Cloud Audit Logs、用量计量或 Stackdriver 的服务帐号电子邮件地址。
在管理员集群和用户集群的 config yaml 文件中,找到
cloudauditlogging
、usagemetering
或stackdriver
部分。将
serviceAccountKeyPath
字段替换为您之前创建的 NEW_KEY_FILE。使用以下命令保存您所做的更改:
gkectl update credentials COMPONENT --admin-cluster --kubeconfig \ KUBECONFIG --config ADMIN_CONFIG gkectl update credentials COMPONENT --kubeconfig \ KUBECONFIG --config USER_CONFIG
其中:
KUBECONFIG
是管理员集群的 kubeconfig 文件的路径。ADMIN_CONFIG
是管理员集群的配置文件的路径。USER_CONFIG
是用户集群的配置文件的路径。COMPONENT
是cloudauditlogging
、usagemetering
或stackdriver
。