本文档介绍如何在 GKE on VMware 中为管理员集群配置准备好的凭据。
有了准备好的凭据,您就可以将管理员集群的凭据存储在管理员集群内的 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
在管理员集群配置文件中,请勿为以下字段指定值。不需要这些字段,因为 GKE on VMware 将从您准备好的 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
以生成新的 Secrets 配置文件。使用新的服务帐号密钥填充该文件。从管理员集群生成 Secrets 配置文件。然后将选定的服务帐号密钥替换为新密钥。
如需从管理员集群生成 Secrets 配置文件,请执行以下操作:
gkectl get-config admin --export-secrets-config \ --bundle-path BUNDLE \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
替换以下内容:
BUNDLE:GKE on VMware 软件包文件的路径
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,请按以下步骤操作:
生成 Secrets 配置文件。
在您的 Secret 配置文件中,为
stackdriverServiceAccount.serviceAccountKeyPath
和/或cloudAuditLoggingServiceAccount.serviceAccountKeyPath
提供值。更新集群:
gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --secret-config SECRETS_CONFIG