建立 VPC 叢集

虛擬私有雲

請使用 IBM Cloud CLI 或 IBM Cloud 控制台 建立標準 VPC 叢集,並自訂您的叢集,以滿足應用程式的高可用性與安全性需求。

想要執行虛擬機器? OpenShift 虛擬化服務 提供預先設定的群集,可自動設定虛擬化功能、儲存設備和網路。 請參閱 建立虛擬化服務群集 開始使用。

必要條件及注意事項

  • 確保您的 VPC 帳戶有足夠的 vCPU, 記憶體、GPU、實例儲存和最佳化實例儲存資源配額。 VPC 會根據虛擬伺服器實例 (VSI) 工作節點的每個帳戶來管理這些配額。 如果達到配額限制,工作站節點的佈建將會失敗。 若要檢查您目前的配額使用情況,請參閱 檢視 VPC 資源指標。 如需詳細資訊,請參閱 VPC 配額為何我的 VPC 工作節點因配額限制而無法佈建?

  • 如果工作者節點必須存取公用端點,或者如果您計劃同時啟用公用及專用雲端服務端點,則必須將公用閘道連接至 VPC 中的每一個子網路,以存取預設 Red Hat OpenShift 元件,例如 Web 主控台或 OperatorHub。

  • 如果您計劃同時啟用公用及專用雲端服務端點,則必須將公用閘道連接至每一個子網路,以存取預設 Red Hat OpenShift 元件,例如 Web 主控台或 OperatorHub。 此外,若要讓您的叢集存取公開端點(例如其他應用程式的公開 URL,或是僅支援公開雲端服務端點的 IBM Cloud 服務),則必須使用公共網路閘道。 確保檢閱 VPC 網路基礎知識,以瞭解何時需要公用網路閘道,以及如何設定叢集,以將公用存取權的作用對象限制至僅一個以上子網路。

  • 您必須先在 IAM 中建立 KMS 實例並設定必要的服務授權,然後才能使用 KMS 加密。 如需相關資訊,請參閱 管理叢集裡工作者節點的加密

  • 在建立叢集期間或在區域中新增工作者節點時,請勿刪除您連接至叢集的子網路。 如果您刪除叢集使用的 VPC 子網路,則使用子網路中 IP 位址的任何負載平衡器可能會遇到問題,而且您可能無法建立新的負載平衡器。

  • 如果您建立同時具有公用及專用雲端服務端點的 VPC 叢集,請注意稍後無法停用公用服務端點。 因此,您無法將公用叢集轉換為專用叢集。

  • 如果您的 VPC 叢集需要存取標準基礎架構資源,則必須在帳戶中 啟用 VRF服務端點

  • 如果您要建立在專用硬體上執行的叢集,則必須先使用 CLI 在帳戶中 建立專用主機儲存區

*如果您要啟用群集的信任設定檔,請確定您已在帳戶中建立一個。 如需詳細資訊,請參閱 設定受信任的設定檔

在控制台建立 VPC 叢集

透過控制台 IBM Cloud 建立您的 VPC Red Hat OpenShift 叢集。 遵循主控台指示來進行下列叢集配置。 若要開始建立群集,請導航至 主控台,然後按一下建立群集

Virtual Private Cloud

選取您要在其中建立叢集的現有 Virtual Private Cloud (VPC) 實例。 如果您沒有 VPC,可以建立一個。

位置

檢閱叢集的 工作者節點區域子網路。 這些區域會根據您選取的 VPC 進行過濾,並包括您先前建立的 VPC 子網路。 視您想要叢集的可用性層次而定,選取一或多個區域。 依預設,您的叢集資源會分散在三個區域中,以取得高可用性。 您可以稍後 將區域新增至叢集

版本

選取叢集版本。 依預設,叢集是以預設 Kubernetes 版本建立,但您可以指定不同的 支援版本

授權

套用授權或購買叢集的授權。 如需相關資訊,請參閱 將軟體授權指派給您的帳戶將 Cloud Paks、授權或授權新增至叢集,以及 Cloud Pak 常見問題

工作者儲存區

