使用控制台部署节点并配置设备网络
本页面介绍了如何使用 Google Cloud 控制台部署裸金属 ESXi 节点并配置 Google Cloud 网络结构,以便为在 Google Cloud上的 VMware 解决方案中部署 VMware Cloud Foundation (VCF) 做好准备。
完成本页面中的步骤后,您的 Google Cloud 基础架构将为 VCF 启动做好准备,但不会部署 VCF 或 VCF 管理设备本身:
- 此工作流的作用:预配裸金属 ESXi 计算实例,配置主要和动态网络接口 (NIC),设置 VPC 子网和可用区级网络端点组 (NEG),并为未来的 VCF 管理设备和 NSX 数据路径预先配置 Google Cloud 负载均衡结构和 IP 地址预留。
- 此工作流不会执行的操作:它不会重置初始 ESXi
root密码、初始化 ESXi 主机网络(vSwitch0和 vSAN)、部署 VCF 安装程序或部署 VCF 管理设备(例如 vCenter Server、SDDC Manager 或 NSX Manager)。如需重置初始 ESXiroot密码、初始化主机并在完成这些步骤后部署 VCF,您必须运行 VMware 解决方案工具包并在 VCF 安装程序中完成启动,如使用工具包准备节点并部署 VCF 中所述。
准备工作
在开始之前,请确认您已满足以下要求:
- 确保您的项目在目标区域和可用区中有足够的裸金属节点配额。如需了解所需配额以及如何查看或申请增加配额,请参阅配额和限制。
- 确保您拥有所需的 Identity and Access Management (IAM) 权限,包括
Compute Admin(roles/compute.admin);如果您使用 Cloud DNS,还需要DNS Administrator(roles/dns.admin)。 设置 Virtual Private Cloud (VPC) 网络,并规划管理、vSAN、vMotion 和 NSX 隧道端点 (TEP) 的子网 IP 地址范围。在部署节点之前,请将 VPC 网络 MTU 设置为
8896字节,并在创建节点时在 VMware 解决方案中创建新子网。VMware 解决方案要求 VPC 网络的子网将解析子网掩码属性设置为仅通过学习广播主要范围,以支持基于 VLAN 的网络。在 Google Cloud 控制台支持中心中提交支持服务工单,并提供以下信息:
- 产品:Google Cloud VMware Engine
- 优先级:P2
- 类别:Network Connectivity
- 业务影响:常规技术问题
- 提供更多详细信息:
Allowlist L2 network connectivity for my project,以及您的项目 ID、项目编号和部署的目标区域和可用区
如需详细了解对基于 VLAN 的网络的支持,请参阅第 2 层模拟:ARP 广播和自定义 MAC 学习。
规划域名系统 (DNS) 基础架构,以支持对所有规划的 ESXi 节点主机名和 VCF 设备端点进行正向和反向查找。
节点主机名:在部署期间提供每个节点的完全限定域名 (FQDN)。这可确保 ESXi 使用主机名生成证书。
可信映像政策:如果您的组织未强制执行
constraints/compute.trustedImageProjects组织政策,则无需执行任何操作。如果您的组织强制执行此政策,请允许projects/smve-prod-public-images,以便 Compute Engine 可以创建裸金属启动磁盘。如需了解详情,请参阅设置映像访问限制条件。VPC Service Controls:如果您的目标项目不在服务边界内,则无需执行任何操作。如果您的项目位于服务边界内,请添加一条出站流量规则,以允许对
smve-prod-public-images项目 (projects/999037279871) 执行compute.googleapis.com操作:- egressFrom: identityType: ANY_IDENTITY egressTo: operations: - serviceName: compute.googleapis.com methodSelectors: - method: "*" resources: - projects/999037279871如需了解详情,请参阅出站流量规则参考。
验证区域配额
在预配裸金属节点或创建集群之前,请验证您的项目是否有足够的区域和全球 Compute Engine 配额。在将该区域中所有现有集群的资源与项目配额进行比较之前,请先将这些资源添加到以下增量值中:
| 配额指标 | 每个裸金属节点所需的资源 | 3 节点集群所需的资源 |
|---|---|---|
Z3的compute.googleapis.com/cpus_per_vm_family |
192 个 vCPU | 3 × 192 = 576 个 vCPU |
Z3的compute.googleapis.com/local_ssd_total_storage_per_vm_family |
72 TB | 3 × 72 TB = 216 TB |
compute.googleapis.com/hyperdisk_balanced_total_storage |
128 GB | 3 × 128 GB = 384 GB |
compute.googleapis.com/resource_policies |
向现有集群添加节点时为 0 | 每个集群 1 项分散布置政策 |
compute.googleapis.com/regional_backend_services_protocol_forwarding_fast_ha |
在不添加新设备的情况下添加节点或集群时,此值为 0 | 每个新的 VCF 管理设备 VIP 或 NSX Edge 端点 1 个 |
如需查看所需配额的完整列表以及有关如何查看或申请增加配额的说明,请参阅配额和限制。
部署裸金属节点并配置节点网络
如需预配裸金属 ESXi 节点并配置其网络接口,请执行以下操作:
在 Google Cloud 控制台中,依次前往 VMware Engine > 自行管理 > 概览。
点击开始部署,启动基础设施预配和配置工作流。
在节点配置部分中,选择要部署节点的区域和可用区。
选择布置政策,或点击创建新的布置政策:
- 如果您创建的是布置政策,请输入名称并选择可用性域的数量(最多 8 个)。
选择您计划在节点上部署的 VCF 版本。
选择机器类型,并指定要创建的节点数量。高可用性 (HA) VCF 部署至少需要四个节点。
在快速命名向导部分中,输入资源名称前缀和域名后缀:
- 资源名称前缀:VMware 解决方案在所有生成的资源名称前面添加的前缀。
- 域名后缀:VMware 解决方案用于为每个节点生成完全限定域名 (FQDN) 的 DNS 域名后缀。
查看每个节点的节点名称、主机名和可用性网域。在主机名字段中提供完全限定域名 (FQDN)。如需修改默认值,请点击修改:
- 可用性网域:为每个节点选择一个可用性网域。将节点均匀分布在布置政策中配置的可用性网域中,以符合 vSAN 容错网域要求。如需了解详情,请参阅布置政策和可用性网域。
- 内部 IPv4 地址:选择临时(自动)、临时(自定义)或预留:
- 如果您选择临时(自定义),请输入 IP 地址。
- 如果您选择预留,请选择现有的预留静态 IP 或指定配置详细信息。
如需防止意外删除节点,请选择启用防删除保护。此选项默认处于启用状态。
(可选)点击管理标签,为节点添加元数据标签。
点击继续,前往节点网络配置。
在网络部分中,为节点选择 VPC 网络。
在网络接口部分中,配置主接口:
- 选择现有子网,或点击创建子网,通过名称、说明和 IPv4 范围定义新子网。
- 选择现有的网络端点组,或点击创建网络端点组以创建新组。工作流会自动将所有预配的节点添加到此群组。
为 VMware 流量配置动态网络接口:
- Dynamic NIC (vSAN):选择或创建用于 vSAN 集群流量的子网。(可选)分配网络端点组。
- Dynamic NIC (vMotion):选择或创建用于实时 VM Migration 流量的子网。(可选)分配网络端点组。
- Dynamic NIC(NSX 隧道端点):选择或创建用于 NSX TEP 叠加流量的子网和网络端点组。
可选:如果您的架构需要专用接口来处理自定义工作负载流量,请添加其他 Dynamic NIC。
点击继续,前往设备网络设置。
配置设备网络
如需为 VCF 启动期间将部署的 VCF 管理设备和 NSX 数据路径预配置 Google Cloud 负载均衡资源和 IP 预留,请执行以下操作:
- 在配置设备网络页面上,选择 VCF 部署模型。对于高可用性部署,请选择高可用性部署(需要 4 个或更多节点)。
- 在管理设备和 NSX 数据路径表中,查看预配置的 Google Cloud 网络资源名称和端点。
- 如需自定义名称或内部 IP 分配,请点击相应表格的修改:
- 为每个设备端点选择临时(自动)、临时(自定义)或预留。
- 如果您使用预留地址,请提供预留 IP 地址或指定静态预留详情。
- 点击继续,查看配置摘要。
- 验证配置详情,然后点击部署以预配裸金属节点并配置设备网络资源。
配置 Cloud DNS 区域和记录
当您使用 Google Cloud 控制台部署裸金属实例并配置设备网络时,如果您还没有 DNS 区域以及正向 (A) 和反向 (PTR) 记录,则必须创建它们。
您可以通过在 VMware 解决方案工具包代码库中运行独立的 scripts/cloud_dns/vcf_cloud_dns_sync.py 脚本来自动执行 Cloud DNS 和网络时间协议 (NTP) DNS 设置。该脚本会执行以下操作:
- 启用 Cloud DNS API (
dns.googleapis.com)。 - 确保将 Cloud DNS 服务器政策(采用默认设置)附加到您的 VPC 网络。
- 确保专用正向和反向查找区域存在并绑定到您的 VPC 网络。
- 同步 Z3 裸金属节点和管理子网内部负载均衡器前端的正向 (
A) 和反向 (PTR) DNS 记录(去除-fr后缀并跳过仅限 IP 的 NSX TEP 和上行链路子网负载均衡器)。 - 管理专用正向查找区域中的 NTP DNS 记录 (
ntp.DOMAIN_NAME)(例如,指向169.254.169.254处的 Compute Engine 元数据服务器)。
如需获取该脚本,请克隆工具包代码库并前往 scripts/cloud_dns 目录:
git clone https://github.com/GoogleCloudPlatform/self-managed-vmware-solution-toolkit
cd self-managed-vmware-solution-toolkit/scripts/cloud_dns
在试运行模式下预览更改
如需预览所有 Cloud DNS API、政策、可用区、节点和内部负载均衡器记录以及 NTP 操作,而不应用任何更改,请使用 --dry-run 标志运行脚本:
python3 vcf_cloud_dns_sync.py \
--project-id PROJECT_ID \
--vpc-network VPC_NETWORK_NAME \
--domain DOMAIN_NAME \
--sync-all \
--set-ntp-ip 169.254.169.254 \
--dry-run
运行初始第 0 天 DNS 设置
在Google Cloud 控制台中预配 VPC 网络、子网、Z3 裸机实例、NEG 和内部负载均衡器转发规则后,以及运行 VCF 安装程序验证之前,请运行以下命令。此命令会启用 Cloud DNS API、创建 VPC DNS 政策、从非 NSX 子网创建专用正向和 /16(或 /8)反向可用区、注册所有节点和管理前端 A 和 PTR 记录(跳过 NSX 子网负载均衡器),并配置 ntp.DOMAIN_NAME 以指向 Compute Engine 元数据服务器 (169.254.169.254):
python3 vcf_cloud_dns_sync.py \
--project-id PROJECT_ID \
--vpc-network VPC_NETWORK_NAME \
--domain DOMAIN_NAME \
--sync-all \
--set-ntp-ip 169.254.169.254
同步记录以进行第 2 天横向扩容
在 Google Cloud 控制台中添加新的 Z3 裸机主机或工作负载网域内部负载均衡器转发规则后,请使用 --sync-all 标志重新运行脚本,以便仅注册新添加的记录(系统会自动跳过未更改的现有记录):
python3 vcf_cloud_dns_sync.py \
--project-id PROJECT_ID \
--vpc-network VPC_NETWORK_NAME \
--domain DOMAIN_NAME \
--sync-all
在预配计算资源之前,先引导 DNS 区域和 VPC 政策
如果您想在预配裸机节点或负载均衡器前端之前启用 Cloud DNS API、创建 VPC DNS 政策以及创建正向和反向区域,请运行以下命令:
python3 vcf_cloud_dns_sync.py \
--project-id PROJECT_ID \
--vpc-network VPC_NETWORK_NAME \
--domain DOMAIN_NAME \
--reverse-zones REVERSE_ZONE_NAME=REVERSE_SUBNET_CIDR \
--setup-zones
使用自定义资源名称或预先创建的管理员资源
如需替换默认资源名称,或在管理员已预配 VPC DNS 政策或托管区域时跳过创建这些资源,请使用以下选项之一:
指定自定义可用区和政策名称(您可以指定多个
--reverse-zones条目):python3 vcf_cloud_dns_sync.py \ --project-id PROJECT_ID \ --vpc-network VPC_NETWORK_NAME \ --domain DOMAIN_NAME \ --dns-policy CUSTOM_DNS_POLICY_NAME \ --forward-zone CUSTOM_FORWARD_ZONE_NAME \ --reverse-zones REVERSE_ZONE_1=CIDR_1 REVERSE_ZONE_2=CIDR_2 \ --sync-all跳过创建 VPC DNS 政策(如果政策已存在):
python3 vcf_cloud_dns_sync.py \ --project-id PROJECT_ID \ --vpc-network VPC_NETWORK_NAME \ --domain DOMAIN_NAME \ --no-create-dns-policy \ --sync-all跳过创建正向和反向区域(当区域由管理员预先创建时;您必须传递
--reverse-zones):python3 vcf_cloud_dns_sync.py \ --project-id PROJECT_ID \ --vpc-network VPC_NETWORK_NAME \ --domain DOMAIN_NAME \ --reverse-zones REVERSE_ZONE_1=CIDR_1 REVERSE_ZONE_2=CIDR_2 \ --no-create-zones \ --sync-all
在运行上述命令之前,请替换以下内容:
PROJECT_ID:您的 Google Cloud项目的 ID。VPC_NETWORK_NAME:您的 VPC 网络的名称。DOMAIN_NAME:VCF 环境的 DNS 域名后缀(例如vcf.example.com)。REVERSE_ZONE_NAME=REVERSE_SUBNET_CIDR:反向查找区域的代管区域名称和 CIDR 块(例如smve-rev-10-10=10.10.0.0/16)。CUSTOM_DNS_POLICY_NAME:Cloud DNS 服务器政策的自定义名称。CUSTOM_FORWARD_ZONE_NAME:专用转发代管区域的自定义名称。REVERSE_ZONE_1=CIDR_1和REVERSE_ZONE_2=CIDR_2:一个或多个反向托管区域名称和 CIDR 对(例如my-rev-zone-1=10.10.1.0/24 my-rev-zone-2=10.10.2.0/24)。
后续步骤
配置裸金属节点、 Google Cloud 网络资源和 DNS 记录后,请完成以下步骤来准备主机并部署 VCF:
- 如果您使用外部 DNS 服务器,而不是使用
vcf_cloud_dns_sync.py配置 Cloud DNS,请使用以下各项的正向 (A) 和反向 (PTR) 记录更新 DNS 服务器:- 所有 ESXi 节点主机名和内部 IP 地址。
- 所有 VCF 管理设备主机名和内部 IP 地址。
- 运行准备节点工具包,以重置每个主机上的初始 ESXi
root密码、初始化 ESXi 主机并部署 VCF 安装程序。如需了解分步说明,请参阅使用工具包准备节点并部署 VCF。 - 访问 VMware Cloud Foundation (VCF) 安装程序,完成部署并启动管理网域。如需了解如何完成 VCF 启动,请参阅 Broadcom 文档中的部署新的 VCF 舰队或新的 VCF 实例。