向 Classic 叢集新增工作節點

Classic infrastructure

請參閱以下各節,了解如何將工作節點新增至您的經典叢集。

想要將工作者節點新增至 VPC 叢集嗎? 請參閱 將工作者節點新增至 VPC 叢集。

若要增加應用程式的可用性,您可以將工作者節點新增至叢集裡的現有區域或多個現有區域。 為了協助保護應用程式使其免受區域故障影響,您可以將區域新增至叢集。

當您建立叢集時,會在工作者節點儲存區中佈建工作者節點。 在建立叢集之後,您可以藉由調整其大小或新增更多工作者節點儲存區,來將更多工作者節點新增至儲存區。 依預設,工作者節點儲存區存在於一個區域中。 一個區域中只有一個工作者節點儲存區的叢集稱為單一區域叢集。 當您將更多區域新增至叢集時,工作者節點儲存區會存在於多個區域。 具有分散到多個區域之工作者節點儲存區的叢集稱為多區域叢集。

如果您有多區域叢集,請保持其工作者節點資源的平衡。 請確定所有工作者節點儲存區都分散到相同區域,並藉由調整儲存區大小來新增或移除工作者節點,而不是新增個別節點。 設定工作者節點儲存區之後,您可以設定叢集 Autoscaler,以根據工作負載資源要求來自動新增或移除工作者節點儲存區中的工作者節點。

經典工作節點的預留功能已不再支援。 2026年10月15日之後,將無法建立新的預訂合約。 如果您現有的預留合約即將到期,您必須在合約到期日前建立一個不使用預留資源的新工作群組,並將您的工作負載遷移至該工作群組。

建立工作者節點儲存區

您可以建立新的工作者節點儲存區,以將工作者節點新增至標準叢集。 若您先前曾使用預留資源來配置工作節點,請注意,預留資源功能已不再支援。 請改為建立一個標準的工作者池。

開始之前,請確認您已安裝 操作員 或 管理員 IAM 平台存取角色。

  1. 擷取叢集的工作者節點區域,並選擇要在工作者節點儲存區中部署工作者節點的區域。 如果您具有單一區域叢集,則必須使用您在工作者節點區域欄位中看到的區域。 對於多區域叢集,您可以選擇叢集中現有的任何「工作節點區域」,或新增叢集所屬區域中的其中一個 多區域位置。 可以藉由執行 ibmcloud oc zone ls 來列出可用區域。

    ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID
    

    輸出範例

    ...
    Worker Zones: dal10, dal12, dal13
    
  2. 針對每一個區域,列出可用的專用及公用 VLAN。 請記下您要使用的專用及公用 VLAN。 如果您沒有私有或公共 VLAN,當您將區域新增至工作壟池時,系統會自動為您建立 VLAN。

    ibmcloud oc vlan ls --zone ZONE
    
  3. 針對每個區域,請檢視工作節點可用的版本。

    ibmcloud oc flavors --zone ZONE
    
  4. 建立工作者節點儲存區。 如需其他選項,請參閱 CLI 文件。

    • 包含 --label 選項以使用 key=value 標籤自動標示儲存區中的工作者節點。
    • 如果佈建的是裸機或專用 VM 工作者節點儲存區,請指定 --hardware dedicated。
    • 新的工作者節點會執行與叢集主節點相同的 major.minor 版本,但會執行該 major.minor 版本的最新工作者節點修補程式。
    ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER_NAME_OR_ID --flavor FLAVOR --size-per-zone NUMBER_OF_WORKERS_PER_ZONE [--operating-system (REDHAT_8_64)] [--label key=value]
    
  5. 驗證已建立工作者節點儲存區。

    ibmcloud oc worker-pool ls --cluster CLUSTER_NAME_OR_ID
    
  6. 依預設,新增工作者節點儲存區會建立沒有區域的儲存區。 若要在區域中部署工作者節點,您必須將先前擷取的區域新增至工作者節點儲存區。 如果您要將工作者節點分散到多個區域,請對每一個區域重複這個指令。

    ibmcloud oc zone add classic --zone ZONE --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME --private-vlan PRIVATE_VLAN_ID --public-vlan PUBLIC_VLAN_ID
    
  7. 驗證工作者節點佈建於您所新增的區域中。 當狀態從「provision_pending」變更為「normal」時,您的工作節點即已就緒。

    ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME
    

    輸出範例

    ID                                                 Public IP        Private IP      Machine Type      State    Status  Zone    Version
    kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w7   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          provision_pending   Ready   dal10   1.36
    kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w8   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          provision_pending   Ready   dal10   1.36
    

