创建和管理子网

本页面介绍如何在已连接的 Distributed Cloud 区域中创建和管理 Google Distributed Cloud 子网资源。

在连接了 Distributed Cloud 的服务器上,您只能配置具有 VLAN ID 的子网。Distributed Cloud 连接的服务器不支持基于 CIDR 的子网。

如需详细了解 Distributed Cloud 子网,请参阅 Distributed Cloud Connected 的运作方式

请注意以下几点:

  • 每个 Distributed Cloud 可用区最多可以创建 138 个子网。
  • 子网是父网络中的 VLAN。因此,每个子网都必须具有全局唯一的 VLAN ID。Distributed Cloud Connected 不允许重复使用 VLAN ID。
  • 如需让 Distributed Cloud Connected 随机分配未使用的 VLAN ID,请在创建子网时将 VLAN ID 指定为 0
  • 子网可供 Distributed Cloud 已连接可用区中的所有节点访问。

创建子网

如需创建分布式云子网,请完成本部分中的步骤。

如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Network Admin 角色(roles/edgenetwork.admin)。

gcloud

使用 gcloud edge-cloud networking subnets create 命令:

gcloud edge-cloud networking subnets create SUBNETWORK_NAME \
    --network=NETWORK_NAME \
    --ipv4-range=IPV4_RANGE \
    --ipv6-range=IPV6_RANGE \
    --vlan-id=VLAN_ID \
    --location=REGION \
    --zone=ZONE_NAME

替换以下内容:

  • SUBNETWORK_NAME:可唯一标识相应子网的描述性名称。
  • NETWORK_NAME:封装相应子网的网络。
  • IPV4_RANGE:相应子网覆盖的 IPv4 地址范围(采用 IP 地址/前缀格式)。
  • IPV6_RANGE:相应子网覆盖的 IPv6 地址范围(采用 IP 地址/前缀格式)。
  • VLAN_ID:相应子网的目标 VLAN ID。
  • REGION:目标 Distributed Cloud 可用区所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。

API

projects.locations.zones.subnets.create 方法发出 POST 请求:

 POST /v1/projects/PROJECT_ID/locations/REGION/zones/ZONE_NAME/subnets?subnetId=SUBNETWORK_ID
 {
  "labels": { LABELS,
   },
  "network": { NETWORK_NAME,
   },
  "ipv4Cidr": { IPV4_RANGE,
   },
  "ipv6Cidr": { IPV6_RANGE,
   },       
  "vlanId": { VLAN_ID,
   },
 }     

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • REGION:目标 Distributed Cloud Connected Zone 所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。
  • SUBNETWORK_ID:唯一标识相应子网的 ID。
  • LABELS:要应用于相应子网资源的标签列表。
  • NETWORK_NAME:封装相应子网的网络。
  • IPV4_RANGE:相应子网覆盖的 IPv4 地址范围(采用 IP 地址/前缀格式)。
  • IPV6_RANGE:相应子网覆盖的 IPv6 地址范围(采用 IP 地址/前缀格式)。
  • VLAN_ID:相应子网的目标 VLAN ID。

列出子网

如需列出在分布式云连接可用区内预配的子网,请完成本部分中的步骤。

如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Network Viewer 角色 (roles/edgenetwork.viewer)。

gcloud

使用 gcloud edge-cloud networking subnets list 命令:

gcloud edge-cloud networking subnets list \
    --location=REGION \
    --zone=ZONE_NAME

替换以下内容:

  • REGION:目标 Distributed Cloud Connected Zone 所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。

API

projects.locations.zones.subnets.list 方法发出 GET 请求:

 GET /v1/projects/PROJECT_ID/locations/REGION/zones/ZONE_NAME/subnets?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • REGION:目标 Distributed Cloud Connected Zone 所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。
  • FILTER:将返回的结果限制为特定值的表达式。
  • PAGE_SIZE:每页要返回的结果数。
  • SORT_BY:用于对返回的结果进行排序的字段名称的英文逗号分隔列表。默认排序顺序为升序;如需降序排序,请在所需字段前加上 ~
  • PAGE_TOKEN:在响应的 nextPageToken 字段中,对上一个列表请求的响应中收到的令牌。发送此令牌可接收一页结果。

获取有关子网的信息

如需获取有关 Distributed Cloud 子网的信息,请完成本部分中的步骤。

如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Network Viewer 角色 (roles/edgenetwork.viewer)。

gcloud

使用 gcloud edge-cloud networking subnets describe 命令:

gcloud edge-cloud networking subnets describe SUBNETWORK_NAME \
    --location=REGION \
    --zone=ZONE_NAME

替换以下内容:

  • SUBNETWORK_NAME:目标子网的名称。
  • REGION:目标 Distributed Cloud Connected Zone 所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。

API

projects.locations.zones.subnets.get 方法发出 GET 请求:

 GET /v1/projects/PROJECT_ID/locations/REGION/zones/ZONE_NAME/subnets/SUBNETWORK_ID

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • REGION:目标 Distributed Cloud connected 可用区所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。
  • SUBNETWORK_NAME:目标子网的名称。

此操作会返回有关资源的详细信息,包括其预配状态:

  • PENDING:资源尚未开始预配,也尚未在整个可用区内传播。
  • PROVISIONING:资源正在预配;您必须等待资源传播到整个可用区。
  • RUNNING:资源已成功预配并传播到整个可用区;资源已可供使用。
  • FAILED:资源预配未成功;资源尚未在整个可用区中传播。

删除子网

如需删除 Distributed Cloud 子网,请完成本部分中的步骤。

如需完成此任务,您必须在 Google Cloud 项目中拥有 Edge Network Admin 角色(roles/edgenetwork.admin)。

gcloud

使用 gcloud edge-cloud networking subnets delete 命令:

gcloud edge-cloud networking subnets delete SUBNETWORK_NAME \
    --location=REGION \
    --zone=ZONE_NAME

替换以下内容:

  • SUBNETWORK_NAME:目标子网的名称。
  • REGION:目标 Distributed Cloud connected 可用区所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。

API

projects.locations.zones.subnets.delete 方法发出 DELETE 请求:

 DELETE /v1/projects/PROJECT_ID/locations/REGION/zones/ZONE_NAME/subnets/SUBNETWORK_ID

替换以下内容:

  • PROJECT_ID:目标 Google Cloud 项目的 ID。
  • REGION:目标 Distributed Cloud connected 可用区所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud 已连接区域的名称。
  • SUBNETWORK_NAME:目标子网的名称。

后续步骤