管理员工作站配置文件

本页面介绍 GKE on VMware 管理员工作站配置文件中的字段。

生成配置文件模板

下载 gkeadm 命令行工具。

要生成模板,请运行以下命令:

./gkeadm create config --config=OUTPUT_FILENAME

OUTPUT_FILENAME 替换为您为生成的模板选择的路径。如果省略此标志,则 gkeadm 将该文件命名为 admin-ws-config.yaml,并将其放在当前目录中。

模板

填写配置文件

在配置文件中,按照以下部分的说明输入字段值。

gcp

本部分包含有关组件访问服务账号的信息。

gcp.componentAccessServiceAccountKeyPath

字符串。组件访问服务账号的 JSON 密钥文件的路径。如需了解如何创建 JSON 密钥文件,请参阅组件访问服务账号

例如:

gcp:
  componentAccessServiceAccountKeyPath: "my-key-folder/component-access-key.json"

vCenter

本部分包含有关您的 vSphere 环境的信息。

vCenter.credentials.address

字符串。您的 vCenter 服务器的 IP 地址或主机名。

在填写 address 字段之前,请下载并检查您的 vCenter 服务器的服务证书。输入以下命令以下载证书并将其保存到名为 vcenter.pem 的文件中。

true | openssl s_client -connect VCENTER_IP:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem

VCENTER_IP 替换为您的 vCenter Server 的 IP 地址。

打开证书文件以查看主题通用名称和主题备用名称:

openssl x509 -in vcenter.pem -text -noout

输出会显示 Subject 通用名称 (CN)。这可能是 IP 地址,也可能是主机名。例如:

Subject: ... CN = 203.0.113.100
Subject: ... CN = my-host.my-domain.example

输出还可能在 Subject Alternative Name 下包含一个或多个 DNS 名称:

X509v3 Subject Alternative Name:
    DNS:vcenter.my-domain.example

选择 Subject 通用名称或 Subject Alternative Name 下的一个 DNS 名称,以在配置文件中用作 vcenter.credentials.address 的值。例如:

vCenter:
  credentials:
    address: "203.0.113.1"
    ...
vCenter:
  credentials:
    address: "my-host.my-domain.example"
    ...

vCenter.credentials.fileRef.path

字符串。凭据配置文件的路径,该文件包含您的 vCenter 用户账号的用户名和密码。用户账号应具有 Administrator 角色或同等特权。请参阅 vSphere 要求

当您运行 gkeadm create config 时,它会为管理员工作站配置文件创建一个名为 admin-ws-config.yaml 的模板。它还会为凭据配置文件创建一个名为 credential.yaml 的模板。

示例:

vCenter:
  credentials:
    fileRef:
      path: "credential.yaml"

vCenter.credentials.fileRef.entry

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

credential.yaml 中,gkeadm 会自动创建名为 vCenter 的凭据块。

示例:

vCenter:
  credentials:
    fileRef:
      entry: "vCenter"

vCenter.datacenter

字符串。您的 vCenter 数据中心的名称。例如:

vCenter:
  datacenter: "MY-DATACENTER"

vCenter.datastore

字符串。vCenter 数据存储区的名称。例如:

vCenter:
  datastore: "MY-DATASTORE"

vCenter.cluster

字符串。您的 vCenter 集群的名称。例如:

vCenter:
  cluster: "MY-CLUSTER"

vCenter.network

字符串。要在其中创建管理员工作站的 vCenter 网络的名称。例如:

vCenter:
  network: "MY-VM-NETWORK"

vCenter.folder

字符串。您的虚拟机集群所在的数据中心内的文件夹。 例如:

vCenter:
  folder: "MY-FOLDER"

vCenter.resourcePool

字符串。如果您使用的是非默认资源池,请提供您的 vCenter 资源池的名称。例如:

vCenter:
  resourcePool: "MY-POOL"

如果您使用的是默认资源池,请提供以下值:

vCenter:
  resourcePool: "MY_CLUSTER/Resources"

MY_CLUSTER 替换为您的 vCenter 集群的名称。

请参阅为独立主机指定根资源池

vCenter.caCertPath

字符串。当客户端(如 GKE on VMware)向您的 vCenter 服务器发送请求时,服务器必须通过提供证书或证书集合来向客户端证明其身份。为了验证证书或证书集合,GKE on VMware 必须具有信任链中的根证书。

vCenter.caCertPath 设置为根证书的路径。例如:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"

VMware 安装的证书授权机构 (CA) 会向您的 vCenter 服务器颁发证书。信任链中的根证书是由 VMware 创建的自签名证书。

如果您不想使用默认的 VMWare CA,则可以将 VMware 配置为使用其他证书授权机构

如果您的 vCenter 服务器使用默认 VMware CA 颁发的证书,请按如下方式下载该证书:

curl -k "https://SERVER_ADDRESS/certs/download.zip" > download.zip

SERVER_ADDRESS 替换为您的 vCenter 服务器的地址。

安装 unzip 命令并解压缩证书文件:

sudo apt-get install unzip
unzip download.zip

如果首次解压缩命令无效,请再次输入该命令。

certs/lin 中可找到证书文件。

proxyUrl

