建立叢集網路子網
集群網路子網路是集群網路內的子網路。 雖然它與虛擬私有雲子網(VPC subnet)相似且具有相似的用途,但其通訊範圍僅限於伺服器叢集內部。 然而,子網功能可讓您定義子網的 CIDR 格式,並為叢集網路子網配置保留 IP 位址。 這些保留的IP位址包含您指定的位址,並具備類似於VPC子網保留IP的自動刪除功能。
開始之前
您可以使用主控台、CLI、API 或 Terraform 建立群集網路子網路。
在主控台中建立群集網路子網路
若要在主控台的網路群集中建立子網路,請遵循下列步驟:
-
請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
-
點選導覽
單圖示,接著點擊基礎架構
> 網路 > 叢集網路。
-
在「VPC 的集群網路」頁面上,按一下要建立子網路的集群網路名稱的連結。 即會顯示「概觀」頁面。
-
點擊「子網」標籤以顯示叢集網路子網表格,然後點擊「建立」。
-
在「建立子網」側邊面板中,請填寫以下資訊:
- 輸入子網路名稱。
- 檢查地址前綴。 根據需要進行更改。
- 選擇 IP 位址總數(預設為
256)。 - 檢視 IP 範圍並視需要進行變更。
- 查看指定的位址空間。 根據需要調整 IP 範圍。
-
按一下建立。 請求使用叢集網路子網路。
從命令列介面建立叢集網路子網域
要從命令列介面建立叢集網路子網,請遵循以下步驟:
-
請透過 CLI 登入您的帳戶。 輸入密碼後,系統會提示輸入帳戶和地區:
ibmcloud login --sso -
若要建立叢集網路子網,請輸入以下指令:
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- 叢集網路的 ID 或名稱。
--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 建立叢集網路子網,請執行下列步驟:
-
使用正確的變數 設定您的 API 環境。
-
將任何用於 API 指令的額外變數儲存起來。 例如:
version(字串):API 版本,格式為YYYY-MM-DD。 -
當所有變數都初始化後,執行以下命令建立叢集網路子網路:
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
}
下一步
建立叢集網路子網後,若需建立叢集網路介面,請參閱 《建立叢集網路介面》。