配置和管理子网
本文档介绍了如何在 Google Cloud 控制台中创建和管理不同的 VMware Engine
有三种类型的子网:工作负载子网、服务子网和管理工作负载子网。
工作负载子网
对于工作负载虚拟机 (VM),您必须在 NSX-T Manager 上为您的私有云创建网络分段。在 NSX-T Manager 中创建的网络分段在 VMware Engine 中不可见。
访问 NSX-T Manager
子网的创建过程在 NSX-T 中进行,您可以通过 VMware Engine 访问该过程:
在 Google Cloud 控制台中,前往私有云页面。
点击要在其中创建子网的私有云名称。
在管理设备下,点击与 NSX 对应的网址。 管理者。
出现提示时,输入您的登录凭据。温馨提示,您可以从私有云详情页面检索生成的凭据。
如果您已将 NSX-T 设置为使用身份源(例如 Active Directory),请改用身份源凭据。
创建工作负载网络分段
对于工作负载虚拟机,请为您的私有云创建子网作为 NSX-T 网络段:
- 在 NSX-T 中,转到网络 > 网络分段。
- 点击添加细分 (Add Segment)。
- 在细分名称字段中,输入细分的名称。
- 在连接的网关列表中,选择 Tier1 以连接到 tier-1 网关。
- 在传输区域列表中,选择 TZ-OVERLAY | 叠加。
- 在子网列中,输入子网范围。指定子网范围,并将
.1
指定为最后一个八位字节。例如10.12.2.1/24
。 - 点击设置 DHCP 配置,并为 DHCP 范围字段提供值。
- 点击应用以保存您的 DHCP 配置。
- 点击保存。现在,您可以在创建虚拟机时在 vCenter 中选择此网络段。
在给定区域中,您可以使用专用服务访问通道,通告最多 100 条从 VMware Engine 到 VPC 网络的唯一路由。例如,这些唯一路由包括私有云管理 IP 地址范围、NSX-T 工作负载网络分段和 HCX 内部 IP 地址范围。此路由限制包括该区域中的所有私有云,并且对应于 Cloud Router 已知路由限制。
如需了解路由限制,请参阅 Cloud Router 配额和限制。
服务子网
服务子网是 VMware Engine 在创建私有云时自动创建的 userDefined
子网。您可以将服务子网用于设备或服务部署场景,例如存储、备份、灾难恢复 (DR)、媒体流式传输,以及为规模最大的私有云提供大规模线性吞吐量和数据包处理。可用的服务子网名称如下:
service-1
service-2
service-3
service-4
service-5
跨服务子网的虚拟机通信使 VMware ESXi 主机直接进入 Google Cloud 网络基础架构,以实现高速通信。
配置服务子网
VMware Engine 在创建服务子网时,不会分配 CIDR 范围或前缀。您必须自行指定不重叠的 CIDR 范围和前缀;其中第一个可用地址将成为网关地址。如需分配 CIDR 范围和前缀,修改相应服务子网即可。
如果 CIDR 要求发生变化,也可以相应地更新服务子网。修改服务子网的现有 CIDR 时,连接到该服务子网的虚拟机可能会出现网络连接中断。
配置 vSphere 分布式端口组
此外,如需将虚拟机连接到服务子网,您需要创建新的分布式端口组。此端口组负责将服务子网 ID 映射到 vCenter 私有云中的网络名称。为此,请按以下说明操作:
- 连接到 VMware vCenter 界面,请参阅访问管理设备。
- 前往 vCenter 界面的网络配置部分。
- 选择“Datacenter-dvs”,然后选择“New Distributed Port Group”。
创建分布式端口组后,您可以通过在虚拟机属性的网络配置中选择相应的名称来连接虚拟机。以下是分布式端口组的一些关键配置值:
- 端口绑定:静态绑定
- 端口分配:弹性
- 端口数量:120
- VLAN 类型:VLAN
- VLAN ID:Google Cloud VMware Engine 界面的“子网”部分中的相应子网 ID。
Google Cloud CLI 和 API 要求
如需使用 gcloud
命令行工具或 API 管理 VMware Engine 资源,我们建议您按下文所述配置工具。
gcloud
设置默认项目 ID:
gcloud config set project PROJECT_ID
设置默认地区和区域:
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE
如需详细了解 gcloud vmware
工具,请参阅 Cloud SDK 参考文档。
API
本文档集中的 API 示例使用 cURL
命令行工具来查询 API。cURL
必须提供有效的访问令牌
请求。您可以通过多种方式获取有效的访问令牌:以下
步骤使用 gcloud
工具生成访问令牌:
登录 Google Cloud:
gcloud auth login
生成访问令牌并导出到 TOKEN:
export TOKEN=`gcloud auth print-access-token`
验证 TOKEN 设置是否正确:
echo $TOKEN
现在,在对 API 的请求中使用授权令牌。例如:
curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations
Python
本文档中的 Python 代码示例使用 VMware Engine 库与 API 进行通信。为了能够使用此方法,需要安装该库并配置应用默认凭据。
下载并安装 Python 库:
pip install google-cloud-vmwareengine
通过在 Shell 中执行以下命令来配置 ADC 信息:
gcloud auth application-default login
或者,使用服务账号密钥文件:
export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
如需详细了解该库,请访问参考页面或查看 GitHub 上的代码示例。
您可以使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 来配置 userDefined
子网。您需要知道子网和私有云的名称。
控制台
在 Google Cloud 控制台中,转到子网页面。
找到要修改的
userDefined
子网,然后点击铅笔图标以修改子网。
gcloud
使用 Google Cloud CLI 的 gcloud vmware private-clouds subnets update
命令修改子网:
gcloud vmware private-clouds subnets update SUBNET_NAME \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE \ --ip-cidr-range=`IP_ADDRESS`
替换以下内容:
SUBNET_NAME
:此私有云中要更新的子网的名称PRIVATE_CLOUD_ID
:私有云的名称ZONE
:私有云的可用区IP_ADDRESS
:IP 地址和范围(示例10.0.0.0/24
)
API
如需使用 VMware Engine API 修改子网,请发出 PATCH
请求:
curl -sSL -XPATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME?update_mask=ip_cidr_range" -d '{ "ip_cidr_range": "IP_ADDRESS" }'
替换以下内容:
PROJECT_ID
:此请求的项目 ID。ZONE
:私有云的可用区PRIVATE_CLOUD_ID
:私有云的名称SUBNET_NAME
:此私有云中要更新的子网的名称IP_ADDRESS
:IP 地址和范围(示例10.0.0.0/24
)
管理子网
管理子网是只读子网,您可以使用 Google Cloud CLI 或 VMware Engine API。
列出所有子网
在 Google Cloud 控制台、Google Cloud CLI 或 API 中查看子网列表。
控制台
前往子网页面,查看子网列表。
gcloud
使用 Google Cloud CLI 输入 gcloud vmware private-clouds subnets list
命令列出子网:
gcloud vmware private-clouds subnets list \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE
替换以下内容:
PRIVATE_CLOUD_ID
:私有云的名称ZONE
:私有云的可用区
API
如需使用 VMware Engine API 列出子网,请发出 GET
请求:
curl -sSL -XGET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/subnets"
替换以下内容:
PROJECT_ID
:此请求的项目 ID。ZONE
:私有云的可用区PRIVATE_CLOUD_ID
:私有云的名称
描述子网
使用 Google Cloud CLI 或 VMware Engine API 获取任何子网的说明。
控制台
前往子网页面,获取子网的说明。
gcloud
使用 gcloud vmware private-clouds subnets update
命令获取子网的说明:
gcloud vmware private-clouds subnets describe SUBNET_NAME \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE
替换以下内容:
SUBNET_NAME
:此私有云中要更新的子网的名称PRIVATE_CLOUD_ID
:私有云的名称ZONE
:私有云的可用区
API
如需使用 VMware Engine API 获取子网的说明,请发出 GET
请求:
GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME"
替换以下内容:
PROJECT_ID
:此请求的项目名称REGION
:网络的区域PRIVATE_CLOUD_ID
:私有云的名称SUBNET_NAME
:此私有云中要更新的子网的名称