字符串:如果用于运行 gkeadm 的机器使用代理服务器访问互联网,请将此字段设置为代理服务器的网址。例如:

proxyUrl: "https://my-proxy.example.local"

adminWorkstation

本部分包含有关您的管理员工作站的信息。

adminWorkstation.name

字符串。管理员工作站的名称。此字段填充了生成的值。您可以保留生成的值或提供您选择的其他名称。例如:

adminWorkstation
  name: "gke-admin-ws-200617-113711"

adminWorkstation.cpus

整数。管理员工作站的虚拟 CPU 数量。例如:

adminWorkstation:
  cpus: 4

adminWorkstation.memoryMB

整数。管理员工作站的内存大小(以 MB 为单位)。例如:

adminworkstation:
  memoryMB: 8192

adminWorkstation.diskGB

整数。管理员工作站的启动磁盘大小(以 GB 为单位)。 我们建议至少使用 100 GB。例如:

adminWorkstation:
  diskGB: 100

adminWorkstation.dataDiskName

字符串。要装载到主目录的永久性磁盘的名称。此字段填充了生成的值。您可以保留生成的值或提供您选择的名称。必须以 .vmdk 结尾。必须在部署之前创建所提供的路径中的任何目录。如果没有为此字段设置值,则默认为:

gke-on-prem-admin-workstation-data-disk/ADMIN_WORKSTATION_NAME-data-disk.vmdk

例如:

adminWorkstation:
  dataDiskName: "gke-on-prem-admin-workstation-data-disk/gke-admin-ws-200617-113711-data-disk.vmdk"

adminWorkstation.dataDiskMB

整数。数据磁盘的大小(以 MB 为单位)。如果没有为此字段设置值,则默认为 512。例如:

adminWorkstation:
  dataDiskMB: 512

adminWorkstation.network.ipAllocationMode

字符串。如果您希望管理员工作站从 DHCP 服务器获取其 IP 地址,请将此值设置为 "dhcp"。如果您希望管理员工作站拥有您选择的静态 IP 地址,请将此值设置为 "static"。例如:

adminWorkstation:
  network:
    ipAllocationMode: "static"

adminWorkstation.network.hostconfig

如果您将 ipAllocationMode 设置为 "static",请填写此部分中的字段。

如果您将 ipAllocationMode 设置为 "dhcp",请移除此部分或将其注释掉。

adminWorkstation.network.hostConfig.ip

字符串。您为自己的管理员工作站选择的 IP 地址。例如:

adminWorkstation:
  network:
    hostconfig:
      ip: "172.16.5.1"

adminWorkstation.network.hostConfig.gateway

字符串。包含您的管理员工作站的网络的默认网关 IP 地址。例如:

adminWorkstation:
  network:
    hostconfig:
      gateway: "172.16.6.254"

adminWorkstation.network.hostConfig.netmask

字符串。包含您的管理员工作站的网络的网络掩码。例如:

adminWorkstation:
  network:
    hostConfig:
      netmask: "255.255.248.0"

adminWorkstation.network.hostConfig.dns

字符串数组。管理员工作站可以使用的 DNS 服务器的 IP 地址数组。例如:

adminWorkstation:
  network:
    hostconfig:
      dns:
      - "172.16.255.1"
      - "172.16.255.2"

adminWorkstation.proxyUrl

字符串。如果您的网络在代理服务器后端,并且您希望管理员工作站和 GKE on VMware 集群使用同一个代理服务器,请将 adminworkstation.proxyURL 设置为代理服务器的网址。例如:

adminworkstation:
  proxyUrl: "http://aw-proxy.example"

adminWorkstation.ntpServer

字符串。您的管理员工作站应使用的网络时间协议服务器的主机名或 IP 地址。例如:

adminWorkstation:
  ntpServer: "216.239.35.0"

如果您将此字段留空,则 GKE on VMware 使用 "ntp.ubuntu.com"

已完成配置文件的示例

以下是已完成的管理员工作站配置文件的示例:

gcp:
  componentAccessServiceAccountKeyPath: "my-key-folder/component-access-key.json"
vCenter:
  credentials:
    address: "203.0.113.1"
    username: "administrator.vsphere.local"
    password: "#STyZ2T#Ko2o"
  datacenter: "MY-DATACENTER"
  datastore: "MY-DATASTORE"
  cluster: "MY-CLUSTER"
  network: "MY-VM-NETWORK"
  resourcePool: "MY-POOL"
  caCertPath: "/usr/local/google/home/me/certs/the-root.cert"
proxyUrl: ""
adminWorkstation:
  name: "my-admin-workstation"
  cpus: 4
  memoryMB: 8192
  diskGB: 50
  dataDiskName: "gke-on-prem-admin-workstation-data-disk/gke-admin-ws-200617-113711-data-disk.vmdk"
  dataDiskMB: 512
  network:
    ipAllocationMode: "static"
    hostConfig:
      ip: "172.16.5.1"
      gateway: "172.16.6.254"
      netmask: "255.255.248.0"
      dns:
      - "172.16.255.1"
      - "172.16.255.2
  proxyUrl: ""
  ntpServer: "216.239.35.0"