本文档介绍了如何在 Google Distributed Cloud 中为管理员集群配置准备好的凭据。
有了准备好的凭据,您就可以将管理员集群的凭据存储在管理员集群内的 Secret 中。这样做可以提供安全保障,因为无需在管理员工作站上保留密码和服务账号密钥。
过程概览
填写 Secret 配置文件。
在管理员集群配置文件中,将 enabled 设置为 true。
运行
gkectl prepare
创建管理员集群。
填写 Secret 配置文件
为 Secret 配置文件生成模板。
gkectl create-config secrets
上述命令会生成一个名为 secrets.yaml
的文件。如果您愿意,可以更改此文件的名称和位置。
阅读 Secret 配置文件文档,熟悉配置文件。您可能希望在单独的标签页或窗口中打开此文档。
以下是 Secret 配置文件的示例。一个 Secret 组具有 vCenter 凭据和四个服务账号密钥的值:
apiVersion: v1 kind: ClusterSecrets secretGroups: - secrets vCenter: username: "my-vcenter-account" password: "U$icUKEW#INE" componentAccessServiceAccount: serviceAccountKeyPath: "my-key-folder/component-access-key.json" registerServiceAccount: serviceAccountKeyPath: "my-key-folder/connect-register-key.json" stackdriverServiceAccount: serviceAccountKeyPath: "my-key-folder/log-mon-key.json" cloudAuditLoggingServiceAccount: serviceAccountKeyPath: "my-key-folder/audit-log-key.json"
管理员集群配置文件
按照创建管理员集群中的说明创建管理员集群配置文件。
在管理员集群配置文件中,将 preparedSecrets.enabled
设置为 true
:
preparedsecrets: enabled: true
在管理员集群配置文件中,请勿为以下字段指定值。这些字段不是必需字段,因为 Google Distributed Cloud 会从您准备好的 Secret 中获取凭据和密钥。
vCenter.credentials.fileRef.path
componentAccessServiceAccountKeyPath
loadBalancer.f5BigIP.credentials.fileRef.path
gkeConnect.registerServiceAccountKeyPath
stackdriver.serviceAccountKeyPath
cloudAuditLogging.serviceAccountKeyPath
privateRegistry.credentials.fileRef.path
初始化环境
将操作系统映像导入 vSphere,并将容器映像推送到私有注册表(如果已指定)。
gkectl prepare --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG
请替换以下内容:
ADMIN_CLUSTER_CONFIG:管理员集群配置文件的路径
SECRETS_CONFIG:Secret 配置文件的路径
创建管理员集群
创建管理员集群:
gkectl create admin --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG
替换以下内容:
ADMIN_CLUSTER_CONFIG:管理员集群配置文件的路径
SECRETS_CONFIG:Secret 配置文件的路径
轮替凭据
如需轮替凭据,您需要 Secret 配置文件。您可以采用以下两种方法:
运行
gkectl create-config secrets
以生成新的 Secret 配置文件。使用新的服务账号密钥填充该文件。从管理员集群生成 Secret 配置文件。然后将选定的服务账号密钥替换为新密钥。
如需从管理员集群生成 Secret 配置文件,请运行以下命令:
gkectl get-config admin --export-secrets-config \ --bundle-path BUNDLE \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
请替换以下内容:
BUNDLE:Google Distributed Cloud 软件包文件的路径
ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
轮替凭据:
gkectl update credentials CREDENTIAL_TYPE \ --config ADMIN_CLUSTER_CONFIG \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --secret-config SECRETS_CONFIG \ --admin-cluster
替换以下内容:
CREDENTIAL_TYPE:以下各项之一:vsphere、f5bigip、privateregistry、componentaccess、register、stackdriver、cloudauditlogging。
ADMIN_CLUSTER_CONFIG:管理员集群配置文件的路径
ADMIN_CLUSTER_KUBECONFIG:管理员集群 kubeconfig 文件的路径
SECRETS_CONFIG:Secret 配置文件的路径
更新
如需更新使用准备好的凭据的管理员集群,在许多情况下,可按照更新集群中的说明操作。
但是,如果您想在更新过程中启用 Cloud Logging 和 Cloud Monitoring 或 Cloud Audit Logs,请按以下步骤操作:
生成 Secret 配置文件。
在 Secret 配置文件中,为
stackdriverServiceAccount.serviceAccountKeyPath
和cloudAuditLoggingServiceAccount.serviceAccountKeyPath
提供值,或者为两者提供值。更新集群:
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --secret-config SECRETS_CONFIG