配置標準子網路及 IP 位址

透過向您的 IBM Cloud® Kubernetes Service 叢集新增子網,來變更可用的可攜式公網或私網 IP 位址池。

IBM Cloud Kubernetes Service 中標準網路的概觀

瞭解 IBM Cloud Kubernetes Service 群集中經典網路的基本概念。IBM Cloud Kubernetes Service 使用 VLAN、子網路和 IP 位址為群集元件提供網路連線。

VLAN

當您建立叢集時,叢集的工作者節點會自動連接至 VLAN。 VLAN 會將一組工作者節點和 Pod 視為連接到相同實體佈線那樣進行配置,並為工作者節點之間的連線功能提供通道。

標準叢集的 VLAN
在標準叢集裡,第一次在區域中建立叢集時,會在您的 IBM Cloud 基礎架構帳戶中,自動為您在該區域中佈建公用 VLAN 及專用 VLAN。 針對您在該區域建立的每個後續叢集,您必須指定要在該區域中使用的 VLAN 配對。 您可以重複使用為您所建立的相同公用及專用 VLAN,因為多個叢集可以共用 VLAN。 您可以將工作者節點同時連接至公用 VLAN 及專用 VLAN,或僅連接至專用 VLAN。 如果您只想要將工作者節點連接至專用 VLAN,則可以使用現有專用 VLAN 的 ID,或建立專用 VLAN,並在建立叢集期間使用該 ID。

若要查看在每個區域中為您帳戶佈建的 VLAN,請執行 ibmcloud ks vlan ls --zone ZONE. 若要查看佈建一個叢集的 VLAN,請執行 ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_ID --show-resources 並尋找 子網路 VLAN 區段。

IBM Cloud 基礎架構管理在您於區域中建立第一個叢集時所自動佈建的 VLAN。 如果您讓 VLAN 變成未使用(例如移除 VLAN 中的所有工作者節點),IBM Cloud 基礎架構會收回此 VLAN。 之後,如果您需要新建的 VLAN,請與 IBM Cloud 支援中心聯絡

稍後可以變更 VLAN 決策嗎?
您可以修改叢集裡的工作者節點儲存區,來變更 VLAN 設定。 如需相關資訊,請參閱變更工作者節點 VLAN 連線

子網路及 IP 位址

除了工作者節點及 Pod 外,子網路也會自動佈建在 VLAN 上。 子網路可藉由將 IP 位址指派給您的叢集元件,為它們提供網路連線功能。

以下子網會自動配置於預設的公共及私有 VLAN 上。

公用 VLAN 子網路

  • 主要公用子網路會決定在建立叢集期間指派給工作者節點的公用 IP 位址。 相同 VLAN 上的多個叢集可以共用一個主要公用子網路。
  • 可攜式公用子網路僅連結至一個叢集,並為叢集提供 8 個公用 IP 位址。3 個 IP 保留給 IBM Cloud 基礎架構功能。1 個 IP 由預設公用 Ingress ALB 使用,4 個 IP 可以用來建立公用網路負載平衡器 (NLB) 服務或更多公用 ALB。 可攜式公用 IP 是永久的固定 IP 位址,可用於透過網際網路存取 NLB 或 ALB。 如果需要 4 個以上的 IP 用於 NLB 或 ALB,請參閱新增可攜式 IP 位址。 請注意,這些 IP 位址預期用於 IBM Cloud Kubernetes Service。 請勿將這些 IP 位址用於 IBM Cloud Kubernetes Service以外的其他用途。

專用 VLAN 子網路

  • 主要專用子網路會決定在建立叢集期間指派給工作者節點的專用 IP 位址。 相同 VLAN 上的多個叢集可以共用一個主要專用子網路。
  • 可攜式專用子網路僅連結至一個叢集,並為叢集提供 8 個專用 IP 位址。3 個 IP 保留給 IBM Cloud 基礎架構功能。1 個 IP 由預設專用 Ingress ALB 使用,4 個 IP 可用來建立專用網路負載平衡器 (NLB) 服務或更多專用 ALB。 可攜式專用 IP 是永久的固定 IP 位址,可用於透過專用網路存取 NLB 或 ALB。 如果需要 4 個以上的 IP 用於專用 NLB 或 ALB,請參閱新增可攜式 IP 位址。 請注意,這些 IP 位址預期用於 IBM Cloud Kubernetes Service。 請勿將這些 IP 位址用於 IBM Cloud Kubernetes Service以外的其他用途。

