创建和管理子网

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

在 Distributed Cloud connected 服务器上,您只能配置具有 VLAN ID 的子网。Distributed Cloud connected 服务器不支持基于 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 connected 区域中的所有节点都可以访问该子网。

创建子网

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

如需完成此任务,您必须在您的 Google Cloud 项目内拥有 Edge Network Admin role (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 connected 区域的名称。

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 区域所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud connected 区域的名称。
  • SUBNETWORK_ID:用于唯一标识此子网的 ID。
  • LABELS:要应用于此子网资源的标签列表。
  • NETWORK_NAME:封装此子网的网络。
  • IPV4_RANGE:此子网涵盖的 IPv4 地址范围,采用 IP 地址/前缀格式。
  • IPV6_RANGE:此子网涵盖的 IPv6 地址范围,采用 IP 地址/前缀格式。
  • VLAN_ID:此子网的目标 VLAN ID。

列出子网

如需列出在 Distributed Cloud connected 区域中预配的子网,请完成本部分中的步骤。

如需完成此任务,您必须在您的 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 区域所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud connected 区域的名称。

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 区域所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud connected 区域的名称。
  • 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 区域所属的 Google Cloud 区域。
  • ZONE_NAME:目标 Distributed Cloud connected 区域的名称。

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 connected 区域的名称。
  • SUBNETWORK_NAME:目标子网的名称。

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

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

删除子网

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

如需完成此任务,您必须在您的 Google Cloud 项目内拥有 Edge Network Admin role (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 connected 区域的名称。

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 connected 区域的名称。
  • SUBNETWORK_NAME:目标子网的名称。

后续步骤