叢集工作者節點儲存區定義執行工作負載的工作者節點數目及類型。 您隨時可以變更工作者節點儲存區詳細資料。

  • 每個區域的工作者節點: 針對高可用性,建議每個區域至少有 3 個工作者節點。
  • Flavor:Flavor 定義了在每個工作節點中設定,並提供給容器的架構、虛擬 CPU 數量、記憶體、GPU 及磁碟空間。 可用的裸機及虛擬機器類型會因您部署叢集所在的區域而不同。 如需可用虛擬硬體樣板的清單,請參閱 VPC 虛擬硬體樣板
  • 當您在主控台中選擇特性時,可以依 機型架構作業系統來過濾可用的特性。 可用的機型為 shareddedicated。 請注意,僅當您帳戶中已有 專用主機儲存區 時,dedicated 選項才可用。 如需依叢集版本列出的可用作業系統及架構清單,請參閱 可用版本
  • 加密本端磁碟: 依預設,工作者節點具有 AES 256 位元磁碟加密。 您可以選擇在建立叢集時關閉磁碟加密。 如果您啟用加密,則工作者節點儲存區中的每一個工作者節點都會使用您管理的 KMS 提供者認證進行加密。 只有 default 工作者節點儲存區的節點會加密。 建立叢集之後,如果您建立更多工作者節點儲存區,則必須在每一個儲存區中個別啟用加密。 叢集裡的每一個工作者節點儲存區都可以使用相同的 KMS 實例及根金鑰、具有不同根金鑰的相同 KMS 實例,或不同的實例。
  • 次要儲存空間: 您可以將次要磁碟佈建至工作者節點,例如 900gb.5iops-tier 區塊儲存空間磁碟。 當您新增次要磁碟時,該磁碟用於儲存器執行時期,而主要磁碟用於作業系統。 在需要更多容器儲存體的情況下 (例如執行具有大型映像檔的 Pod),次要磁碟非常有用。 請注意,使用次要儲存空間時,由於覆疊檔案系統的關係,pod 可能無法使用磁碟區的全部 IOPS/頻寬能力。 次要磁碟會佈建在您的帳戶中,您可以在 VPC 主控台中看到它們。 這些磁碟的費用與每一個工作者的成本分開,並在帳單上顯示為不同的明細行項目。 這些次級流量也會計入您帳戶的配額使用量。 如果您計劃在可以連接持續性磁區的節點上使用次要儲存體,則強烈建議使用 10-iops 層級或更高版本。 這是因為節點的儲存體頻寬配置在次要儲存磁區與任何連接的 PVC 之間共用。 使用 5-iops 時,層級會導致取回映像檔或寫入儲存體的 Pod 效能降低。 有關頻寬分配的詳細資訊,請參閱 《虛擬伺服器實例中的頻寬分配》
  • GPU:如果您打算在群集中部署人工智能、視覺或高品質圖形工作負載,請務必選擇 GPU 工作節點。

額外的風味類型(包含搭載 NVIDIA V100、A100、H100 及 H200 GPU 的風味)僅限於允許清單中的帳戶使用。 若要要求存取其他已列入允許清單的特性,請 要求存取允許清單

