變更服務端點或 VLAN 連線
在建立叢集 時完成初步網路設定後,您可以變更叢集主節點可透過哪些服務端點存取,或變更工作節點的 VLAN 連線設定。
本頁內容專指 僅限經典群組。 如需 VPC 叢集的相關資訊,請參閱 VPC 叢集網路。
設定私有雲服務的端點
啟用叢集的專用雲端服務端點。
透過私有雲服務端點,您可以私下存取您的 Kubernetes 主節點。 工作者節點和授權叢集使用者可以透過專用網路與 Kubernetes 主節點通訊。 若要確認是否可以啟用私有雲服務端點,請參閱 「工作節點與主節點之間的通訊」及「使用者與主節點之間的通訊」。 請注意,一旦啟用私有雲服務端點後,便無法再將其停用。
在為您的帳戶啟用 VRF 和 服務端點 之前,您是否曾建立過僅包含私有雲服務端點的叢集? 請嘗試使用 設定公有雲服務的端點,這樣您就能在技術支援案件處理完畢並更新您的帳戶之前,繼續使用您的叢集。
-
在您的 IBM Cloud 基礎架構帳戶中啟用 VRF。 若要檢查是否已啟用 VRF,請使用
ibmcloud account show指令。 -
啟用私有雲服務端點。
ibmcloud ks cluster master private-service-endpoint enable --cluster CLUSTER_NAME_OR_ID -
重新載入 Kubernetes 主 API 伺服器,以使用私有雲服務的端點。 您可以遵循 CLI 中的提示,或手動執行下列指令。 主節點重新整理可能需要幾分鐘時間。
ibmcloud ks cluster master refresh --cluster CLUSTER_NAME_OR_ID -
建立 ConfigMap,以控制叢集裡可能在某個時間無法使用的工作者節點數目上限。 更新工作者節點時,ConfigMap 會協助避免應用程式的運作中斷時間,因為會依序將應用程式重新排定至可用的工作者節點。
-
請將叢集中的所有工作節點更新,以套用私有雲服務端點的配置。
藉由發出 update 指令,會重新載入工作者節點,以反映服務端點配置。 如果沒有工作者節點更新項目可供使用,則必須手動重新載入工作者節點。 如果您重新載入,則務必隔離、排除及管理訂購,以控制在某個時間無法使用的工作者節點數目上限。
ibmcloud ks worker update --cluster CLUSTER_NAME_OR_ID --worker WORKER1,WORKER2 -
如果叢集位於受防火牆保護的環境,請執行下列動作:
- 允許您群集中的授權使用者執行
kubectl指令,透過私有雲服務端點存取主節點。 - 針對基礎架構資源以及您計劃使用的 IBM Cloud 服務,允許專用 IP 的出埠網路資料流量。
- 允許您群集中的授權使用者執行
-
可選:若僅要使用私有雲服務的端點:
設定公有雲服務的端點
啟用或停用您叢集的公有雲服務端點。
透過公有雲服務端點,您的 Kubernetes 主節點將對外開放存取。 工作者節點和授權叢集使用者可以透過公用網路與 Kubernetes 主節點安全地通訊。 如需相關資訊,請參閱工作者節點對主節點的通訊以及使用者對主節點的通訊。
啟用公用雲端服務端點的步驟
如果您先前已停用公開端點,可以重新啟用它。
- 啟用公有雲服務端點。
ibmcloud ks cluster master public-service-endpoint enable --cluster CLUSTER_NAME_OR_ID - 重新整理 Kubernetes 主 API 伺服器,以使用公有雲服務的端點。 您可以遵循 CLI 中的提示,或手動執行下列指令。 主節點重新整理可能需要幾分鐘時間。
ibmcloud ks cluster master refresh --cluster CLUSTER_NAME_OR_ID - 建立 ConfigMap,以控制叢集裡可能在某個時間無法使用的工作者節點數目上限。 更新工作者節點時,ConfigMap 會協助避免應用程式的運作中斷時間,因為會依序將應用程式重新排定至可用的工作者節點。
- 請將叢集中的所有工作節點進行更新,以移除公有雲服務端點的設定。
藉由發出 update 指令,會重新載入工作者節點,以反映服務端點配置。 如果沒有可用的工作節點更新,您必須使用ibmcloud ks worker update --cluster CLUSTER_NAME_OR_ID --worker WORKER1,WORKER2ibmcloud ks worker reload指令 手動重新載入工作節點。 如果您重新載入,則務必隔離、排除及管理訂購,以控制在某個時間無法使用的工作者節點數目上限。
停用公用雲端服務端點的步驟
若要停用公有雲服務端點,您必須先啟用私有雲服務端點,以便您的工作節點能夠與 Kubernetes 主節點進行通訊。
-
停用公有雲服務端點。
ibmcloud ks cluster master public-service-endpoint disable --cluster CLUSTER_NAME_OR_ID -
請依照 CLI 提示,或手動執行以下指令,重新整理 Kubernetes 主 API 伺服器,以移除公共雲端服務端點。 主節點重新整理可能需要幾分鐘時間。
ibmcloud ks cluster master refresh --cluster CLUSTER_NAME_OR_ID -
建立 ConfigMap,以控制叢集裡可能在某個時間無法使用的工作者節點數目上限。 更新工作者節點時,ConfigMap 會協助避免應用程式的運作中斷時間,因為會依序將應用程式重新排定至可用的工作者節點。
-
請將叢集中的所有工作節點進行更新,以移除公有雲服務端點的設定。
ibmcloud ks worker update --cluster CLUSTER_NAME_OR_ID --worker WORKER1,WORKER2藉由發出 update 指令,會重新載入工作者節點,以反映服務端點配置。 如果沒有可用的工作節點更新,您必須使用
ibmcloud ks worker reload指令 手動重新載入工作節點。 如果您重新載入,則務必隔離、排除及管理訂購,以控制在某個時間無法使用的工作者節點數目上限。
從公有雲服務端點切換至私有雲服務端點
透過啟用私有雲服務端點,讓工作節點能透過私有網路而非公共網路與主節點進行通訊。
所有同時連接到公共 VLAN 和私有 VLAN 的叢集,預設都會使用公共雲服務終端點。 工作者節點和授權叢集使用者可以透過公用網路與 Kubernetes 主節點安全地通訊。 若要讓工作節點透過私有網路(而非公共網路)與 Kubernetes 主節點通訊,您可以啟用私有雲服務端點。 接著,您可以選擇性地停用公有雲服務的端點。
- 若您啟用私有雲服務端點,並同時保持公有雲服務端點處於啟用狀態,工作節點將始終透過私有網路與主節點通訊;但您的使用者可選擇透過公有網路或私有網路與主節點通訊。
- 若您啟用私有雲服務端點,但停用公有雲服務端點,工作節點和使用者必須透過私有網路與主節點進行通訊。
一旦啟用私有雲服務端點,便無法再將其停用。
-
在您的 IBM Cloud 基礎架構帳戶中啟用 VRF。 若要檢查是否已啟用 VRF,請使用
ibmcloud account show指令。 -
啟用私有雲服務端點。
ibmcloud ks cluster master private-service-endpoint enable --cluster CLUSTER_NAME_OR_ID -
請依照 CLI 提示,或手動執行以下指令,重新整理 Kubernetes 主 API 伺服器,以使用私有雲服務的端點。 主節點重新整理可能需要幾分鐘時間。
ibmcloud ks cluster master refresh --cluster CLUSTER_NAME_OR_ID -
建立 ConfigMap,以控制叢集裡可能在某個時間無法使用的工作者節點數目上限。 更新工作者節點時,ConfigMap 會協助避免應用程式的運作中斷時間,因為會依序將應用程式重新排定至可用的工作者節點。
-
請將叢集中的所有工作節點更新,以套用私有雲服務端點的配置。
藉由發出 update 指令,會重新載入工作者節點,以反映服務端點配置。 如果沒有工作者節點更新項目可供使用,則必須手動重新載入工作者節點。 如果您重新載入,則務必隔離、排除及管理訂購,以控制在某個時間無法使用的工作者節點數目上限。
ibmcloud ks worker update --cluster CLUSTER_NAME_OR_ID --worker WORKER1,WORKER2 -
可選:若僅要使用私有雲服務的端點:
- 停用公有雲服務端點。
ibmcloud ks cluster master public-service-endpoint disable --cluster CLUSTER_NAME_OR_ID ``` 2. [在私有雲服務端點上設定對主伺服器的存取權限](/docs/containers?topic=containers-access-private-classic)。
變更工作者節點 VLAN 連線
建立叢集時,您可以選擇要將工作者節點連接至專用和公用 VLAN,還是要連接至僅限專用 VLAN。 工作者節點是儲存網路 meta 資料的工作者節點儲存區一部分,而網路 meta 資料包括用來佈建儲存區中未來工作者節點的 VLAN。 建議您稍後變更叢集的 VLAN 連線功能設定,如下所示。
- 區域中的工作者節點儲存區 VLAN 已耗盡容量,而且您需要針對要使用的叢集工作者節點佈建新的 VLAN。
- 您叢集的工作者節點同時位於公用和專用 VLAN,但您要變更為僅限專用叢集。
- 您具有僅限專用叢集,但想要一些工作者節點(例如公用 VLAN 上邊緣節點的工作者節點儲存區),以在網際網路上公開應用程式。
嘗試改為變更服務端點以進行主節點與工作者節點的通訊嗎? 請參閱公用和專用服務端點的設定主題。
從 VLAN 移除所有工作者節點會移除 VLAN 區域中 Ingress ALB 的 IP 位址。
請登入您的帳戶。 適用的話,請將適當的資源群組設為目標。 設定叢集的環境定義。
若要變更工作者節點儲存區用來佈建工作者節點的 VLAN,請執行下列動作:
-
列出叢集裡工作者節點儲存區的名稱。
ibmcloud ks worker-pool ls --cluster CLUSTER_NAME_OR_ID -
判定其中一個工作者節點儲存區的區域。 在輸出中,尋找 Zones 欄位。
ibmcloud ks worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME -
針對您在前一個步驟中找到的每個區域,取得彼此相容的可用公用和專用 VLAN。
- 檢查輸出中類型下所列出的可用公用和專用 VLAN。
ibmcloud ks vlan ls --zone ZONE ``` 2. 確認區域中的公用和專用 VLAN 是相容的。 為了能夠相容,**Router** 必須具有相同的 Pod ID。 在此範例輸出中,**Router** Pod ID 相符:`01a` 和 `01a`。 如果一個 Pod 的 ID 是 `01a`,另一個則是 `02a`,您便無法將這些公共和私有 VLAN ID 設定為您的工作者群組。 ```sh {: screen} ID Name Number Type Router Supports Virtual Workers 229xxxx 1234 private bcr01a.dal12 true 229xxxx 5678 public fcr01a.dal12 true ``` 3. 如果您需要訂購區域的新公用或專用 VLAN,則可以在 [IBM Cloud 主控台](/docs/vlans?topic=vlans-ordering-premium-vlans#ordering-premium-vlans)中訂購,或使用下列指令。 請記住,VLAN 必須與前一個步驟中的相符 **Router** Pod ID 相容。 如果您建立一對新的公用和專用 VLAN,則它們必須彼此相容。 ```sh {: pre} ibmcloud sl vlan create -t [public|private] -d <zone> -r <compatible_router> ``` 4. 記下相容 VLAN 的 ID。 -
針對每個區域,使用新的 VLAN 網路 meta 資料來設定工作者節點儲存區。 您可以建立新的工作者節點儲存區,或修改現有的工作者節點儲存區。
-
建立工作節點池:請參閱「透過建立新的工作節點池來新增工作節點」。
-
修改現有的工作者節點儲存區:針對每個區域,設定工作者節點儲存區的網路 meta 資料以使用 VLAN。 已在儲存區中建立的工作者節點會繼續使用前一個 VLAN,但儲存區中的新工作者節點會使用您設定的新 VLAN meta 資料。
-
同時新增公用和專用 VLAN 的範例,例如,如果您從僅限專用變更為專用及公用:
ibmcloud ks zone network-set --zone ZONE --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME --private-vlan PRIVATE_VLAN_ID --public-vlan PUBLIC_VLAN_ID ``` - 僅新增專用 VLAN 的範例,例如,如果您在具有[已啟用 VRF 且使用服務端點的帳戶](/docs/account?topic=account-vrf-service-endpoint)時從公用和專用 VLAN 變更為僅限專用: ```sh {: pre} ibmcloud ks zone network-set --zone ZONE --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME --private-vlan PRIVATE_VLAN_ID --private-only ``` -
-
重新調整工作者節點儲存區大小,以將工作者節點新增至該儲存區。
ibmcloud ks worker-pool resize --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME --size-per-zone NUMBER_OF_WORKERS_PER_ZONE如果您要移除使用前一個網路 meta 資料的工作者節點,請將每個區域的工作者節點數目變更為每個區域的先前工作者節點數量的兩倍。 稍後,您可以在這些步驟中隔離、排除及移除先前的工作者節點。
-
請確認輸出結果中顯示的新工作節點已使用正確的公共 IP 位址和私有 IP 位址建立。 例如,如果您將工作者節點儲存區從公用和專用 VLAN 變更為僅限專用,則新的工作者節點只有專用 IP。 如果您將工作者節點儲存區從僅限專用變更為公用和專用 VLAN,則新的工作者節點同時具有公用和專用 IP。
ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME -
選用項目:從工作者節點儲存區移除具有先前網路 meta 資料的工作者節點。
- 請在上一步驟的輸出結果中,記下您要從工作節點池中移除的工作節點的 ID。
- 移除工作者節點。
ibmcloud ks worker rm --cluster CLUSTER_NAME_OR_ID --worker WORKER_NAME_OR_ID ``` 3. 驗證已移除工作者節點。 ```sh {: pre} ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME ``` 4. 重新平衡工作程式儲存區。 ```sh {: pre} ibmcloud ks worker-pool rebalance --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME ``` -
(可選):針對叢集中的每個工作節點池,重複步驟 2 至 7。 完成這些步驟之後,就會使用新的 VLAN 來設定叢集裡的所有工作者節點。
-
叢集裡的預設 ALB 仍會連結至舊 VLAN,因為其 IP 位址來自該 VLAN 上的子網路。 因為無法在 VLAN 之間移動 ALB,所以您可以改為 在新的 VLAN 上建立 ALB,並在舊 VLAN 上停用 ALB。
-
選用:如果不再需要舊 VLAN 上的子網路,則可以移除子網路。