尋找帳戶中佈建的子網路

若要查看帳戶的所有資源群組中佈建的所有子網路,請執行 ibmcloud ks subnets --provider classic。 若要查看綁定至某個叢集的「可攜式公共子網」和「可攜式私有子網」,您可以執行 ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_ID --show-resources ,並查看「 子網 VLAN 」區段。

在 IBM Cloud Kubernetes Service 中,VLAN 的限制為 40 個子網路。 如果您達到此限制,請先查看您是否可以重複使用 VLAN 中的子網路來建立新的叢集。 如果您需要新的 VLAN,請與 IBM Cloud 支援中心聯絡,進行訂購。 然後,建立叢集,而叢集使用這個新的 VLAN。

我的工作節點的 IP 位址會改變嗎?
您的工作者節點獲指派叢集所使用之公用或專用 VLAN 上的 IP 位址。 佈建工作者節點後,工作者節點 IP 位址會在 rebootupdate 作業上持續保存,但工作者節點 IP 位址在 replace 作業之後會變更。 此外,工作者節點的專用 IP 位址會用於大多數 kubectl 指令中的工作者節點身分。 如果您變更工作者節點儲存區所使用的 VLAN,則該儲存區中佈建的新工作者節點會使用新的 VLAN 作為其 IP 位址。 現有的工作節點 IP 位址不會變更,但您可以選擇移除那些使用舊 VLAN 的工作節點。
我可以指定叢集裡 Pod 及服務的子網路嗎?
如果您計劃透過 IBM Cloud Direct Link 或 VPN 服務將叢集連接至內部部署網路,則可以透過指定為 Pod 提供專用 IP 位址的自訂子網路 CIDR,以及為服務提供專用 IP 位址的自訂子網路 CIDR,來避免子網路衝突。

若要在建立叢集期間指定自訂 Pod 及服務子網路,請使用 ibmcloud ks cluster create CLI 指令中的 --pod-subnet--service-subnet 選項。

Pods

預設範圍

預設情況下,所有部署至叢集的服務都會被指派一個位於 172.30.0.0/16 範圍內的私有 IP 位址。

大小需求

在指定自訂子網時,請考量您計劃建立的叢集規模,以及未來可能新增的執行節點數量。 子網的 CIDR 範圍必須至少為 /23,這能為叢集中的最多四個工作節點提供足夠的 Pod IP 位址。 若為較大的叢集,請使用 /22,以具有八個工作者節點的足夠 Pod IP 位址,/21 以具有 16 個工作者節點的足夠 Pod IP 位址,依此類推。

範圍需求

Pod 和服務子網路無法彼此重疊,且 Pod 子網路無法重疊工作者節點的子網路。 您選擇的子網路必須在下列其中一個範圍內。 - 172.17.0.0 - 172.17.255.255 - 172.21.0.0 - 172.31.255.255

- `192.168.0.0 - 192.168.255.255`


- `198.18.0.0 - 198.19.255.255`

禁止使用 172.16.0.0/16172.18.0.0/16172.19.0.0/16172.20.0.0/16 範圍。

服務

預設範圍

預設情況下,所有部署至叢集的服務都會被指派一個位於 172.21.0.0/16 範圍內的私有 IP 位址。

大小需求

當您指定自訂子網路時,必須以 CIDR 格式指定子網路,大小至少為 /24,這容許叢集裡最多 255 個服務,或更大。

範圍需求

Pod 和服務子網路不能彼此重疊。 您選擇的子網路必須在下列其中一個範圍內: - 172.17.0.0 - 172.17.255.255 - 172.21.0.0 - 172.31.255.255

- `192.168.0.0 - 192.168.255.255`