工作者儲存區加密
請在工作節點池層級啟用金鑰管理服務 (KMS) 供應商,以管理您的工作節點加密設定。 選取您的 KMS 實例和 CRN。
網路外掛程式 4.20 或更新版本
請選擇您要使用的容器網路介面 (CNI)。 請在「Calico」與「Open Virtual Network」之間進行選擇。 請注意,Open Virtual Network 僅適用於 OpenShift 叢集版本 4.20 及後續版本,以及 RHCOS 工作節點。 如需更多資訊,請參閱 《 選擇容器網路介面(CNI) 》。
網路設定
服務端點提供與主節點的通訊。 您可以選擇使用公用服務端點或同時使用公用及專用雲端服務端點來配置叢集。 如需執行面對網際網路之應用程式需要何設定的相關資訊,或是保持叢集專用需要何設定的相關資訊,請參閱規劃叢集網路設定。 建立群集後,您無法變更雲端服務端點。
內部登錄
選取 COS 實例。 儲存在 Red Hat OpenShift on IBM Cloud 叢集內部登錄中的容器映像檔會自動備份至 Object Storage 儲存區。 即使您刪除叢集,也會保留物件儲存區中儲存的任何資料。
出埠資料流量保護
4.15 版以及更新版本的叢集預設行為是只容許必要的網路資料流量,讓叢集運作並停用所有其他出埠連線。 如果您有需要連接到公共互聯網的應用程式或服務,例如GitHub儲存庫,Docker中心,quay.io,這Red Hat Marketplace和OperatorHub,請注意,您必須完全停用出站流量保護(以便允許所有出站流量),或新增安全群組規則以僅允許您需要的出站流量。
叢集加密
使用金鑰管理服務 (KMS) 來啟用資料加密,以加密叢集裡的密碼及其他機密性資訊。 您也可以稍後 啟用 KMS
進入密鑰管理
IBM Cloud Secrets Manager 可集中管理叢集裡的 Ingress 子網域憑證及其他密碼。 您可以選擇在叢集建立程序期間將 Secrets Manager 實例登錄至叢集。 您也可以指定密鑰群組,以用來控制對叢集裡密鑰的存取權。 在您建立叢集之後,可以配置或變更這兩個選項。
VPC 安全群組
除了「kube-<clusterID>」安全群組之外,請提供最多四個自訂安全群組,以套用至 VPC 叢集上的所有工作節點。 如需詳細資訊,請參閱 瞭解 Secure by Default 群集 VPC 網路
叢集詳細資料
您可以自訂要用來組織及識別 IBM Cloud 資源的唯一 叢集名稱 及任何 標籤,例如 teambilling department
選擇要在其中建立叢集的 資源群組。 一個叢集只能在一個資源群組中建立,而且在建立叢集之後,您無法變更其資源群組。 若要在非 default 資源群組中建立叢集,您必須至少具有該資源群組的檢視者角色
如果要新增現有的受信任設定檔到群集,請指定受信任設定檔的 ID。 如果您沒有指定受信任的設定檔,您可以使用 API 金鑰來完成群集建立程序。 如需詳細資訊,請參閱 設定受信任的設定檔
觀察整合
您可以啟用要包含在叢集上的其他觀察整合。 如果您具有該整合的現有平台實例,則會自動啟用部分整合。 在這種情況下,您無法停用此整合功能。 如果您想要使用整合,且您只有該整合的現有應用程式實例,則依預設會停用整合,且您必須手動啟用它。
  • 日誌:您可以使用 IBM Cloud Logs 管理作業系統日誌、應用程式日誌和平台日誌。 如果您想稍後啟用此整合,請參閱 IBM Cloud Logs.
  • 監控工作負載保護:監控服務整合可讓您了解應用程式、服務和平台的效能和運作狀況。 如果您停用此整合並希望稍後啟用它,請參閱 監控叢集運作狀況。 Security and Compliance Center工作負載保護整合可以找到軟體漏洞並確定其優先級,檢測並回應威脅,並管理從來源到運行的配置、權限和合規性。 有關更多信息,請參閱工作負載保護 入門 頁面。
  • 指定配置類型以使用新的或現有的監視和工作負載保護實例。 如果您想要使用監控和工作負載保護的現有實例,則必須連接每個整合的實例。 在這種情況下,指定您要使用的監控執行個體或工作負載保護執行個體;您不能指定兩個實例,但只要連接在一起,就會使用兩個實例。 您可以從 監控工作負載保護執行個體的詳細資料頁面連線現有執行個體。

