1.6 版。如 Anthos 版本支持政策中所述,此版本已不再受支持。如需获取影响 VMware 上的 Anthos 集群 (GKE On-Prem) 的安全漏洞、威胁和问题的最新补丁程序和更新,请升级到支持的版本。您可以在此处找到最新版本。

创建管理工作站

本文档介绍如何为 VMware 上的 Anthos 集群 (GKE On-Prem) 创建管理员工作站,该工作站可用于创建集群。

本文档中的步骤使用 gkeadm 命令行工具,该工具可用于 64 位的 Linux、Windows 10、Windows Server 2019 和 macOS 10.15 及更高版本。

此处为完整说明。如需查看创建管理员工作站的简要说明,请参阅创建管理员工作站(快速入门)

准备工作

了解您的 vCenter 服务器地址

了解您的 CA 证书路径

安装 Cloud SDK

按照使用多个 Google Cloud 项目中的说明,创建一个或多个 Cloud 项目。

规划服务帐号

使用 gkeadm 创建管理员工作站时,您可以选择让 gkeadm 为您创建大多数服务帐号和密钥。在这种情况下,gkeadm 还会向服务帐号授予相应的 Identity and Access Management 角色。

作为替代方案,您可以手动创建服务帐号和密钥。在这种情况下,您必须向服务帐号授予 IAM 角色。

gkeadm 为您创建服务帐号相比,手动创建服务帐号具有更大的灵活性:

  • 自动创建的服务帐号都是您的连接项目的子项。手动创建服务帐号时,您可以选择父 Cloud 项目。

  • 系统会为所有自动创建的服务帐号授予连接项目上的 IAM 角色。如果您的连接项目是与您的集群关联的唯一 Cloud 项目,则没有问题。但是,如果您要将您的集群与多个 Cloud 项目关联,则您需要向服务帐号授予在所选 Cloud 项目上的角色的灵活性。

如果您决定创建自己的服务帐号,请按照服务帐号和密钥中的说明操作。

无论您是否让 gkeadm 自动为您创建服务帐号,您都必须手动创建一个服务帐号:您的组件访问服务帐号。如需了解如何创建组件访问服务帐号并向其授予适当的 IAM 角色,请参阅组件访问服务帐号

生成配置文件模板

下载 gkeadm 到当前目录。

生成模板:

./gkeadm create config

上述命令在当前目录中创建了这些文件:

  • credential.yaml
  • admin-ws-config.yaml

填写 credential.yaml

credential.yaml 中,填写 vCenter 用户名和密码。例如:

kind: CredentialFile
items:
- name: vCenter
  username: "my-account-name"
  password: "AadmpqGPqq!a"

填写 admin-ws-config.yaml

admin-ws-config.yaml 中的多个字段已经填充了默认值或生成的值。您可以保留填充的值,也可以根据需要进行更改。

必须填写的字段

填写以下必填字段。如需了解如何填写这些字段,请参阅管理员工作站配置文件

gcp:
   whitelistedServiceAccountKeyPath: "Fill in"
vCenter:
  credentials:
    address: "Fill in"
  datacenter: "Fill in"
  datastore: "Fill in"
  cluster: "Fill in"
  network: "Fill in"
  resourcePool: "Fill in"
  caCertPath: "Fill in"

如果您的管理员工作站位于代理服务器后面,请填写 proxyURL 字段:

adminWorkstation:
  proxyURL: "Fill in"

如果您希望管理员工作站从 DHCP 服务器获取其 IP 地址,请将 ipAllocationMode 设置为 "dhcp",并移除 hostconfig 部分:

adminWorkstation:
  network:
    ipAllocationMode: "dhcp"

如果您希望为管理员工作站指定静态 IP 地址,请将 ipAllocationMode 设置为 "static",然后填写 hostconfig 部分:

adminWorkstation:
  network:
    ipAllocationMode: "static"
    hostconfig:
      ip: "Fill in"
      gateway: "Fill in"
      netmask: "Fill in"
      dns:
      - "Fill in"

创建管理员工作站

输入下面的命令来创建管理员工作站。如果您希望 gkeadm 为您创建服务帐号,请添加 --auto-create-service-accounts 标志。如果您希望手动创建您自己的服务帐号,请省略此标志。

./gkeadm create admin-workstation [--auto-create-service-accounts]

输出内容中会包含有关管理员工作站创建过程的详细信息:

...
Getting ... service account...
...
********************************************************************
Admin workstation is ready to use.

Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation
This file is required for future upgrades
SSH into the admin workstation with the following command:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
********************************************************************

与管理员工作站建立 SSH 连接

在上述输出内容的末尾附近,有一条命令,您可以使用该命令通过 SSH 连接到管理员工作站。现在输入该命令。例如:

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1

列出管理员工作站上的文件:

ls -1

在输出内容中,您可以看到两个集群配置文件、您的 CA 证书文件和您的组件访问服务帐号的 JSON 密钥文件。如果 gkeadm 为您创建了服务帐号,您还可以看到这些服务帐号的 JSON 密钥文件:

admin-cluster.yaml
user-cluster.yaml
vcenter-ca-cert.pem
component-access-key.json

验证 gkeadm 是否已在管理员工作站上激活您的组件访问服务帐号:

gcloud config get-value account

将 JSON 密钥文件复制到管理员工作站

在创建集群之前,服务帐号的 JSON 密钥文件必须位于管理员工作站的主目录中。

组件访问服务帐号的密钥已在管理员工作站中。

如果您在运行 gkeadm create admin-workstation 时添加了 --auto-create-service-accounts 标志,则以下服务帐号的密钥已经在管理员工作站的主目录中。否则,您必须手动将密钥复制到管理员工作站的主目录中:

  • 连接和注册服务帐号
  • 连接和代理服务帐号
  • 日志记录和监控服务帐号

如果您创建了以下任一服务帐号,则必须手动将这些服务帐号的密钥复制到管理员工作站的主目录中:

  • 用量计量服务帐号
  • 审核日志记录服务帐号
  • Binary Authorization 服务帐号

后续步骤

创建管理员集群