本页面适用于平台管理员。
您可以使用 Anthos Management Center Console 或 kubectl
创建用户集群。
准备工作
在创建集群之前,确保基础架构运维者已注册所需的机器和 VIP 资源。
管理中心
在 Management Center Console 中,打开集群菜单。
在集群页面中,点击
创建集群以创建新的 Anthos 用户集群。使用集群配置页面配置新的用户集群:
使用
添加节点池按钮向集群添加节点池。使用节点池表单为节点池命名,并将工作器节点分配给节点池。
创建集群后,它会自动注册到管理中心,并立即显示在集群信息中心内。
kubectl
使用以下命令创建要注册到管理员集群的 Cluster 和 NodePool 资源:
kubectl apply -f USER_CLUSTER_YAML --kubeconfig=ADMIN_KUBECONFIG
请替换以下内容:
- USER_CLUSTER_YAML:用户集群和节点池的 YAML 清单。请参阅用户集群和节点池示例配置文件。
- ADMIN_KUBECONFIG:管理员集群 kubeconfig 文件。
如果您要使用管理员集群配置文件作为用户集群配置的基础,请修改用户集群配置文件中的以下字段:
- 移除顶端的
sshPrivateKeyPath
、privateRegistry
、privateRegistryConfigPath
、privateRegistryTLSCertPath
字段。 - 确保
<cluster-name>
在配置之间保持一致。 - Cluster.spec.type 应为用户,这与管理员集群的集群类型不同。
- Cluster.metadata.namespace 应为
cluster-<cluster-name>
,其中<cluster-name>
是要创建的用户集群的名称。 - 确保
Cluster.spec.loadBalancer.vips.controlPlaneVIP
和Cluster.spec.loadBalancer.addressPools
不与其他集群的配置重叠。 - Cluster.spec.loadBalancer.addressPools 包含分配给 LoadBalancer 类型的服务的 IP 地址范围。它可以接受多个地址池。创建多个具有不同名称的地址池后,您便可以创建服务并为每项服务分配特定的地址池。在创建服务时,您需要向服务的注释添加
metallb.universe.tf/address-pool: <address-pool-name>
。如果稍后需要扩展服务使用的范围,可以通过修改用户集群kubectl edit cluster user-cluster-name --kubeconfig admin_kubeconfig -n user-cluster-name
来添加其他地址池。您无法更改现有地址池。下面给出了一个示例。 - Nodepool.metadata.name 应采用
<cluster-name>-worker-node-pool
格式。 - Nodepool.metadata.namespace 应为
cluster-<cluster-name>
,metadata.name 应与集群中的集群名称匹配。
loadBalancer:
addressPools:
- addresses:
- 10.200.0.112-10.200.0.119
name: pool1
- addresses:
- 10.200.0.120-10.200.0.121
name: pool2
验证集群状态
集群最多可能需要 15 分钟才能引导完毕并准备就绪。在等待期间,您可以使用以下命令检查用户集群的状态:
kubectl get Cluster -n cluster-USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
将 USER_CLUSTER_NAME 替换为您创建的集群的名称。
当集群的状态为 ready
时,即表示用户集群已成功创建并注册到管理员集群。
下载 kubeconfig 文件
创建用户集群后,您可以从管理中心下载 kubeconfig 文件。
- 在 Management Center Console 中,打开集群菜单。
- 在集群页面中,点击集群名称。
- 在集群配置页面中,下载 kubeconfig 文件:
- 基础架构运维者和平台管理员可以点击下载根 kubeconfig。
- 只读用户可以点击下载只读 kubeconfig。
kubeconfig 文件将下载到您的系统。