從 CLI 建立 VPC 叢集

  1. 在命令列中,登入您的 IBM Cloud 帳戶,並指定您要建立 VPC 叢林的 IBM Cloud 區域及資源群組。 如需支援的地區,請參閱在其他地區中建立 VPC。 系統提示時,請輸入您的 IBM Cloud 認證。 如果您擁有聯邦式身分識別,請使用「--sso」選項進行登入。

    ibmcloud login -r REGION [-g <resource_group>] [--sso]
    
  2. 在要建立叢集的地區中建立 VPC。 您虛擬私有雲中的工作節點叢集是否需要與 IBM Cloud 經典基礎架構之間傳送及接收資訊? 遵循 建立 VPC 子網路以進行標準存取 中的步驟,以建立已啟用標準的 VPC 及 VPC 子網路,而不使用自動預設位址字首。

  3. 為 VPC 建立子網路

    • 若要建立多區域叢集,請重複此步驟,在您希望納入叢集的所有區域中建立額外的子網。
    • VPC 子網會為叢集中的工作節點和負載平衡服務提供 IP 位址,因此 建立一個擁有足夠 IP 位址的 VPC 子網,例如 256。 您無法在事後變更 VPC 子網所擁有的 IP 位址數量。
    • 請勿使用下列保留範圍: 172.16.0.0/16172.18.0.0/16172.19.0.0/16172.20.0.0/16
    • 如果工作者節點必須存取公用端點,或者如果您計劃同時啟用公用及專用雲端服務端點,則必須 連接公用閘道 至每一個子網路,以存取預設 Red Hat OpenShift 元件,例如 Web 主控台或 OperatorHub。
    • 重要事項: 在建立叢集期間或在區域中新增工作者節點時,請勿刪除您連接至叢集的子網路。 如果您刪除叢集使用的 VPC 子網路,則使用子網路中 IP 位址的任何負載平衡器可能會遇到問題,而且您可能無法建立新的負載平衡器。
    • 如需相關資訊,請參閱 Red Hat OpenShift on IBM Cloud: 子網路
  4. 在 VPC 中建立叢集。 您可以使用 ibmcloud oc cluster create vpc-gen2 指令,在您的 VPC 中建立一個單一區域叢集,其中工作節點僅連接到一個 VPC 子網。 如果要建立多區域叢集,則可以使用 IBM Cloud 主控台進行建立,或者在建立叢集後,新增更多區域至叢集。 佈建叢集需要幾分鐘時間。

    ibmcloud oc cluster create vpc-gen2 --name CLUSTER_NAME --zone VPC_ZONE --vpc-id VPC_ID --subnet-id VPC_SUBNET_ID --flavor WORKER_FLAVOR --version 4.21_openshift --cos-instance COS_CRN --workers NUMBER_WORKERS_PER_ZONE [--offering OFFERING] [--sm-group GROUP] [--sm-instance INSTANCE] [--trusted-profile-id ID] [--pod-subnet] [--service-subnet] [--disable-public-service-endpoint] [[--kms-account-id KMS_ACCOUNT_ID] --kms-instance KMS_INSTANCE_ID --crk ROOT_KEY_ID] [--secondary-storage STORAGE] [--disable-outbound-traffic-protection] [--operating-system SYSTEM] [--cni CNI]
    
    --name <cluster_name>
    指定叢集的名稱。 名稱必須以字母開頭,可包含字母、數字、句點 (.) 及連字號 (-),且長度不得超過 35 個字元。 請使用在各地區之間都唯一的名稱。 叢集名稱和叢集部署所在的地區會形成 Ingress 子網域的完整網域名稱。 為了確保 Ingress 子網域在地區內是唯一的,叢集名稱可能會被截斷,並在 Ingress 網域名稱內附加一個隨機值。
    --zone <zone>
    指定要在其中建立叢集的 IBM Cloud 區域。 確保使用與建立 VPC 時所選的都會城市位置相符合的區域,並且您具有該區域的現有 VPC 子網路。 例如,如果您在達拉斯都會區建立 VPC,則您的區域必須設定為 us-south-1us-south-2us-south-3。 若要列出可用的 VPC 叢集區域,請執行 ibmcloud oc zone ls --provider vpc-gen2。 請注意,選取您所在國家或地區以外的區域時,您可能需要法律授權才能將資料實際儲存在國外。
    --vpc-id <vpc_ID>
    輸入先前建立的 VPC 的 ID。 若要取得您的 VPC 的 ID,請執行指令 ibmcloud oc vpcs``。
    --subnet-id <subnet_ID>
    輸入先前建立的 VPC 子網路的 ID。 透過 CLI 建立 VPC 叢集時,可以初始在僅包含一個子網路的一個區域中建立叢集。 若要建立多區域叢集,請在建立叢集後,使用先前建立的子網路新增更多區域至叢集。 若要列出所有資源群組中子網路的 ID,請執行 ibmcloud oc subnets --provider vpc-gen2 --vpc-id &lt,VPC_ID> --zone <subnet_zone>
    --flavor <worker_flavor>
    輸入要使用的工作者節點規格。 規格決定在每個工作者節點中設定並可供應用程式使用的虛擬 CPU 數量、記憶體數量和磁碟空間數量。 VPC 工作節點僅能作為虛擬機器,在共用基礎架構上建立。 不支援裸機或軟體定義的儲存空間機器。 若要查看可用的規格,請先透過 ibmcloud oc zone ls --provider vpc-gen2 列出可用的 VPC 區域,然後使用該區域執行 ` `ibmcloud oc flavors --zone <VPC_zone> --provider vpc-gen2 來列出受支援的規格。 建立叢集之後,您可以藉由將工作者節點或工作者節點儲存區新增至叢集來新增不同的規格。
    --version 4.21_openshift
    叢集主節點的 Red Hat OpenShift 版本。 若要查看可用的版本,請執行 ibmcloud oc versions``。
    --cos-instance <cos_CRN>
    包括標準 IBM Cloud Object Storage 實例的 CRN ID,以備份叢集的內部登錄。 若要列出現有實例的 CRN,請執行 ibmcloud resource service-instances --long ,並找出您的物件儲存實例的 ID。 若要建立標準物件儲存空間實例,請執行 ibmcloud resource service-instance-create <name> cloud-object-storage standard global 並記下其 ID
    --workers <number>
    指定要包含在叢集裡的工作者節點數。 如果您未指定此選項,則會建立最小值為 1 的叢集。
    --operating-system RHEL_9_64|REDHAT_8_64|RHCOS
    可選。 叢集裡工作者節點的作業系統。 如需依叢集版本列出可用作業系統的清單,請參閱 Red Hat OpenShift on IBM Cloud 版本資訊。 如果未指定任何選項,則會使用對應於叢集版本的預設作業系統。
    --offering <offering>
    選用。 請指定叢集方案類型。 可接受的值為 kubernetesopenshift 以及 openshift-vs。 使用「openshift-vs」建立一個具備預先設定虛擬化功能的「Red Hat OpenShift Virtualization Service」叢集。 如需更多資訊,請參閱 Red Hat OpenShift 虛擬化服務概覽
    --cluster-security-group <group_ID>
    選用。 指定一或多個安全群組 ID,以套用至叢集上的所有工作者。 對於 OpenShift 4.15 版及 Kubernetes 1.30 版以及更新版本,除了 IBM管理的 kube-clusterID 安全群組之外,還會套用這些安全群組。 若為舊版叢集,請指定 --cluster-security-group cluster 選項以套用 kube-clusterID 安全群組。 如果未指定任何值,則會套用包括 kube-clusterID 在內的一組預設安全群組。 如需相關資訊,請參閱 在建立期間將 VPC 安全群組新增至叢集及工作者節點儲存區

    一旦建立叢集,就無法變更套用至叢集的安全群組。 您可以 變更安全群組的規則 套用至叢集,但無法在叢集層次新增或移除安全群組。 如果您在建立叢集時套用不正確的安全群組,則必須刪除叢集並建立新的叢集。 在將安全群組新增至叢集之前,如需詳細資料,請參閱 在建立期間將 VPC 安全群組新增至叢集及工作者節點儲存區

    --sm-group GROUP
    選用。 用於儲存您機密資料的 Secrets Manager 實例的機密群組 ID。 若要取得密鑰群組 ID,請參閱 Secrets Manager CLI 參考資料。 使用此選項來指定 密鑰群組,以控制您團隊中具有叢集密鑰存取權的人員。
    --sm-instance INSTANCE
    選用。 Secrets Manager 實例的 CRN。 若要取得實例的 CRN,請執行 ibmcloud oc ingress instance ls --cluster CLUSTER。 如果您想要將 Secrets Manager 實例登錄至叢集,請包含此選項。
    --trusted-profile-id ID
    指定要與群集關聯的現有信任設定檔的 ID。 透過可信賴的設定檔,您可以授權存取帳戶中的資源,而無需管理獨立的 IAM 認證。 如需詳細資訊,請參閱 設定受信任的設定檔
    --pod-subnet
    在 VPC 中建立的第一個叢集裡,預設 Pod 子網路為 172.17.0.0/18
    在您於該 VPC 中建立的第二個叢集裡,預設 Pod 子網路為 172.17.64.0/18。 在每一個後續叢集裡,Pod 子網路範圍是下一個可用的非重疊 /18 子網路。 如果您計劃透過 IBM Cloud® Direct Link 或 VPN 服務將叢集連接到本地網路,您可以透過指定自訂子網 CIDR(該 CIDR 會為您的 Pod 提供私有 IP 位址)來避免子網衝突。
    您可以將子網路大小包含在 --pod-subnet 選項中,以指定子網路大小。 例如: --pod-subnet 0.0.0.0/X,其中 X 是必要的 Pod 子網路大小。 然後會自動選取 Pod 子網路。 自動分配 Pod 子網路時,會從 172.17.0.0 開始分配,最大子網路限制為 13,最小子網路限制為 23
    當您選擇子網路大小時,請考量您計劃建立的叢集大小,以及未來可能新增的工作者節點數目。 子網的 CIDR 範圍必須至少為 /23,這能為叢集中的最多四個工作節點提供足夠的 Pod IP 位址。 若為較大的叢集,請使用 /22,以具有八個工作者節點的足夠 Pod IP 位址,/21 以具有 16 個工作者節點的足夠 Pod IP 位址,依此類推。 請注意,Pod 和服務子網路不能重疊。 如果您對工作者節點使用自訂範圍子網路,則 必須確保工作者節點子網路不會與叢集的 Pod 子網路重疊。 您選擇的子網路必須在下列其中一個範圍內: 172.17.0.0 - 172.17.255.255172.21.0.0 - 172.31.255.255192.168.0.0 - 192.168.254.255198.18.0.0 - 198.19.255.255
    --service-subnet
    依預設,部署到叢集的所有服務都會指派有 172.21.0.0/16 範圍內的專用 IP 位址。 如果您計劃透過 IBM Cloud Direct Link 或 VPN 服務將叢集連接到本地網路,您可以透過指定自訂子網 CIDR(該 CIDR 會為您的服務提供私有 IP 位址)來避免子網衝突。 必須以 CIDR 格式指定子網路,大小至少為 /24,這容許叢集裡最多有 255 個服務,或更大。 您選擇的子網路必須在下列其中一個範圍內: 172.17.0.0 - 172.17.255.255172.21.0.0 - 172.31.255.255192.168.0.0 - 192.168.254.255198.18.0.0 - 198.19.255.255。請注意,Pod 和服務子網路不能重疊。
    --disable-public-service-endpoint
    請在指令中加入此選項,以建立僅具備私有雲服務端點的 VPC 叢集。 若未包含此選項,您的叢集將設定為包含一個公有雲與一個私有雲服務端點。 服務端點決定了您的 Red Hat OpenShift 主節點與工作節點之間的通訊方式、叢集存取叢集外的其他 IBM Cloud 服務與應用程式的方式,以及使用者如何連線至您的叢集。 如需相關資訊,請參閱規劃叢集網路設定。 如果您包括此選項,則會使用依預設僅在專用網路上公開應用程式的路由器及 Ingress 控制器來建立叢集。 如果您稍後想要將應用程式公開至公用網路,則必須手動建立公用路由器及 Ingress 控制器。
    --kms-account-id <KMS_acount_ID>
    選用項目: 如果提供 --kms-instance-id--crk 選項,且 KMS 實例位於不同於叢集帳戶的帳戶中,則必須包括此選項,否則可以省略。 使用來自不同帳戶的 KMS 來設定加密僅適用於列入允許清單的帳戶。 若要新增至允許清單,請在支援中心 開立案例
    --kms-instance <KMS_instance_ID>
    選用項目: 包括金鑰管理服務 (KMS) 實例的 ID,以用來加密 default 工作者節點儲存區中工作者節點上的本端磁碟。 若要列出可用的 KMS 執行個體,請執行 ibmcloud oc kms instance ls。 若您包含此選項,則必須同時包含「--crk」選項。 您必須先在 IAM 中建立 KMS 實例並設定必要的服務授權,然後才能使用 KMS 加密。 請參閱叢集裡工作者節點的 管理加密
    --crk <root_key>
    選用項目: 包括 KMS 實例中根金鑰的 ID,以用來加密 default 工作者節點儲存區中工作者節點上的本端磁碟。 若要列出可用的根金鑰,請執行 ibmcloud oc kms crk ls --instance-id。 若您包含此選項,則必須同時包含「--kms-instance」選項。 您必須先在 IAM 中建立 KMS 實例並設定必要的服務授權,然後才能使用 KMS 加密。 請參閱叢集裡工作者節點的 管理加密
    --secondary-storage STORAGE
    選用。 該風味的儲存方式。 例如,900gb.5iops-tier。 當您新增次要磁碟時,該磁碟用於儲存器執行時期,而主要磁碟用於作業系統。 若要檢視特性的儲存體選項,請執行 ibmcloud oc flavor get --flavor FLAVOR --zone ZONE --provider vpc-gen2 指令。 若要檢視 VPC 工作者節點規格的清單,請參閱 VPC 規格
    --disable-outbound-traffic-protection
    選用。 停用出站流量保護。
    --cni CNI
    設定群集的網路外掛程式。 Calico 預設為設定。 接受值:Calico, OVNKubernetes
    --offering OFFERING
    選用。 請指定叢集方案類型。 使用「openshift-vs」建立一個具備預先設定虛擬化功能的「Red Hat OpenShift Virtualization Service」叢集。 若未特別指定,系統將建立一個標準的 OpenShift 叢集。 如需更多資訊,請參閱 Red Hat OpenShift 虛擬化服務概覽
  5. 驗證已要求建立叢集。 可能需要幾分鐘時間,才能訂購好工作者節點機器,並在您的帳戶中設定和佈建叢集。

    ibmcloud oc cluster ls
    

    當您的 Red Hat OpenShift 主節點的配置完成後,叢集狀態將變為正常。 當 Red Hat OpenShift 主節點準備就緒後,您的工作節點即已設定完成。

    NAME         ID                                   State      Created          Workers    Zone      Version     Resource Group Name   Provider
    mycluster    aaf97a8843a29941b49a598f516da72101   normal   20170201162433   3          Dallas     4.21.27_1544_openshift      Default               vpc-gen2
    
  6. 檢查工作者節點的狀態。

    ibmcloud oc worker ls --cluster <cluster_name_or_ID>
    

    當工作節點準備就緒時,工作節點 會變更為 normal,而 狀態 則會變更為 Ready。 當節點狀態變更為 Ready 時,您就可以存取叢集。 請注意,即使叢集已就緒,其他服務所使用的一些叢集部分(例如 Ingress 密碼或登錄映像檔取回密碼)可能還是在處理中。

    ID                                                     Public IP        Private IP     Flavor              State    Status   Zone    Version
    kube-blrs3b1d0p0p2f7haq0g-mycluster-default-000001f7   169.xx.xxx.xxx  10.xxx.xx.xxx   b3c.4x16.encrypted  normal   Ready    dal10   4.21.27_1544_openshift
    

    每個工作者節點都會獲指派唯一的工作者節點 ID 及網域名稱,而在建立叢集之後不得手動變更。 若您變更 ID 或網域名稱,Red Hat OpenShift 主控端將無法管理您的叢集。

