在不使用「Object Storage」儲存桶的情況下建立 VPC 叢集
虛擬私有雲
在 VPC 上建立一個 Red Hat OpenShift on IBM Cloud 叢集,且不使用 IBM Cloud Object Storage 儲存桶作為內部映像庫的後端。 對於必須符合 IBM 金融服務雲端服務要求的環境,您可以不使用 IBM Cloud Object
Storage 實例來建立叢集,並直接從 IBM Cloud Container Registry 拉取容器映像檔。 若在建立叢集時未提供任何 IBM Cloud Object Storage 實例,內部註冊表將使用暫存型 emptyDir 儲存空間,這可確保叢集的運作符合 FS Cloud 標準——該標準依賴集中式映像檔管理,而非內部註冊表。
適用對象
本教學指南適用於需在必須符合 IBM 金融服務雲端(Financial Services Cloud)要求的環境中,於 VPC 基礎架構上建立 Red Hat OpenShift on IBM Cloud 叢集的叢集管理員。 此功能旨在供需要將 IBM Cloud Container Registry 作為主要映像註冊表(而非叢集內部註冊表)的團隊使用。
目標
在本教學中,您將建立一個 Red Hat OpenShift on IBM Cloud VPC 叢集,且不配置 IBM Cloud Object Storage 實例,此做法符合 IBM 金融服務雲端的標準。 該叢集的內部映像註冊表使用 emptyDir 的臨時儲存空間,且映像是透過 IBM Cloud Container Registry 進行集中管理的。
您將獲得什麼
在本教學中,您將建立以下資源。 如果您在完成教學後不想保留這些資源,可以執行以下可選步驟來刪除它們。
- 位於 VPC 上的 Red Hat OpenShift on IBM Cloud 叢集,且未使用由 COS 支援的內部註冊表
- 已為管理用途配置叢集存取權限
開始之前
在建立叢集之前,請先完成以下先決條件步驟。
省略 IBM Cloud Object Storage 實例的決定是永久性的。 建立叢集後,便無法新增或移除由 COS 支援的內部註冊表。 若您的需求有所變更,且需要持久的內部登錄檔儲存空間,則必須建立一個新的叢集,並在建立時提供一個 COS 實例。
- 許可權
- 如果您是帳戶擁有者,您已具備建立叢集所需的權限,可直接進行下一步。 否則,請請帳戶擁有者 設定 API 金鑰,並在 IBM Cloud 的 IAM 中授予您最低級別的使用者權限。
- 命令列工具
- 請依照以下步驟設定您的本地命令列環境。
- 安裝 IBM Cloud CLI(
ibmcloud)。 - 安裝 Red Hat OpenShift on IBM Cloud 外掛程式。
ibmcloud plugin install kubernetes-service ``` 3. 安裝 Red Hat OpenShift CLI(`oc` )。有關操作說明,請參閱 《 [安裝 OpenShift CLI](https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/openshift-cli-oc#installing-openshift-cli){: external} 》。 - 安裝 IBM Cloud CLI(
- VPC 基礎架構
- 在建立叢集之前,您必須已擁有現有的 VPC 和子網。 若要建立這些項目,請參閱「建立 VPC 和子網」。
建立叢集
在 VPC 上建立一個 Red Hat OpenShift on IBM Cloud 叢集,且不提供 IBM Cloud Object Storage 執行個體。 若未指定任何 COS 實例,內部映像庫將由 emptyDir 儲存空間提供後端支援。
當您在叢集建立指令中省略 --cos-instance 選項時,內部註冊表會使用 emptyDir 儲存空間,而非 IBM Cloud Object Storage。 emptyDir 儲存空間屬於暫存性質——當映像註冊表 Pod 重新啟動或被重新排程時,儲存於註冊表中的資料將會遺失。 此設定不適用於依賴內部登錄檔的生產環境使用情境。
若您日後需要一個持久的內部註冊表,可在建立叢集後設定一個 IBM Cloud Object Storage 儲存桶。 如需更多資訊,請參閱 《 將內部映像註冊表備份至 IBM Cloud Object Storage 》。
-
請登入您要建立叢集的 IBM Cloud 帳戶、資源群組及區域。 如果您擁有聯合身分識別碼,請包含
--sso選項。ibmcloud login -r REGION [-g RESOURCE_GROUP] [--sso] -
建立叢集。 請將佔位符值替換為您自己的叢集名稱、區域、Red Hat OpenShift 版本、工作節點規格、VPC ID 以及子網 ID。
ibmcloud oc cluster create vpc-gen2 \ --name <cluster-name> \ --zone <zone> \ --version <openshift-version> \ --flavor <worker-flavor> \ --workers <number-of-workers> \ --vpc-id <vpc-id> \ --subnet-id <subnet-id>請注意,此指令並未包含
--cos-instance選項。 省略此選項即會將內部登錄檔設定為使用emptyDir儲存空間。 -
請等待叢集完成配置。 此過程可能需要 20 至 30 分鐘。 請執行以下指令以監控叢集狀態,直到「State」欄位顯示「
normal」為止。ibmcloud oc cluster get --cluster CLUSTER_NAME
設定叢集存取權限
在叢集開始運作後,請下載叢集設定檔,以設定 oc 的 CLI 存取權限。
- 請下載叢集配置檔,並設定
KUBECONFIG環境變數。ibmcloud oc cluster config --cluster CLUSTER_NAME --admin - 請確認您能否連線至該叢集。
所有節點的「 STATUS」應顯示為「oc get nodesReady」。
驗證映像註冊表設定
請確認內部映像註冊表是否如預期般使用 emptyDir 儲存空間。
- 檢查映像註冊表的部署狀態。
oc get deployment -n openshift-image-registry - 請在影像註冊表設定中確認儲存類型。 在輸出結果中,「
storage」欄位應顯示emptyDir: {}。oc get configs.imageregistry.operator.openshift.io cluster -o yaml
下一步為何?
您的叢集目前正使用由 emptyDir 支援的內部註冊表運作。 您可以透過 IBM Cloud Container Registry 來上傳和下載圖片。
- 將影像上傳至 IBM Cloud Container Registry,並直接將其拉取至您的叢集工作負載中。
- 設定一個映像拉取密鑰,以便您的 Pod 能夠從 IBM Cloud Container Registry 拉取映像。
- 設定 IBM Cloud 監控功能,以監控您的叢集。
- 若您日後想新增持久的內部註冊表儲存空間,請參閱《 將內部映像註冊表備份至 IBM Cloud Object Storage 》。
- 若在建立叢集時看到「
E7278」錯誤,請參閱《 為何在建立叢集時會出現關於雲端物件儲存桶的錯誤? 》。 如果上述步驟無法解決問題,請聯絡 IBM Cloud 技術支援。