調整工作者節點儲存區的大小

不論工作者節點儲存區是在一個區域還是分散到多個區域,您都可以藉由調整現有工作者節點儲存區的大小來新增或減少叢集裡的工作者節點數目。

例如,請考慮使用一個工作者節點儲存區的每個區域有三個工作者節點的叢集。

  • 如果叢集是單一區域,並且存在於 dal10 中,則工作者節點儲存區在 dal10 中有三個工作者節點。 叢集共有三個工作者節點。
  • 如果叢集是多區域,並且存在於 dal10 及 dal12 中,則工作者節點儲存區在 dal10 中有三個工作者節點,而且三個工作者節點都在 dal12 中。 叢集共有六個工作者節點。

針對裸機工作者節點儲存區,請謹記是按月計費。 如果您向上或向下調整大小,則它會影響該月的成本。 當您透過調整工作者節點儲存區的大小來新增工作者節點時,新的工作者節點會執行與叢集主節點相同的 major.minor 版本,但會執行該 major.minor 版本的最新工作者節點修補程式。

開始之前,請確認您已安裝 操作員 或 管理員 IAM 平台存取角色。

若要調整工作者節點儲存區的大小,請變更工作者節點儲存區在每一個區域中部署的工作者節點數目:

  1. 取得您要調整大小的工作者節點儲存區的名稱。
    ibmcloud oc worker-pool ls --cluster CLUSTER_NAME_OR_ID
    
  2. 指定您要在每一個區域中部署的工作者節點數目,以調整工作者節點儲存區的大小。
    ibmcloud oc worker-pool resize --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME --size-per-zone NUMBER_OF_WORKERS_PER_ZONE
    
  3. 驗證已調整工作者節點儲存區的大小。
    ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID --worker-pool POOL_NAME
    
    位於兩個區域( dal10 及 dal12)中且調整大小為每個區域有兩個工作者節點之工作者節點儲存區的輸出範例:
    ID                                                 Public IP        Private IP      Machine Type      State    Status  Zone    Version
    kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w7   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   dal10   1.36
    kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w8   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   dal10   1.36
    kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w9   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   dal12   1.36
    kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w10  169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   dal12   1.36
    

將區域新增至工作者節點儲存區

您可以讓標準叢集跨越一個地區內的多個區域,方法是將區域新增至現有工作者節點儲存區。

當您將區域新增至工作者節點儲存區時,工作者節點儲存區中定義的工作者節點會佈建在新區域中,並考量用於未來工作負載排程。Red Hat OpenShift on IBM Cloud 會自動將地區的 failure-domain.beta.kubernetes.io/region 標籤及區域的 failure-domain.beta.kubernetes.io/zone 標籤新增至每一個工作者節點。 Kubernetes 排程器使用這些標籤,以將 Pod 分散到相同地區內的區域。

如果您的叢集中有多個工作節點池,請將該區域新增至所有工作節點池中,以便工作節點在叢集中均勻分布。 請注意,當您將工作者節點新增至叢集時,新的工作者節點會執行與叢集主節點相同的 major.minor 版本,但會執行該 major.minor 版本的最新工作者節點修補程式。