建立 VPC 叢集的指令範例

具有實例儲存空間的特性可用於列入允許清單的帳戶。 若要新增至允許清單,請在支援中心 開立案例

us-east-1 中建立具有 3 個工作者節點的 VPC 叢集的範例指令。

ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.21_openshift --zone us-east-1 --vpc-id VPC-ID --subnet-id VPC-SUBNET-ID --cos-instance COS-CRN--flavor bx2.4x16 --workers 3

用於在 us-east-1 中建立具有 3 個工作節點的 VPC 叢集的範例命令,具有自訂 Pod 子網路範圍和大小,並停用出站流量保護。

ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.21_openshift --zone us-east-1 --vpc-id VPC-ID --subnet-id VPC-SUBNET-ID --cos-instance COS-CRN --flavor bx2.4x16 --workers 3 --pod-subnet 0.0.0.0/15 --disable-outbound-traffic-protection

VPC 叢集的指令範例,具有執行 Red Hat CoreOS (RHCOS) 作業系統的工作者節點。

ibmcloud oc cluster create vpc-gen2 --name my_cluster --zone us-south-1 --flavor b3c.4x16 --vpc_ID VPC-ID --subnet-id SUBNET-ID --operating-system RHCOS

適用於具有執行 RHEL 9 作業系統且停用出站流量保護的工作節點的 VPC 叢集的範例指令。

