如需在 Google Distributed Cloud 中轮替服务帐号密钥,请使用 bmctl
命令更新现有集群凭据。此服务账号密钥轮替可能作为更新凭据的常规流程的一部分,或者为了应对密钥的潜在泄露。更新集群凭据时,新信息将传递到管理员集群或混合集群,或者自动路由到由管理员集群管理的受影响用户集群。
可更新的集群凭据
Google Distributed Cloud 集群在创建时需要多个凭据。创建管理员集群、独立集群或混合集群时,您可以在集群配置中设置凭据。如前所述,用户集群由管理员集群(或充当管理员的混合集群)管理,并将重复使用管理员集群的相同凭据。
如需详细了解如何创建集群以及不同的集群类型,请参阅安装概览:选择部署模型。
您可以使用 bmctl
命令更新 Google Distributed Cloud 集群中的以下凭据及其对应的密钥:
- SSH 私钥:用于节点访问。
- Container Registry 密钥 (
anthos-baremetal-gcr
):用于向 Container Registry 进行身份验证以拉取映像的服务账号密钥。 - Connect Agent 服务账号密钥 (
anthos-baremetal-connect
):Connect Agent pod 使用的服务账号密钥。 - Connect 注册表服务账号密钥 (
anthos-baremetal-register
):用于在注册或取消注册集群时向 Hub 进行身份验证的服务账号密钥。 - Cloud 操作服务帐号密钥 (
anthos-baremetal-cloud-ops
):用于向 Google Cloud Observability(日志记录和监控)API 进行身份验证的服务账号密钥。
使用 bmctl
更新凭据
当您创建集群时,Google Distributed Cloud 会根据您的凭据密钥创建 Kubernetes Secret。如果您生成新密钥,则必须按照以下步骤更新相应的 Secret。如果密钥的名称或路径发生更改,您还必须更新相应的集群配置文件。
为要更新的凭据准备新值:
您可以通过 Google Cloud CLI 或 Google Cloud 控制台生成新的 Google 服务帐号密钥。
在管理员工作站上生成新的 SSH 私钥,并确保集群节点机器具有相应的公钥。
使用新密钥的路径更新集群配置文件的凭据部分。
使用
bmctl update credentials
命令更新相应的集群 Secret,并添加适当的标志。以下示例将更新新 SSH 私钥的凭据:
bmctl update credentials --kubeconfig ADMIN_KUBECONFIG \ --cluster CLUSTER_NAME \ --ssh-private-key-path SSH_KEY_PATH
请替换以下内容:
ADMIN_KUBECONFIG
:管理员或自行管理集群的 kubeconfig 文件的路径。CLUSTER_NAME
:您要为其更新 SSH 密钥的集群的名称。SSH_KEY_PATH
:SSH 密钥文件的路径。默认情况下,bmctl
会检查集群配置文件中指定的 SSH 和服务帐号密钥文件。如果bmctl
找到过期的密钥文件,命令将失败。如果新的有效密钥文件位于与配置文件中指定的位置不同的位置,请添加--ignore-validation-errors
标志以避免此故障。
如需查看可与
bmctl update credentials
命令搭配使用的标志的完整列表,请参阅bmctl
命令参考中的更新凭据。