配置 VCF 软件仓库
如需在 VMware Solution on Google Cloud中部署和升级 VMware Cloud Foundation (VCF),您的 VCF 安装程序和 SDDC Manager 设备需要访问 VCF 软件包、补丁和兼容性元数据。本文档比较了可用的 VCF 软件代码库架构,并介绍了如何使用 Private Service Connect 配置与 Google 提供的离线代码库的专用连接。
选择代码库架构
您可以使用以下任一方法向 VMware 解决方案环境提供 VCF 软件包:
- Broadcom 公共代码库(在线代码库):通过互联网将 VCF Installer 和 SDDC Manager 设备直接连接到 Broadcom 在线代码库(例如,使用 Cloud NAT 或出站 Web 代理),并使用 Broadcom 支持门户凭据和下载令牌进行身份验证。如需了解详情,请参阅有关连接到在线代码库的 Broadcom 文档。
- Google 提供的离线代码库 (Private Service Connect):通过 Private Service Connect 端点私密连接到由 Google Cloud托管的区域级软件代码库。所有软件下载都保留在 Google Cloud 内部网络中,无需互联网出站流量。
下表比较了这两种代码库架构:
| 功能 | Broadcom 在线代码库 | Google 提供的离线代码库 |
|---|---|---|
| 网络路径 | 出站互联网访问权限(Cloud NAT 或代理) | 专用 VPC 连接(Private Service Connect 端点) |
| 身份验证 | Broadcom 支持门户下载令牌 | 通过 Private Service Connect 实现 VPC 级访问权限控制 |
| 带宽和延迟时间 | 取决于互联网出站流量配置 | Google Cloud内的高吞吐量区域级转移 |
| 经过网闸隔离的支持 | 如果没有外部跳板主机,则不受支持 | 支持隔离的 VPC 环境 |
准备工作
在为 Google 提供的离线代码库配置 Private Service Connect 端点之前,请先满足以下前提条件:
在项目中启用所需的 Google Cloud API。下表列出了所需的 API:
服务名称 API 标识符 用途 Compute Engine API compute.googleapis.com预配子网、内部 IP 地址和转发规则 Cloud DNS API dns.googleapis.com创建专用 DNS 区域和记录,以进行代码库解析 Service Directory API servicedirectory.googleapis.com注册 Private Service Connect 端点 如需使用 Google Cloud CLI 启用这些 API,请运行以下命令:
gcloud services enable compute.googleapis.com \ dns.googleapis.com \ servicedirectory.googleapis.com \ --project=PROJECT_ID
在运行该命令之前,请替换以下内容:
PROJECT_ID:您的 Google Cloud 项目的 ID。
验证您的用户账号或服务账号在目标项目中是否具有以下 Identity and Access Management (IAM) 角色:
- Compute Network Admin (
roles/compute.networkAdmin) - DNS Administrator (
roles/dns.admin)
- Compute Network Admin (
设置虚拟私有云 (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 学习。
配置 Google 提供的离线代码库
如需设置对区域级 VCF 离线代码库的私密访问,请预配专用标准(非第 2 层广播)子网,部署 Private Service Connect 端点,并配置 Cloud DNS 解析。
预配离线代码库子网
在裸金属节点所在的区域中,创建一个专用标准(非第 2 层广播)子网,其最小 CIDR 大小为 /29:
gcloud compute networks subnets create SUBNET_NAME \
--network=VPC_NETWORK_NAME \
--region=REGION \
--range=SUBNET_CIDR \
--project=PROJECT_ID
在运行该命令之前,请替换以下内容:
SUBNET_NAME:离线仓库端点的标准子网名称(例如snet-offline-depot)。VPC_NETWORK_NAME:您的 VPC 网络的名称。REGION:裸金属节点所在的 Google Cloud 区域(例如us-central1)。SUBNET_CIDR:/29或更大的未使用 CIDR 块(例如192.168.10.0/29)。PROJECT_ID:您的 Google Cloud 项目的 ID。
部署 Private Service Connect 端点
为端点预留内部 IP 地址,并创建以区域级离线仓库服务连接为目标的转发规则:
预留用途为
GCE_ENDPOINT的区域级内部 IP 地址:gcloud compute addresses create offline-depot-ip \ --region=REGION \ --subnet=SUBNET_NAME \ --purpose=GCE_ENDPOINT \ --project=PROJECT_ID
在运行该命令之前,请替换以下内容:
REGION: Google Cloud 区域(例如us-central1)。SUBNET_NAME:标准离线代码库子网的名称。PROJECT_ID:您的 Google Cloud 项目的 ID。
检索预留的内部 IP 地址,以便在配置 DNS 时使用:
gcloud compute addresses describe offline-depot-ip \ --region=REGION \ --format='get(address)' \ --project=PROJECT_ID
在运行该命令之前,请替换以下内容:
REGION: Google Cloud 区域。PROJECT_ID:您的 Google Cloud 项目的 ID。
创建指向区域离线仓库服务连接的 Private Service Connect 转发规则:
gcloud compute forwarding-rules create offline-depot-endpoint \ --region=REGION \ --network=VPC_NETWORK_NAME \ --address=offline-depot-ip \ --target-service-attachment=projects/smve-prod-offline-depot/regions/REGION/serviceAttachments/offline-depot-service-attachment-REGION \ --project=PROJECT_ID
在运行该命令之前,请替换以下内容:
REGION:部署裸金属节点的 Google Cloud 区域(例如us-central1)。VPC_NETWORK_NAME:您的 VPC 网络的名称。PROJECT_ID:您的 Google Cloud 项目的 ID。
配置 Cloud DNS 解析
离线仓库 HTTPS 服务器会提供 offline-depot.REGION.selfmanagedvmwareengine.goog 的 TLS 证书。创建专用 Cloud DNS 区域和 A 记录,以便 VCF 设备将此完全限定域名 (FQDN) 解析为 Private Service Connect 端点 IP 地址:
为区域网域创建专用管理 DNS 区域:
gcloud dns managed-zones create offline-depot-zone \ --dns-name=REGION.selfmanagedvmwareengine.goog. \ --description='Private DNS zone for the regional VCF offline depot' \ --visibility=private \ --networks=VPC_NETWORK_NAME \ --project=PROJECT_ID
在运行该命令之前,请替换以下内容:
REGION: Google Cloud 区域(例如us-central1)。VPC_NETWORK_NAME:您的 VPC 网络的名称。PROJECT_ID:您的 Google Cloud 项目的 ID。
为
offline-depot.REGION.selfmanagedvmwareengine.goog.创建一个A记录,该记录会映射到您预留的 Private Service Connect IP 地址:gcloud dns record-sets create offline-depot.REGION.selfmanagedvmwareengine.goog. \ --zone=offline-depot-zone \ --type=A \ --ttl=300 \ --rrdatas=PSC_INTERNAL_IP \ --project=PROJECT_ID
在运行该命令之前,请替换以下内容:
REGION: Google Cloud 区域。PSC_INTERNAL_IP:为offline-depot-ip预留的内部 IP 地址。PROJECT_ID:您的 Google Cloud 项目的 ID。
将 DNS 区域与已连接的 VPC 网络相关联
如果您的 VCF 管理设备或跳板主机位于共享 VPC 或对等互连 VPC 网络中,请授权这些网络查询 offline-depot-zone 专用区域。如需了解如何绑定其他 VPC 网络或配置跨项目 DNS 对等互连,请参阅跨 VPC 网络管理专用可用区。
验证连接性
从 VPC 网络内的跳板主机或管理虚拟机中,验证 DNS 解析和与区域级离线代码库的 HTTPS 连接是否成功:
验证区域 FQDN 是否解析为您的 Private Service Connect 内部 IP 地址:
nslookup offline-depot.REGION.selfmanagedvmwareengine.goog
测试与离线代码库端点的 HTTPS 连接:
curl -I https://offline-depot.REGION.selfmanagedvmwareengine.goog
在运行这些命令之前,请替换以下内容:
REGION:您配置端点的 Google Cloud 区域(例如us-central1)。
如果连接成功,仓库 Web 服务器会返回 HTTP
200 OK或301/302响应。
后续步骤
- 查看部署选项概览。
- 使用使用 Terraform 和工具包部署节点和 VCF 或使用控制台部署节点和配置设备网络来部署环境。