本文档介绍如何从现有集群生成一组配置文件。
创建集群的一种方法是使用 gkectl
命令行工具。首先,为集群创建一组配置文件。然后,运行以下某条命令:
gkectl create admin
,用于创建管理员集群gkectl create cluster
,用于创建用户集群
随着时间的推移,您的原始配置文件可能会与集群的实际状态不同步。例如,如果您通过修改自定义资源来更新集群,则您的原始配置文件可能不是集群的准确表述。
创建集群的另一种方法是使用 Google Cloud 控制台,在这种情况下,您没有任何集群配置文件。之后,您可能需要集群配置文件,以便对集群进行某些更新。
如果您怀疑原始配置文件与集群不同步,或者没有配置文件,则可以使用 gkectl get-config
命令生成一组新配置文件,用于准确表述集群的当前状态。
您可以将 gkectl get-config
用于:
- 用户集群
- 没有高可用性控制平面的管理员集群。
您不能将 gkectl get-config
与具有高可用性控制平面的管理员集群搭配使用。
生成配置文件
如需为用户集群生成一组新的配置文件,请运行以下命令:
gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --cluster-name USER_CLUSTER_NAME
替换以下内容:
ADMIN_CLUSTER_KUBECONFIG:管理员集群的 kubeconfig 文件的路径。
USER_CLUSTER_NAME:用户集群的名称
如需为管理员集群生成一组新的配置文件,请运行以下命令:
gkectl get-config admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --bundle-path BUNDLE
替换以下内容:
ADMIN_CLUSTER_KUBECONFIG:管理员集群的 kubeconfig 文件
BUNDLE:GKE on VMware 软件包文件的路径。软件包文件位于管理员工作站上,通常位于
/var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz
中。如果您还没有软件包文件,可以下载一个。
默认情况下,生成的配置文件会写入当前目录的子目录。对于用户集群,输出目录名为 user-cluster-config-output
。对于管理员集群,输出目录名为 admin-cluster-config-output
。
如果您希望将生成的文件放在其他目录中,可以使用 --output-dir
参数指定输出目录的路径。例如:
gkectl get-config cluster --kubeconfig my-kubeconfig \ --cluster-name my-cluster \ --output-dir /home/me/configuration/generated-files
如果默认输出目录或指定的输出目录中已有文件,则必须添加 --force
标志,以便新生成的文件将替换现有文件。否则,该命令将失败。例如:
gkectl get-config cluster --kubeconfig my-kubeconfig \ --cluster-name my-cluster \ --output-dir /home/me/configuration/generated-files --force
为管理员集群生成的文件
文件名 | 说明 |
---|---|
admin-cluster.yaml |
管理员集群配置文件
始终生成 |
admin-cluster-creds.yaml |
集群凭据文件
始终生成 |
component-access-key.json |
您的组件访问服务账号的 JSON 密钥文件
始终生成 |
vcenter-ca-cert.pem |
vCenter 服务器的根证书
始终生成 |
admin-cluster-ipblock.yaml |
集群节点的 IP 地址块文件
如果集群节点使用静态 IP 地址,则生成此文件 |
admin-seesaw-ipblock.yaml |
Seesaw 虚拟机的 IP 地址块文件
如果集群使用 Seesaw 负载均衡器,则生成此文件 |
connect-register-key.json |
您的连接注册服务账号的 JSON 密钥文件
始终生成 |
private-registry-ca.crt |
您的私有注册表服务器的根证书
如果集群使用私有注册表,则生成此证书 |
stackdriver-key.json |
日志记录监控服务账号的 JSON 密钥文件
如果集群配置为将日志和指标导出到 Cloud Logging 和 Cloud Monitoring,则生成此文件(集群配置文件中的 stackdriver 部分) |
audit-logging-key.json |
审核日志记录服务账号的 JSON 密钥文件
如果集群使用 Cloud Audit Logs,则生成此文件 |
为用户集群生成的文件
文件名 | 说明 |
---|---|
user-cluster.yaml |
用户集群配置文件
始终生成 |
user-cluster-creds.yaml |
集群凭据文件
在集群未使用准备好的凭据时生成此文件 |
vcenter-ca-cert.pem |
vCenter 服务器的根证书
始终生成 |
user-cluster-ipblock.yaml |
集群节点的 IP 地址块文件
如果集群节点使用静态 IP 地址,则生成此文件 |
user-seesaw-ipblock.yaml |
Seesaw 虚拟机的 IP 地址块文件
如果集群使用 Seesaw 负载均衡器,则生成此文件 |
private-registry-ca.crt |
您的私有注册表服务器的根证书
如果集群使用私有注册表,则生成此证书 |
component-access-key.json |
组件访问服务账号的 JSON 密钥文件
如果集群未使用私有注册表,则生成此文件 |
connect-register-key.json |
您的连接注册服务账号的 JSON 密钥文件
始终生成 |
stackdriver-key.json |
日志记录监控服务账号的 JSON 密钥文件
如果集群配置为将日志和指标导出到 Cloud Logging 和 Cloud Monitoring,则生成此文件(集群配置文件中的 stackdriver 部分) |
audit-logging-key.json |
审核日志记录服务账号的 JSON 密钥文件
如果集群使用 Cloud Audit Logs,则生成此文件 |
usage-metering-key.json |
用量计量服务账号的 JSON 密钥文件
如果集群将用量数据存储在 BigQuery 数据集中,则生成此文件 |
secrets.yaml |
Secret 配置文件
如果集群使用准备好的凭据,则生成此文件 要生成此文件,您必须在 gkectl get-config cluster 命令中添加 --export-secrets-config 标志。 |
sni-cert.pem |
Kubernetes API 服务器的附加服务证书
如果集群配置为使用服务器名称指示 (SNI),则生成此证书 |
sni-key.json |
附加服务证书的私钥文件
如果将集群配置为使用 SNI,则生成此文件 |