创建集群网络子网

集群网络子网是集群网络中的一个子网。 虽然它与VPC子网相似且具有类似功能,但其通信范围仅限于服务器集群内部。 然而,子网功能允许您定义子网的CIDR地址空间,并为集群网络子网配置保留IP地址。 这些保留IP地址包含您指定的地址,并具备与VPC子网保留IP类似的自动删除功能。

准备工作

可以通过控制台、CLI、API 或 Terraform 创建群集网络子网。

在控制台中创建群集网络子网

要在控制台的网络群集中创建子网,请按照以下步骤操作:

  1. 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。

  2. 选择导航菜单图标,然后点击基础设施VPC图标 > 网络 > 集群网络

  3. 在 VPC 群集网络页面上,单击要创建子网的群集网络名称链接。 这将显示“概述”页面。

  4. 单击“子网”选项卡以显示集群网络子网表,然后单击“创建”。

  5. 在“创建子网”侧边栏中,请填写以下信息:

    • 输入子网名称。
    • 查看地址前缀。 根据需要更改。
    • 选择 IP 地址总数(默认为 256)。
    • 检查IP地址范围并根据需要进行修改。
    • 查看指定的地址空间。 根据需要调整 IP 范围。
  6. 单击创建。 请求使用群集网络子网。

通过命令行界面创建集群网络子网

要通过命令行界面创建集群网络子网,请按以下步骤操作:

  1. 设置 CLI 环境

  2. 使用 CLI 登录您的账户。 输入密码后,系统会提示输入账户和地区:

    ibmcloud login --sso
    
  3. 要创建群集网络子网,请输入以下命令:

    ibmcloud is cluster-network-subnet-create CLUSTER_NETWORK (--total-ipv4-address-count TOTAL_IPV4_ADDRESS_COUNT | --ipv4-cidr-block IPV4_CIDR_BLOCK) [--name NAME] [--ip-version ipv4] [--output JSON] [-q, --quiet]
    

    其中:

    CLUSTER_NETWORK
    集群网络的标识或名称。
    --total-ipv4-address-count
    所需的 IPv4 地址总数。 必须是 2 的幂。
    --ipv4-cidr-block
    集群网络子网的 IPv4 范围,以 CIDR 格式表示。
    --name
    该集群网络子网的名称。
    --isolation-group
    集群网络子网的隔离组。 必须是一个大于 0 的整数值。 使用 1 用于 hopper-1
    --output
    指定输出格式。 仅支持 JSON。 以下项之一:JSON
    -q, --quiet
    禁止冗长输出。

命令示例

为群集网络 cli-cn-1 创建名称为 cli-cn-sub-1 的群集网络子网:

ibmcloud is cluster-network-subnet-create cli-cn-1 --name cli-cn-sub-1 --total-ipv4-address-count 32 --isolation-group 1

使用 API 创建群集网络子网

要使用 API 创建群集网络子网,请按照以下步骤操作:

  1. 使用正确的变量 设置 API 环境。

  2. 将任何用于API命令的附加变量存储起来。 例如:

    version (字符串):API 版本,格式为。YYYY-MM-DD

  3. 启动所有变量后,运行以下命令创建群集网络子网:

    curl -X POST "$vpc_api_endpoint/v1/cluster_networks/$cluster_network_id/subnets?version=$today&generation=2" -H "Authorization: Bearer $iam_token" -d '{
          "name": "my-cluster-network-subnet",
          "total_ipv4_address_count": 2048
          "isolation_group:1"
        }'
    

要查看整套群集网络 API,请参阅 VPC API 参考

使用 Terraform 创建集群网络子网

下面的示例使用 Terraform 提供了一个群集网络子网:

resource "ibm_is_cluster_network_subnet" "is_cluster_network_subnet_instance" {
  cluster_network_id        = var.is_cluster_network_subnet_cluster_network_id
  ip_version                = var.is_cluster_network_subnet_ip_version
  name                      = var.is_cluster_network_subnet_name
  total_ipv4_address_count  = var.is_cluster_network_subnet_total_ipv4_address_count
  // ipv4_cidr_block = var.is_cluster_network_subnet_ipv4_cidr_block #conflicts with total_ipv4_address_count
  isolation_group = 1
}

后续步骤

创建群集网络子网后要创建群集网络接口,请 阅创建群集网络接口。