- `198.18.0.0 - 198.19.255.255`

禁止使用 172.16.0.0/16172.18.0.0/16172.19.0.0/16172.20.0.0/16 範圍。

網路分段

網路區隔說明將網路分成多個子網路的方式。 在某個子網路中運行的應用程式無法看見或存取另一個子網路中的應用程式。 如需網路分段選項及其與 VLAN 的關係的相關資訊,請參閱此叢集安全主題

不過,在數種狀況下,必須允許叢集裡的元件跨多個專用 VLAN 進行通訊。 舉例來說,若您想建立多區域叢集,或是同一個叢集包含多個 VLAN,又或是同一個 VLAN 上有多個子網,那麼位於同一 VLAN 內不同子網,或位於不同 VLAN 中的工作節點,將無法自動相互通訊。 您必須針對 IBM Cloud 基礎架構帳戶啟用「虛擬路由器功能 (VRF)」或 VLAN Spanning。

虛擬遞送及轉遞 (VRF)
VRF 可讓您基礎架構帳戶中的所有 VLAN 和子網相互通訊。 此外,必須部署 VRF,才能讓您的員工與主管透過私有雲服務端點進行通訊。 若要啟用 VRF,請參閱 啟用 VRF。 若要檢查是否已啟用 VRF,請使用 ibmcloud account show 指令。 請注意,VRF 會刪除帳戶的 VLAN Spanning 選項,因為除非您配置閘道應用裝置來管理資料流量,否則所有 VLAN 都可以通訊。
VLAN Spanning
如果您無法或不想啟用 VRF,請 啟用 VLAN Spanning。 若要執行此操作,您需要具備「網路 > 管理網路 VLAN 跨接基礎架構」的權限,或者您可以向帳戶擁有者提出請求,請其啟用此權限。 若要檢查 VLAN 跨域功能是否已啟用,請使用 ibmcloud ks vlan spanning get --region REGION 指令。 請注意,若您選擇啟用 VLAN 跨域功能而非 VRF,則無法啟用私有雲服務端點。
VRF 或 VLAN 跨域功能會如何影響網路分段?
啟用 VRF 或 VLAN Spanning 時,任何已連接至相同 IBM Cloud 帳戶中任何專用 VLAN 的系統都可以與工作者節點通訊。 您可以套用 Calico 專用網路原則,將叢集與專用網路上的其他系統隔離。IBM Cloud Kubernetes Service 也與所有 IBM Cloud 基礎架構防火牆供應項目相容。 您可以使用自訂網路原則來設定 Virtual Router Appliance 這類防火牆,以提供標準叢集的專用網路安全,以及偵測及重新修補網路侵入。

使用現有子網路建立叢集

建立標準叢集時,會自動為您建立子網路。 但是,您可以不使用自動佈建的子網路,而改為使用 IBM Cloud 基礎架構帳戶中的現有可攜式子網路,或者重複使用已刪除叢集裡的子網路。

使用此選項,可在移除及建立叢集時保留穩定的靜態 IP 位址,或訂購更大的 IP 位址區塊。 如果希望改為取得更多可攜式公用或專用 IP 位址來建立網路負載平衡器 (NLB) 或 Ingress 應用程式負載平衡器 (ALB) 服務,請參閱新增可攜式 IP 位址

在刪除叢集後,所有於建立叢集時自動建立的子網段將立即被標記為待刪除,且您無法重複使用這些子網段來建立新的叢集。

開始之前

