创建管理员集群(基本)

本页面介绍了如何创建管理员集群。

通过 SSH 连接到管理员工作站

上一主题中,您使用 gkeadm 创建了管理员工作站。您应该还记得,gkeadm 在管理员工作站上激活了您的组件访问服务帐号。

按照与管理员工作站建立 SSH 连接中的说明,通过 SSH 连接到管理员工作站。

在管理员工作站上完成本主题中的所有其余步骤。

为您的管理员集群配置静态 IP

如需指定您要用于管理员集群的静态 IP 地址,请创建名为 admin-cluster-ipblock.yamlIP 地址块文件。在本练习中,您需要指定五个 IP 地址以供管理员集群使用。

下面是一个具有五个主机的 IP 地址块文件的示例:

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5

ips 字段是 IP 地址和主机名的数组。它们是 GKE On-Prem 将分配给管理员集群节点的 IP 地址和主机名。

在 IP 地址块文件中,您还可以为管理员集群节点指定子网掩码和默认网关。

创建凭据配置文件

创建名为 admin-creds.yaml凭据配置文件,用于保存 vCenter 用户帐号的用户名和密码。用户帐号应具有 Administrator 角色或同等特权。

以下是凭据配置文件的示例:

apiVersion: v1
kind: "CredentialFile"
items:
- name: "vcenter-creds"
  username: "my-vcenter-account"
  password: "U$icUKEW#INE"

GKE On-Prem 配置文件中的填充字段

回想一下,在创建管理员工作站时,您填写了名为 admin-ws-config.yaml 的配置文件。gkeadm 命令行工具使用 admin-ws-config.yaml 文件创建管理员工作站。

gkeadm 创建管理员工作站后,它会生成另一个名为 admin-cluster.yaml 的配置文件。此配置文件位于您的管理员工作站上,用于创建您的管理员集群。

admin-cluster.yaml 文件有多个字段与 admin-ws-config.yaml 文件中的某些字段相同,或者与这些字段密切相关。这些字段的值已填充到您的 admin-cluster.yaml 文件中。

以下是 admin-cluster.yaml 中的字段,这些字段已根据您在 admin-ws-config.yaml 文件中输入的值进行了填充:

vCenter:
  address:
  datacenter:
  cluster:
  network:
    vCenter:
      networkName:
  resourcePool:
  datastore:
  caCertPath:
proxy:
  url:
gcrKeyPath:

admin-cluster.yaml 中的其他几个字段已填充默认值或生成的值。例如:

bundlePath:
loadbalancer
  seesaw:
    cpus:
    memoryMB:
    enableHA:
stackdriver:
  projectID:
  serviceAccountKeyPath:

admin-cluster.yaml 文件中,保持所有填充的值不变。

填写管理员集群配置文件的其余部分

接下来,您需要填写 admin-cluster.yaml 文件中的其余字段。

vCenter.credentials.fileRef.path

字符串。凭据配置文件的路径。例如:

vCenter:
  credentials:
    fileRef:
      path: "admin-creds.yaml"

vCenter.credentials.fileRef.entry

字符串。凭据配置文件中的凭据块名称,该文件包含您的 vCenter 用户帐号的用户名和密码。例如:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.dataDisk

字符串。GKE On-Prem 会创建一个虚拟机磁盘 (VMDK) 来保存管理员集群的 Kubernetes 对象数据。安装程序会为您创建 VMDK,但您必须在 vCenter.dataDisk 字段中提供 VMDK 的名称。例如:

vCenter:
  dataDisk: "my-disk.vmdk"
vSAN 数据存储区:为 VMDK 创建文件夹

如果您使用的是 vSAN 数据存储区,则需要将 VMDK 放在一个文件夹中。您必须提前手动创建文件夹。为此,您可以使用 govc 创建文件夹:

govc datastore.mkdir -namespace=true my-gke-on-prem-folder

然后将 vCenter.dataDisk 设置为 VMDK 的路径(包括文件夹)。例如:

vDenter:
dataDisk: "my-gke-on-prem-folder/my-disk.vmdk"

network.ipMode.type

字符串。将此项设置为 "static"

network:
  ipMode:
    type: "static"

network.ipBlockFilePath