ibmcloud oc cluster create vpc-gen2 --name my_cluster --zone us-south-1 --flavor b3c.4x16 --vpc_ID VPC-ID --subnet-id SUBNET-ID --operating-system RHEL_9_64 --disable-outbound-traffic-protection

在 us-south-1 中建立具有 3 個工作者節點的叢集,並透過提供 KMS 提供者實例 ID、帳戶 ID 及 CRK 來啟用工作者節點磁碟加密的範例指令。

ibmcloud oc cluster create vpc-gen2 --name <cluster_name> --zone us-south-1 --vpc-id VPC-ID --subnet-id SUBNET-ID --flavor b3c.4x16 --workers 3 --kms-account-id KMS-ACCOUNT-ID --kms-instance-id KMS-INSTANCE-ID --crk CRK

透過 將區域新增 至多區域 VPC 叢集來新增工作執行緒節點的範例命令。

ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster <cluster_name_or_ID> --worker-pool WORKER-POOL --subnet-id SUBNET-ID

使用 Terraform 建立 VPC 叢集

  • Terraform 使平台基礎架構與資源(包括 IBM Cloud VPC 叢集)的配置 IBM Cloud 具備可預測性與一致性。

  • 若要使用 Terraform 建立 VPC 叢集,請先建立 Terraform 配置檔,以宣告您要建立的叢集資源類型。 然後,套用 Terraform 配置檔。

  • 有關 Terraform 的更多資訊,請參閱. 上的《關於 IBM Cloud Terraform 》。

  • Terraform IBM 模組 - IBM Cloud 上的 Red Hat OpenShift VPC 集群包括即用型基礎架構程式碼和實用範例,可加速您的部署。 如果您想要快速、穩定地佈建企業級 OpenShift 環境,本模組是個很好的起點。

