標準叢集: 為何未在區域中部署 ALB?
經典基礎架構
當您擁有一個多區域的經典叢集,並執行 ibmcloud ks ingress alb ls --cluster CLUSTER`` 指令時,任何區域中均不會部署 ALB。 例如,如果您在 3 個區域中具有工作者節點,則可能會看到如下的輸出,其中公用 ALB 未部署至第三個區域。
ALB ID Enabled Status Type ALB IP Zone Build ALB VLAN ID NLB Version
private-cr96039a75fddb4ad1a09ced6699c88888-alb1 false disabled private - dal10 ingress:1.1.2_2507_iks 2294021 -
private-cr96039a75fddb4ad1a09ced6699c88888-alb2 false disabled private - dal12 ingress:1.1.2_2507_iks 2234947 -
private-cr96039a75fddb4ad1a09ced6699c88888-alb3 false disabled private - dal13 ingress:1.1.2_2507_iks 2234943 -
public-cr96039a75fddb4ad1a09ced6699c88888-alb1 true enabled public 169.xx.xxx.xxx dal10 ingress:1.1.2_2507_iks 2294019 -
public-cr96039a75fddb4ad1a09ced6699c88888-alb2 true enabled public 169.xx.xxx.xxx dal12 ingress:1.1.2_2507_iks 2234945 -
在標準叢集中,當您首次在某個區域中建立叢集時,系統會自動在您的 IBM Cloud 經典基礎架構帳戶中,為該區域配置一個公共 VLAN 和一個私有 VLAN。
在該區域中,會在您指定的公用 VLAN 上要求 1 個公用可攜式子網路,並在您指定的專用 VLAN 上要求 1 個專用可攜式子網路。 對於 IBM Cloud Kubernetes Service,VLAN 的限制為 40 個子網路。 如果區域中叢集的 VLAN 已達到該限制,則 Ingress 子網域 無法佈建,且該區域的公用 Ingress ALB 無法佈建。
若要檢視 VLAN 有多少子網路,請執行下列動作:
- 從 IBM Cloud classic 基礎架構主控台,選擇網路 > IP 管理 > VLAN。
- 按一下您用來建立叢集之 VLAN 的 VLAN 號碼。 檢閱 Subnets 區段,以查看是否有 40 個以上的子網路。
請選擇以下其中一個選項來解決此問題:
- 選項 1:訂購新的 VLAN
- 如果您需要新的 VLAN,請與 IBM Cloud 支援中心聯絡,進行訂購。 然後,建立叢集,而叢集使用這個新的 VLAN。
- 選項 2:在可用的 VLAN 上使用 VLAN 跨接
- 如果您有另一個可用的 VLAN,可以在現有叢集裡設定 VLAN Spanning。 之後,您便可以將新的工作者節點新增至使用具有可用子網路之另一個 VLAN 的叢集。 若要檢查 VLAN 跨域功能是否已啟用,請使用
ibmcloud ks vlan spanning get --region REGION指令。 - 選項 3:重複使用 VLAN 上的現有子網路
- 如果並未使用 VLAN 中的所有子網路,則可以透過將 VLAN 上的子網路新增到叢集來重複使用這些子網路。
選擇選項後,完成下列步驟。
-
檢查要使用的子網路是否可用。
使用的基礎架構帳戶可能在多個 IBM Cloud 帳戶之間共用。 在這種情況下,即使執行
ibmcloud ks subnets指令來查看 Bound Cluster 的子網路,也只能看到您的叢集的資訊。 請洽詢基礎架構帳戶擁有者,以確定子網路可供使用,且其他任何帳戶或團隊不在使用中。 -
使用
ibmcloud ks cluster subnet add指令使現有子網路可供叢集使用。 -
驗證已順利建立子網路並將其新增至叢集。 子網路 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 -
請確認您所新增子網中的可攜式 IP 位址,是否已用於您叢集中的 ALB。 各項服務可能需要幾分鐘時間,才能開始使用新子網中的可攜式 IP 位址。
- 沒有 Ingress 子網域:執行
ibmcloud ks cluster get --cluster CLUSTER以確認 Ingress 子網域是否已填入。 - ALB 未部署在該區域中:執行
ibmcloud ks ingress alb ls --cluster CLUSTER以確認遺漏的 ALB 是否已部署。
- 沒有 Ingress 子網域:執行