轮替服务账号密钥

如需在 GKE on Bare Metal 中轮替服务帐号密钥,请使用 bmctl 命令更新现有集群凭据。此服务账号密钥轮替可能作为更新凭据的常规流程的一部分,或者为了应对密钥的潜在泄露。更新集群凭据时,新信息将传递到管理员集群或混合集群,或者自动路由到由管理员集群管理的受影响用户集群。

可更新的集群凭据

GKE on Bare Metal 集群在创建时需要多个凭据。您可以在创建管理员集群、独立集群或混合集群时在集群配置中设置凭据。如上所述,用户集群由管理员集群(或作为管理员集群的混合集群)管理,并将重复使用管理员集群中的相同凭据。

如需详细了解如何创建集群以及不同的集群类型,请参阅安装概览:选择部署模型

您可以使用 bmctl 命令在 GKE on Bare Metal 集群中更新以下凭据及其对应的密文:

  • SSH 私钥:用于节点访问。
  • Container Registry 密钥 (anthos-baremetal-gcr):用于向 Container Registry 进行身份验证以拉取映像的服务账号密钥。
  • Connect Agent 服务账号密钥 (anthos-baremetal-connect):Connect Agent pod 使用的服务账号密钥。
  • Connect 注册表服务账号密钥 (anthos-baremetal-register):用于在注册或取消注册集群时向 Hub 进行身份验证的服务账号密钥。
  • Cloud Operations 服务帐号密钥 (anthos-baremetal-cloud-ops):使用 Google Cloud Observability(日志记录和监控)API 进行身份验证的服务帐号密钥。

使用 bmctl 更新凭据

当您创建集群时,GKE on Bare Metal 会根据您的凭据密钥创建 Kubernetes Secret。如果您生成新密钥,则必须按照以下步骤更新相应的 Secret。如果密钥的名称或路径发生更改,您还必须更新相应的集群配置文件。

  1. 为要更新的凭据准备新值:

    • 您可以通过 gcloud 命令或通过 Google Cloud 控制台生成新的 Google 服务账号密钥

    • 在管理员工作站上生成新的 SSH 私钥,并确保集群节点机器具有相应的公钥。

  2. 使用新密钥的路径更新集群配置文件的凭据部分。

  3. 使用 bmctl update credentials 命令更新相应的集群 Secret,添加下述适当的标志。

    例如,此例中 bmctl 更新新 SSH 私钥的凭据,其中 ADMIN_KUBECONFIG 指定管理员集群、混合集群或独立集群的 kubeconfig 的路径,SSH_KEY_PATH 指定新 SSH 私钥的路径,CLUSTER_NAME 指定集群的名称:

    bmctl update credentials --kubeconfig ADMIN_KUBECONFIG --ssh-private-key-path
    SSH_KEY_PATH --cluster CLUSTER_NAME
    

您可以使用 bmctl 指定以下标志以更新凭据:

标志 说明
--kubeconfig 必需,管理员集群、混合集群或独立集群的 kubeconfig 的路径
--cluster 必需,管理员集群、混合集群或独立集群的名称
--ssh-private-key-path 新 SSH 私钥的路径
--gcr-key-path 新 Container Registry 服务账号密钥的路径
--gke-connect-agent-service-account-key-path 新 Connect 代理服务账号密钥的路径
--gke-connect-register-service-account-key-path 新 Connect 注册服务账号密钥的路径
--cloud-operations-service-account-key-path 新的 Google Cloud Observability 服务帐号密钥的路径