若要使用現有的子網建立叢集:

  1. 取得子網路 ID 以及該子網路所在的 VLAN 的 ID。

    ibmcloud ks subnets --provider PROVIDER
    

    在此輸出範例中,子網路 ID 是 1602829,而 VLAN ID 是 2234945

    GETting subnet list...
    OK
    ID        Network             Gateway          VLAN ID   Type      Bound Cluster
    1550165   10.xxx.xx.xxx/26    10.xxx.xx.xxx    2234947   private
    1602829   169.xx.xxx.xxx/28   169.xx.xxx.xxx   2234945   public
    
  2. 請使用您已確認的 VLAN ID ,透過命令列介面(CLI)建立一個叢集。 請加入 --no-subnet 選項,以防止系統自動建立新的可攜式公網 IP 子網和新的可攜式私網 IP 子網。

    ibmcloud ks cluster create classic --zone dal10 --flavor b3c.4x16 --no-subnet --public-vlan 2234945 --private-vlan 2234947 --workers 3 --name my_cluster
    

    如果您不記得該 VLAN 位於哪個區域(用於 --zone 選項),可以執行 ibmcloud ks vlan ls --zone ZONE`` 來檢查該 VLAN 是否位於特定區域。

  3. 驗證已建立叢集。 訂購工作者節點機器,並在您的帳戶中設定及佈建叢集,最多可能需要 15 分鐘。

    ibmcloud ks cluster ls
    

    完全佈建叢集後,狀態會變更為 deployed

    NAME         ID                                   State      Created          Workers    Zone      Version     Resource Group Name   Provider
    mycluster    aaf97a8843a29941b49a598f516da72101   deployed   20170201162433   3          dal10     1.35      Default             classic
    
  4. 檢查工作者節點的狀態。

    ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID
    

    在繼續進行下一個步驟之前,工作者節點必須已就緒。 狀況會變更為 normal,而狀態Ready

    ID                                                  Public IP        Private IP     Machine Type   State      Status   Zone     Version
    prod-dal10-pa8dfcc5223804439c87489886dbbc9c07-w1    169.xx.xxx.xxx   10.xxx.xx.xxx  free           normal     Ready    dal10      1.35
    
  5. 指定子網路 ID,以將子網路新增至叢集。 當您讓子網路可供叢集使用時,會為您建立 Kubernetes ConfigMap,其中包含您可以使用的所有可用可攜式公用 IP 位址。 如果子網路 VLAN 所在的區域裡沒有 Ingress ALB 存在,則會自動使用一個可攜式公用 IP 位址及一個可攜式專用 IP 位址,來建立該區域的公用及專用 ALB。 您可以使用來自該子網路的所有其他可攜式公用和專用 IP 位址,為您的應用程式建立 NLB 服務。

    ibmcloud ks cluster subnet add --cluster CLUSTER_NAME_OR_ID --subnet-id SUBNET_ID
    
  6. 驗證子網路是否已新增到叢集。

    ibmcloud ks cluster get --cluster CLUSTER_NAME --show-resources
    
  7. 重要事項:若要為位於相同 VLAN 之不同子網路上的工作者節點,啟用它們之間的通訊,您必須在相同 VLAN 上的子網路之間啟用遞送

管理現有的可攜式 IP 位址

依預設,可以使用 4 個可攜式公用及 4 個可攜式專用 IP 位址,透過 建立網路負載平衡器(NLB)服務建立其他 Ingress 應用程式負載平衡器(ALB),將單一應用程式公開至公用或專用網路。 若要建立 NLB 或 ALB 服務,您必須至少擁有 1 個可用且類型正確的可攜式 IP 位址。 您可以檢視可用的可攜式 IP 位址,或釋放已使用的可攜式 IP 位址。

檢視可用的可攜式公用 IP 位址

若要列出叢集中所有可攜式 IP 位址(包含已使用及可用之位址),您可以執行以下指令。

kubectl get cm ibm-cloud-provider-vlan-ip-config -n kube-system -o yaml

若要僅列出可用於建立公用 NLB 或更多公用 ALB 的可攜式公用 IP 位址,可以使用下列步驟:

開始之前