開始之前:

  • 若要將區域新增至工作者節點儲存區,該工作者節點儲存區必須位於具有多區域功能的區域中。 如果您的工作者節點儲存區不在具有多區域功能的區域中,請考慮建立新工作者節點儲存區。
  • 請確認您已具備「[Operator or Administrator IAM platform access role]」(/docs/openshift?topic=openshift-iam-platform-access-roles)。
  • 在標準叢集裡,如果您的叢集具有多個 VLAN、相同 VLAN 上有多個子網路,或者是您具有多區域的標準叢集,則必須為您的 IBM Cloud 基礎架構帳戶啟用虛擬路由器功能 (VRF),讓工作者節點可以在專用網路上彼此通訊。 若要啟用 VRF,請參閱 啟用 VRF。 若要檢查是否已啟用 VRF,請使用 ibmcloud account show 指令。 如果您無法或不想啟用 VRF,請啟用 VLAN Spanning。 若要執行此操作,您需要具備「網路 > 管理網路 VLAN 跨域基礎架構」的權限,或者您可以要求帳戶擁有者為您啟用此權限。 若要檢查 VLAN 跨接功能是否已啟用,請使用 ibmcloud oc vlan spanning get --region <region> 指令。

若要將具有工作者節點的區域新增至工作者節點儲存區,請執行下列動作:

  1. 列出可用的區域,並挑選您要新增至工作者節點儲存區的區域。 您選擇的區域必須是具有多區域功能的區域。

    ibmcloud oc zone ls
    
  2. 列出該區域中的可用 VLAN。 如果您沒有私有或公共 VLAN,當您將區域新增至工作壟池時,系統會自動為您建立 VLAN。

    ibmcloud oc vlan ls --zone ZONE
    
  3. 列出叢集裡的工作者節點儲存區,並記下其名稱。

    ibmcloud oc worker-pool ls --cluster CLUSTER_NAME_OR_ID
    
  4. 將區域新增至工作者節點儲存區。 如果您有多個工作者節點儲存區,請將區域新增至所有工作者節點儲存區,以平衡所有區域中的叢集。

    必須要有專用及公用 VLAN,才能將區域新增至多個工作者節點儲存區。 若該區域中尚未設有私有 VLAN 和公共 VLAN,請先將該區域新增至某個工作彙總中,系統便會自動為您建立私有 VLAN 和公共 VLAN。 然後,您可以指定為您所建立的專用及公用 VLAN,以將該區域新增至其他工作者節點儲存區。

    如果您要對不同的工作者節點儲存區使用不同的 VLAN,則請針對每一個 VLAN 及其對應工作者節點儲存區重複這個指令。 任何新的工作者節點都會新增至您指定的 VLAN,但不會變更任何現有工作者節點的 VLAN。

    ibmcloud oc zone add classic --zone ZONE --cluster CLUSTER_NAME_OR_ID -p POOL_NAME [-p POOL2_NAME] --private-vlan PRIVATE_VLAN_ID --public-vlan PUBLIC_VLAN_ID
    
  5. 驗證已將區域新增至叢集。 在輸出的 Worker zones 欄位中,尋找已新增的區域。 請注意,隨著在已新增的區域中佈建新工作者節點,Workers 欄位中的工作者節點總數會增加。

    ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID
    

    輸出範例

    NAME:                           mycluster
    ID:                             df253b6025d64944ab99ed63bb4567b6
    State:                          normal
    Status:                         healthy cluster
    Created:                        2018-09-28T15:43:15+0000
    Location:                       dal10
    Pod Subnet:                     172.30.0.0/16
    Service Subnet:                 172.21.0.0/16
    Master URL:                     https://c3.<region>.containers.cloud.ibm.com:30426
    Public Service Endpoint URL:    https://c3.<region>.containers.cloud.ibm.com:30426
    Private Service Endpoint URL:   https://c3-private.<region>.containers.cloud.ibm.com:31140
    Master Location:                Dallas
    Master Status:                  Ready (21 hours ago)
    Ingress Subdomain:              mycluster-<hash>-0000.us-south.containers.appdomain.cloud
    Ingress Secret:                 mycluster-<hash>-0000
    Workers:                        6
    Worker Zones:                   dal10, dal12
    Version:                        1.36_1524
    Owner:                          owner@email.com
    Resource Group ID:              a8a12accd63b437bbd6d58fb6a462ca7
    Resource Group Name:            Default