字符串。由于您使用的是静态 IP 地址,因此必须有一个 IP 地址块文件,如配置静态 IP 地址中所述。将 network.ipBlockFilePath 设置为 IP 地址块文件的路径。例如:

network:
  ipBlockFilePath: "/my-config-directory/admin-cluster-ipblock.yaml"

network.serviceCIDRnetwork.podCiDR

字符串。管理员集群必须拥有用于 Service 的 IP 地址范围以及用于 pod 的 IP 地址范围。这些范围由 network.serviceCIDRnetwork.podCIDR 字段指定。这些字段会填充默认值。您也可以将填充值更改为您选择的值。

Service 和 pod 范围不得重叠。此外,Service 和 pod 范围不得与任何集群中节点的 IP 地址重叠。

例如:

network:
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"

loadBalancer.vips

字符串。将 loadBalancer.vips.controlPlaneVIP 的值设置为您已选择在负载平衡器上为管理员集群的 Kubernetes API 服务器配置的 IP 地址。将 loadBalancer.vips.addonsVIP 的值设置为您已在负载平衡器上为插件配置的 IP 地址。例如:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"
    addonsVIP: "203.0.113.4"

loadBalancer.kind

字符串。将此项设置为 "Seesaw"。例如:

loadBalancer:
  kind: "Seesaw"

loadBalancer.seesaw.ipBlockFilePath

字符串。将此项设置为 Seesaw 虚拟机的 IP 地址块文件路径。

例如:

loadbalancer:
  seesaw:
    ipBlockFilePath: "admin-seesaw-ipblock.yaml"

loadBalancer.seesaw.vird

整数。您的 Seesaw 虚拟机的虚拟路由器标识符。此标识符在 VLAN 中必须具有唯一性。有效范围为 1-255。例如:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

字符串。您选择的 Seesaw 虚拟机将公告的 IP 地址。例如:

loadBalancer:
  seesaw:
    masterIP: "172.16.20.21"

loadBalancer.seesaw.enableHA

布尔值。将此项设置为 false。例如:

loadBalancer:.
  seesaw:
    enableHA: false

proxy.url

字符串。如果您在管理员工作站配置文件中输入了 proxyURL 的值,则此字段已填充该值。

如果您希望管理员集群和用户集群位于与管理员工作站不同的代理后面,请将此字段设置为您希望集群使用的代理服务器的 HTTP 地址。即使端口号与架构的默认端口相同,也必须包含端口号。例如:

proxy:
  url: "http://my-proxy.example.local:80"

proxy.noProxy

字符串。不应通过代理服务器的 IP 地址、IP 地址范围、主机名和域名的列表。当 GKE On-Prem 向其中一个地址、主机或网域发送请求时,该请求会直接发送。 例如:

proxy:
  noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"

stackdriver.clusterLocation

字符串。您要在其中存储日志的 Google Cloud 地区。建议选择一个靠近您的本地数据中心的地区。例如:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

布尔值。如果集群的网络由 VPC 控制,请将 stackdriver.enableVPC 设置为 true。这样可以确保所有遥测流都通过 Google 的受限 IP 地址。否则,请将其设置为 false。例如:

stackdriver:
  enableVPC: false

管理员集群配置文件中的其他字段

除了本主题中显示的字段之外,管理员集群配置文件还有几个字段。如需了解配置文件中字段的完整说明,请参阅管理员集群配置文件

验证管理员集群配置文件

修改管理员集群配置文件后,请运行 gkectl check-config 以验证该文件是否有效以及是否可用于创建集群:

gkectl check-config --config admin-cluster.yaml

如果该命令返回任何 FAILURE 消息,则您必须修复问题,然后再次验证文件。

如果您想跳过更耗时的验证,请传递 --fast 标志。如需跳过各项验证,请使用 --skip-validation-xxx 标志。如需详细了解 check-config 命令,请参阅运行预检检查

运行 gkectl prepare

运行 gkectl prepare 以初始化您的 vSphere 环境:

gkectl prepare --config admin-cluster.yaml

创建负载平衡器

为您的 Seesaw 负载平衡器创建并配置虚拟机:

gkectl create loadbalancer --config admin-cluster.yaml

创建管理员集群

创建管理员集群:

gkectl create admin --config admin-cluster.yaml