開始之前:

  1. 建立 Terraform 提供者檔案。 將檔案儲存在 Terraform 目錄中。 如需相關資訊,請參閱 Terraform IBM Cloud 提供者說明文件

    範例 Terraform 提供者檔案。

    terraform {
        required_providers {
            ibm = {
                source = "IBM-Cloud/ibm"
                version = "1.53.0"
            }
        }
    }
    provider "ibm" {
        region = "us-south"
        ibmcloud_api_key = "<api-key>"
    }
    
  2. a) 為 VPC 群集建立 Terraform 配置檔案。 將檔案儲存在 Terraform 目錄中。 如需相關資訊及叢集配置選項,請參閱 Terraform ibm_container_cluster 文件。

    範例 Terraform 設定檔:

    resource "ibm_container_vpc_cluster" "cluster" {
        name              = "tf-vpc"
        vpc_id            = "<vpc_id>"
        flavor            = "bx2.16x64"
        worker_count      = "3"
        operating_system  = "REDHAT_8_64"
        kube_version      = "1.28.2"
        resource_group_id = "<resource_group_id>"
        zones {
            subnet_id = "<subnet_id>"
            name      = "us-south-1"
        }
    }
    
    name
    必要。 叢集的名稱。
    vpc_id
    必要。 您要用於叢集的 VPC ID。 若要列出可用的 VPC,請執行 ibmcloud is vpcs
    flavor
    必要。 工作者節點規格。 規格會決定工作者節點可用的記憶體、CPU 及磁碟空間量。 如需可用工作者節點規格的清單,請執行 ibmcloud oc flavors --zone <zone> --provider classic,或參閱 標準規格
    worker_count
    您要新增至預設工作者節點儲存區的工作者節點數目。
    operating_system
    工作者節點儲存區中工作者節點的作業系統。 如需依叢集版本列出受支援作業系統的清單,請參閱 Red Hat OpenShift on IBM Cloud 版本資訊
    kube_version
    您的叢集所使用的 Kubernetes 版本。 依預設,叢集是以預設 Kubernetes 版本建立,但您可以指定不同的 支援版本
    resource_group_id
    資源群組的 ID。 若要查看可用的資源群組,請執行 ibmcloud resource groups。 如果未提供任何值,則會使用預設資源群組。
    zones
    巢狀區塊,說明 VPC 叢集的預設工作程式儲存區的區域。
    • subnet_id: 必要。 您要用於工作者節點的 VPC 子網路 ID。 若要尋找現有子網路,請執行 ibmcloud oc subnets --provider classic --zone <zone>
    • name :必填。 預設工作程式儲存區的區域名稱。 若要查看可用的區域,請執行 ibmcloud oc zones --provider vpc-gen2

    b) 或者,如果您偏好使用 Terraform IBM 模組,您可以參考以下範例來提供 Red Hat OpenShift VPC 上的群集 Gen2

        locals {
            worker_pools = [
                {
                    subnet_prefix    = "default"
                    pool_name        = "default"
                    machine_type     = "bx2.4x16"
                    workers_per_zone = 2
                    operating_system = "RHCOS"
                }
            ]
            cluster_vpc_subnets = {
                default    = [
                    {
                        id         = "0717-afc29fbb-0dbe-493a-a5b9-f3c5899cb8b9"
                        cidr_block = "192.168.32.0/22"                        
                        zone       = "us-south-1"
                    }
                ]
            }
        }
        module "ocp_base" {
            source               = "terraform-ibm-modules/base-ocp-vpc/ibm"
            version              = "3.81.3"
            region               = "us-south"
            resource_group_id    = "resource-group-id"
            cluster_name         = "test-ocp-cluster"
            force_delete_storage = true
            vpc_id               = "vpc-id"
            vpc_subnets          = local.cluster_vpc_subnets
            worker_pools         = local.worker_pools
        }
    
  3. 在 CLI 中,導覽至 Terraform 目錄。

    cd <terraform_directory>
    
  4. 執行指令以起始設定及規劃 Terraform 動作。 請檢閱計劃輸出,以確定已執行正確的動作。

    terraform init
    
    terraform plan
    
  5. 套用 Terraform 檔案以建立叢集。 然後,導覽至 IBM Cloud 主控台,以檢查叢集是否正在佈建。

    terraform apply
    

VPC 叢集的後續步驟