要列出可用的可攜式公共 IP 位址,

  1. 建立名為 myservice.yaml 的 Kubernetes 服務配置檔,並且定義類型為 LoadBalancer 且具有虛擬 NLB IP 位址的服務。 下列範例使用 IP 位址 1.1.1.1 作為 NLB IP 位址。 請將 替換為您要檢查可用 IP 位址的區域。

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        run: myservice
      name: myservice
      namespace: default
      annotations:
        service.kubernetes.io/ibm-load-balancer-cloud-provider-zone: "<zone>"
    spec:
      ports:
      - port: 80
        protocol: TCP
        targetPort: 80
      selector:
        run: myservice
      sessionAffinity: None
      type: LoadBalancer
      loadBalancerIP: 1.1.1.1
    
  2. 在叢集裡建立服務。

    kubectl apply -f myservice.yaml
    
  3. 檢查服務。

    kubectl describe service myservice
    

    此服務的建立失敗,原因是 Kubernetes 主伺服器無法在 Kubernetes ConfigMap 中找到指定的 NLB IP 位址。 執行此指令時,可能會看到錯誤訊息以及該叢集的可用公用 IP 位址清單。

    Error on cloud load balancer a8bfa26552e8511e7bee4324285f6a4a for service default/myservice with UID 8bfa2655-2e85-11e7-bee4-324285f6a4af: Requested cloud provider IP 1.1.1.1 is not available. The following cloud provider IP addresses are available: <list_of_IP_addresses>
    

釋放已使用的 IP 位址

可以藉由刪除正在使用可攜式 IP 位址的網路負載平衡器 (NLB) 服務或停用正在使用可攜式 IP 位址的 Ingress 應用程式負載平衡器 (ALB),釋放已使用可攜式 IP 位址。

開始之前

若要刪除 NLB 或停用 ALB,

  1. 列出叢集裡可用的服務。
    kubectl get services | grep LoadBalancer
    
  2. 移除使用公用或專用 IP 位址的負載平衡器服務或停用使用該 IP 位址的 ALB。
    • 刪除 NLB:
        kubectl delete service <service_name>
        ```
    - 停用 ALB:
    ```sh {: pre}
        ibmcloud ks ingress alb disable --alb ALB_ID -c CLUSTER_NAME_OR_ID
        ```
    
    

新增可攜式 IP 位址

依預設,藉由建立網路負載平衡器 (NLB) 服務,即可使用 4 個可攜式公用 IP 位址和 4 個可攜式專用 IP 位址,將單一應用程式公開至公用或專用網路。 若要建立超過 4 個公用或 4 個專用 NLB,您可以將網路子網路新增至叢集來取得其他可攜式 IP 位址。

當您讓子網路可供叢集使用時,會使用這個子網路的 IP 位址來進行叢集網路連線。 若要避免 IP 位址衝突,請確定一個子網路只搭配使用一個叢集。 請不要同時將一個子網路用於多個叢集或 IBM Cloud Kubernetes Service 以外的其他用途。

藉由訂購更多子網路來新增可攜式 IP

您可以在 IBM Cloud 基礎架構帳戶中建立新的子網路,並讓它可供您指定的叢集使用,而為 NLB 服務取得其他可攜式 IP。

可攜式公用 IP 位址是按月計費。 如果您在佈建子網路之後移除可攜式公用 IP 位址,則仍須支付一個月的費用,即使您只是短時間使用。

開始之前

若要訂購子網路,

  1. 佈建新的子網路。

    ibmcloud ks cluster subnet create --cluster CLUSTER_NAME_OR_ID --size SUBNET_SIZE --vlan VLAN_ID
    
    子網路參數
    參數 說明
    <cluster_name_or_id> 請將「<cluster_name_or_id>」替換為叢集的名稱或 ID。
    <subnet_size> 請將「<subnet_size>」替換為您要在可攜式子網中建立的 IP 位址數量。 接受值為 8、16、32 或 64。 請注意,當您為子網新增可攜式 IP 位址時,系統會使用其中三個 IP 位址來建立叢集內部網路。 您無法將這三個 IP 位址用於 Ingress 應用負載平衡器 (ALB),亦無法用於建立網路負載平衡器 (NLB) 服務。 例如,如果您要求八個可攜式公用 IP 位址,則可以使用其中的五個將您的應用程式公開給大眾使用。
    <VLAN_ID> 請將「<VLAN_ID>」替換為您欲分配可攜式公網或私網 IP 位址之公網或私網 VLAN 的 ID。 您必須選取現有工作者節點所連接的公用或專用 VLAN。 若要檢視您的工作節點所連線的公共或私有 VLAN,請執行 ibmcloud ks cluster get --cluster CLUSTER --show-resources ,並在輸出結果中尋找「 子網 VLAN 」區段。 子網路佈建於 VLAN 所在的相同區域中。
  2. 驗證已順利建立子網路並將其新增至叢集。 子網路 CIDR 列出在 Subnet VLANs 區段中。

    ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_ID --show-resources
    

    在此範例輸出中,已將第二個子網新增至 2234945 公共VLAN。

    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false
    2234945   169.xx.xxx.xxx/29    true     false
    
  3. 重要事項:若要為位於相同 VLAN 之不同子網路上的工作者節點,啟用它們之間的通訊,您必須在相同 VLAN 上的子網路之間啟用遞送

藉由新增現有子網路至您的叢集來新增可攜式 IP

藉由讓 IBM Cloud 基礎架構帳戶中的現有子網路可供叢集使用,可以為 NLB 服務取得更多可攜式 IP。

開始之前

若要讓您的叢集能夠使用某個子網,

  1. 檢閱要配置可攜式公用或專用 IP 位址的公用或專用 VLAN 的 ID。 您必須選取現有工作者節點所連接的公用或專用 VLAN。
    ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_ID --show-resources
    
    在輸出的 Subnet VLANs 區段中,尋找 VLAN ID
    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false
    
  2. 取得要使用的子網路的 ID。 確保子網路位於上一步中找到的其中一個 VLAN ID 上,並且該子網路尚未連結至其他叢集。
    ibmcloud ks subnets --provider classic
    
    在此範例輸出中,子網 ID 為 1602829,該子網位於 VLAN ID 2234945 上。
    GETting subnet list...
    OK
    ID        Network             Gateway          VLAN ID   Type      Bound Cluster
    1550165   10.xxx.xx.xxx/26    10.xxx.xx.xxx    2234947   private
    1602829   169.xx.xxx.xxx/28   169.xx.xxx.xxx   2234945   public
    
  3. 使子網路可用於叢集。
    ibmcloud ks cluster subnet add --cluster CLUSTER_NAME_OR_ID --subnet-id SUBNET_ID
    
  4. 驗證已順利建立子網路並將其新增至叢集。 子網路 CIDR 列出在 Subnet VLANs 區段中。
    ibmcloud ks cluster get --cluster CLUSTER_NAME --show-resources
    
    在此範例輸出中,已將第二個子網新增至 2234945 公共VLAN。
    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false
    2234945   169.xx.xxx.xxx/29    true     false
    
  5. 重要事項:若要為位於相同 VLAN 之不同子網路上的工作者節點,啟用它們之間的通訊,您必須在相同 VLAN 上的子網路之間啟用遞送

管理子網路遞送

在標準叢集裡,如果您的叢集具有多個 VLAN、相同 VLAN 上有多個子網路,或者是您具有多區域的標準叢集,則必須為您的 IBM Cloud 基礎架構帳戶啟用虛擬路由器功能 (VRF),讓工作者節點可以在專用網路上彼此通訊。 若要啟用 VRF,請參閱 啟用 VRF。 若要檢查是否已啟用 VRF,請使用 ibmcloud account show 指令。 如果您無法或不想啟用 VRF,請啟用 VLAN Spanning。 若要執行此操作,您需要具備「網路 > 管理網路 VLAN 跨域基礎架構」的權限,或者您可以向帳戶擁有者提出請求,請其啟用此權限。 若要檢查 VLAN 跨域功能是否已啟用,請使用 ibmcloud ks vlan spanning get --region <region> 指令

檢閱下列也需要 VLAN Spanning 的情境。

針對在啟用 VRF 功能之帳戶中建立的叢集,會停用 VLAN Spanning 選項。 啟用 VRF 時,帳戶中的所有 VLAN 可以自動透過專用網路與彼此通訊。 如需相關資訊,請參閱規劃叢集網路設定:工作者節點與工作者節點的通訊

在相同 VLAN 上的主要子網路之間啟用遞送

當您建立叢集時,會在公用及專用 VLAN 上佈建主要公用及專用子網路。 主要的公用子網路會以 /28 為結尾,並為工作者節點提供 14 個公用 IP。 主要的專用子網路會以 /26 為結尾,並為最多 62 個工作者節點提供專用 IP。

如果您在相同 VLAN 的相同位置中擁有大型叢集或數個較小的叢集,便可能會超出工作者節點的起始 14 個公用及 62 個專用 IP。 當公用或專用子網路達到工作者節點的限制時,會訂購同一個 VLAN 中的另一個主要子網路。

若要確保相同 VLAN 上這些主要子網路中的工作者節點可以通訊,您必須開啟 VLAN Spanning。 如需指示,請參閱啟用或停用 VLAN Spanning

若要檢查 VLAN 跨域功能是否已啟用,請使用 ibmcloud ks vlan spanning get --region <region> 指令

管理閘道應用裝置的子網路遞送

建立叢集時,會在連接叢集的 VLAN 上訂購可攜式公用及可攜式專用子網路。 這些子網路會提供 Ingress 應用程式負載平衡器 (ALB) 及網路負載平衡器 (NLB) 服務的 IP 位址。

不過,如果您具有現有的路由器應用裝置,例如 Virtual Router Appliance (VRA),則不會在路由器上配置剛新增的可攜式子網路,這些子網路來自叢集連接到的那些 VLAN。 若要使用 NLB 或 Ingress ALB,您必須針對 IBM Cloud 基礎架構帳戶啟用 虛擬路由器功能(VRF),以確保網路裝置可以在相同 VLAN 上的不同子網路之間遞送。 若要啟用 VRF,請參閱 啟用 VRF。 如果您無法或不想啟用 VRF,請啟用 VLAN Spanning

從叢集裡移除子網路

如果不再需要子網路,可以將其從叢集裡移除。 移除子網路後,該子網路不再可用於叢集,但仍然存在於 IBM Cloud 基礎架構帳戶中。

開始之前,請先審閱以下注意事項。

  • 僅當叢集裡沒有使用從該子網路範圍衍生的任何 IP 位址時,才能從叢集分離子網路。
  • 可攜式公用 IP 位址是按月計費。 如果移除子網路,則即使該子網路中的 IP 位址只使用了很短的時間,您也仍然必須支付一個月的費用。
  • 如果您的工作者節點先前已使用您要分離的子網路,但目前沒有工作者節點連接至此子網路 VLAN 上的任何子網路,則叢集看不到該子網路。 您可以改為直接在 IBM Cloud 標準基礎架構主控台中取消子網路。
  1. 找到要移除的子網路的 CIDR。
    ibmcloud ks cluster get --cluster <cluster_name> --show-resources
    
    在此範例輸出中,要移除的子網路的 CIDR 為 169.1.1.1/29
    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false
    2234945   169.1.1.1/29         true     false
    
  2. 使用在上一步中找到的 CIDR,取得要移除的子網路的 ID。
    ibmcloud ks subnets --provider classic
    
    在此範例輸出中,CIDR 為 169.1.1.1/29 的子網路的 ID 為 1602829
    ID        Network             Gateway          VLAN ID   Type      Bound Cluster
    ...
    1602829   169.1.1.1/29        169.1.1.2        2234945   public    df253b6025d64944ab99ed63bb4567b6
    
  3. 從叢集分離子網路。 子網路仍然可用於您的 IBM Cloud 基礎架構帳戶。
    ibmcloud ks cluster subnet detach --cluster <cluster_name_or_ID> --subnet-id <subnet_ID>
    
  4. 驗證子網路已不再連結至您的叢集。
    ibmcloud ks cluster get --cluster <cluster_name> --show-resources
    
    在此範例輸出中,已移除 CIDR 為 169.1.1.1/29 的子網路。
    Subnet VLANs
    VLAN ID   Subnet CIDR          Public   User-managed
    2234947   10.xxx.xx.xxx/29     false    false
    2234945   169.xx.xxx.xxx/29    true     false