安裝 IBM Cloud Object Storage 外掛程式

虛擬私有雲 經典基礎架構

安裝 IBM Cloud Object Storage 外掛程式,為 IBM Cloud Object Storage 設定預先定義的儲存類別。 您可以使用這些儲存空間類別來建立 PVC,以佈建應用程式的 IBM Cloud Object Storage。

透過安裝插件Helm

必要條件
IBM Cloud Object Storage 外掛程式至少需要 0.2 vCPU 和 128 MB 記憶體。

開始之前:請登入您的帳戶。 適用的話,請將適當的資源群組設為目標。 設定叢集的環境定義。

安裝 ibmcHelm插件和 ibm-object-storage-plugin:

  1. 確保工作者節點套用次要版本的最新修補程式,以使用最新安全設定來執行工作者節點。 修補程式版本也可確保更新工作者節點上的 root 密碼。

    如果您未在過去 90 天內套用更新或重新載入工作者節點,則工作者節點上的 root 使用者密碼會到期,儲存體外掛程式安裝可能會失敗。

    1. 列出工作者節點的現行修補程式版本。
        ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID
        ```
        輸出範例
        ```sh {: screen}
        OK
        ID                                                  Public IP        Private IP     Machine Type           State    Status   Zone    Version
        kube-dal10-crb1a23b456789ac1b20b2nc1e12b345ab-w26   169.xx.xxx.xxx    10.xxx.xx.xxx   b3c.4x16.encrypted     normal   Ready    dal10   1.35_1523*
        ```
        如果您的工作者節點未套用最新修補程式版本,則您會在 CLI 輸出的`*`版本**直欄中看到星號 (**)。
    
    2. 檢閱 [Kubernetes 版本資訊](/docs/containers?topic=containers-cs_versions),以尋找最新變更。
    
    3. 重新載入您的工作者節點,以套用最新的修補程式版本。 在重新載入工作節點之前,請依照「[ibmcloud ks worker reload」指令](/docs/containers?topic=containers-kubernetes-service-cli#worker-reload-cli) 中的說明,安全地重新排程工作節點上所有正在運行的 Pod。 請注意,在重新載入期間,會使用最新的映像檔更新您的工作者節點機器,而且如果資料不是[儲存在工作者節點之外](/docs/containers?topic=containers-storage-plan)即會被刪除。
    
  2. 檢閱變更日誌,並驗證對 叢集版本和架構 的支援。

  3. 遵循指示,在本端機器上安裝第 3 版 Helm 用戶端。

    如果您在 IBM Cloud 帳戶中啟用 VRF 和服務端點,您可以使用私人 IBM Cloud Helm 儲存庫,將影像拉取流量保留在私人網路中。 如果您的帳戶無法啟用 VRF 或服務端點,請使用 Helm 公共儲存庫。

  4. 將 IBM Cloud Helm 儲存庫新增至叢集。

    helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm
    
  5. 更新 Helm 儲存庫,以取得此儲存庫中所有 Helm 圖表的最新版本。

    helm repo update
    
  6. 如果您先前已安裝 IBM Cloud Object Storage Helm 外掛程式,請移除 ibmc 外掛程式。

    helm plugin uninstall ibmc
    
  7. 下載 Helm Chart,並解壓縮現行目錄中的圖表。

    helm fetch --untar ibm-helm/ibm-object-storage-plugin
    

    如果輸出顯示 Error: failed to untar: a file or directory with the name ibm-object-storage-plugin already exists,請刪除 ibm-object-storage-plugin 目錄,然後重新執行 helm fetch 指令。

  8. 如果您是第一次安裝外掛程式,請先安裝 IBM Cloud Object Storage Helm 外掛程式 ibmc。 此外掛程式會自動擷取您的叢集位置,並在您的儲存類別中為 IBM Cloud Object Storage 儲存桶設定 API 端點。 如果您使用 Windows 作業系統,請跳過此步驟。

    Windows 不支援 ibmc 外掛程式。

    1. 安裝 Helm 外掛程式。
        helm plugin install ./ibm-object-storage-plugin/helm-ibmc
        ```
    2. 驗證已順利安裝 `ibmc` 外掛程式。
    ```sh {: pre}
        helm ibmc --help
        ```
        輸出範例
        ```sh {: screen}
        Helm version: v3.13.1+g3547a4b
        Install or upgrade Helm charts in IBM K8S Service(IKS)
        Usage:
        helm ibmc [command]
        Available Commands:
        install           Install a Helm chart
        upgrade           Upgrade the release to a new version of the Helm chart
        Available Flags:
        -h, --help        (Optional) This text.
        -u, --update      (Optional) Update this plugin to the latest version
        Example Usage:
            Install: helm ibmc install ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin
            Upgrade: helm ibmc upgrade [RELEASE] ibm-helm/ibm-object-storage-plugin
        Note:
            1. It is always recommended to install latest version of ibm-object-storage-plugin chart.
            2. It is always recommended to have 'kubectl' client up-to-date.
        ```
    3. **可選**:若輸出顯示錯誤訊息「`Error: fork/exec /home/iksadmin/.helm/plugins/helm-ibmc/ibmc.sh: permission denied`」,請執行以下指令。
    
    ```sh {: pre}
        chmod 755 /Users/<user_name>/Library/helm/plugins/helm-ibmc/ibmc.sh
        ```
        然後重試 `ibmc --help` 指令。
    
        ```sh {: pre}
        helm ibmc --help
        ```
    
    
    
    
  9. 可選:將「IBM Cloud Object Storage」外掛程式的存取範圍限制為僅能存取包含您的 IBM Cloud Object Storage 服務憑證的 Kubernetes 機密。 預設情況下,此外掛程式可存取您叢集中的所有 Kubernetes 機密資訊。

    1. 建立 IBM Cloud Object Storage 服務實例
    2. 將 IBM Cloud Object Storage 服務認證儲存在 Kubernetes 密碼 中。
    3. 將目錄切換至 ibm-object-storage-plugin 目錄。
        cd ibm-object-storage-plugin
        ```
    3. 從 `ibm-object-storage-plugin` 中,導覽至 `templates` 目錄並列出可用的檔案。
            OS X 與 Linux
    
    ```sh {: pre}
        cd templates && ls
        ```
        Windows
    
        ```sh {: pre}
        chdir templates && dir
        ```
    4. 開啟 `provisioner-sa.yaml` 檔案,並尋找 `ibmcloud-object-storage-secret-reader` `ClusterRole` 定義。
    5. 將稍早建立的密碼名稱新增至 `resourceNames` 區段中外掛程式有權存取的密碼清單。
    ```yaml {: codeblock}
        kind: ClusterRole
        apiVersion: rbac.authorization.k8s.io/v1beta1
        metadata:
         name: ibmcloud-object-storage-secret-reader
        rules:
        - apiGroups: [""]
          resources: ["secrets"]
          resourceNames: ["<secret_name1>","<secret_name2>"]
          verbs: ["get"]
        ```
    6. 儲存變更並導覽至工作目錄。
    
    
    
  10. 在叢集裡安裝 ibm-object-storage-plugin。 安裝外掛程式時,會將預先定義的儲存空間類別新增至叢集。 如果您已完成前一個步驟,將 IBM Cloud Object Storage 外掛程式限制為僅存取保留 IBM Cloud Object Storage 服務認證的 Kubernetes 密鑰,且您仍以 templates 目錄為目標,請將目錄切換至工作目錄。 若要設定儲存區可用的儲存空間量限制,請設定 --set quotaLimit=true 僅限 VPC 叢集: 若要在 VPC 上啟用授權 IP,請設定 --set bucketAccessPolicy=true 選項。

如果您在安裝期間未設定 --set quotaLimit=true 選項,則無法設定 PVC 的配額。

非 Windows 作業系統的 helm ibmc install 指令範例。

helm ibmc install ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin --set license=true [--set quotaLimit=true/false] [--set bucketAccessPolicy=true/false] [--set allowCrossNsSecret=true/false]

適用於 Windows 的 helm install 指令範例。

helm install ibm-object-storage-plugin ./ibm-object-storage-plugin --set dcname="${DC_NAME}" --set provider="${CLUSTER_PROVIDER}" --set workerOS="${WORKER_OS}" --set region="${REGION} --set platform="${PLATFORM}" --set license=true [--set bucketAccessPolicy=false]
quotaLimit
配額限制會設定儲存區可用的儲存體數量上限 (以位元組為單位)。 如果您將此選項設為 true,則當您建立 PVC 時,那些 PVC 所建立儲存區的配額等於 PVC 大小。 預設值為 true
allowCrossNsSecret
依預設,外掛程式會在 PVC 名稱空間以外的名稱空間中搜尋 Kubernetes 密鑰。 如果您將此選項設為 false,則外掛程式只會在 PVC 名稱空間中搜尋 Kubernetes 密鑰。 預設值為 true
kubeDriver
設定 /usr/libexec/kubernetes
DC_NAME
叢集資料中心。 若要擷取資料中心,請執行 kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}"。 透過執行 SET DC_NAME=<datacenter>,將資料中心值儲存在環境變數中。 選用項目: 透過執行 $env:DC_NAME="<datacenter>",在 Windows PowerShell 中設定環境變數。
CLUSTER_PROVIDER
基礎架構提供者。 若要擷取此值,請執行 kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}"。 如果前一個步驟的輸出包含 softlayer,則將 CLUSTER_PROVIDER 設為 "IBMC"。 如果輸出包含 gcngg2,則將 CLUSTER_PROVIDER 設為 "IBMC-VPC"。 將基礎架構供應商儲存至環境變數中。 例如: SET CLUSTER_PROVIDER="IBMC-VPC"
WORKER_OSPLATFORM
工作者節點的作業系統。 若要擷取這些值,請執行 kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}"。 將工作者節點的作業系統儲存在環境變數中。 若為 IBM Cloud Kubernetes Service 叢集,請執行 SET WORKER_OS="debian"SET PLATFORM="k8s"
REGION
工作者節點的區域。 若要擷取此值,請執行 kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'。 透過執行 SET REGION="< region>",將工作者節點的區域儲存在環境變數中。

更新「IBM Cloud Object Storage」外掛程式

您可以將現有的「IBM Cloud Object Storage」外掛程式升級至最新版本。

  1. 取得 IBM Cloud Object Storage 外掛程式 Helm 版次的名稱,以及叢集裡外掛程式的版本。

    helm ls -A | grep object
    

    輸出範例

    NAME              NAMESPACE      REVISION    UPDATED                                   STATUS      CHART                                  APP VERSION               
    <release_name>  <namespace>     1           2020-02-13 16:05:58.599679 -0500 EST    deployed    ibm-object-storage-plugin-1.1.2        1.1.2
    
  2. 更新 IBM Cloud Helm 儲存庫,以取得該儲存庫中所有 Helm 圖表的最新版本。

    helm repo update
    
  3. 將 IBM Cloud Object Storage ibmc Helm 外掛程式更新至最新版本。

    helm ibmc --update
    
  4. 安裝適用於您作業系統的最新版本 ibm-object-storage-plugin

    範例 helm ibmc upgrade 指令適用於非 Windows 作業系統。

    helm ibmc upgrade ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin --set license=true [--set quotaLimit=true/false] [--set bucketAccessPolicy=true/false] [--set allowCrossNsSecret=true/false]
    

    適用於 Windows 的 helm upgrade 指令範例。

    helm upgrade ibm-object-storage-plugin ./ibm-object-storage-plugin --set dcname="${DC_NAME}" --set provider="${CLUSTER_PROVIDER}" --set workerOS="${WORKER_OS}" --set region="${REGION} --set platform="${PLATFORM}" --set license=true [--set bucketAccessPolicy=false]
    
    DC_NAME
    叢集資料中心。 若要擷取資料中心,請執行 kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}"。 透過執行 SET DC_NAME=<datacenter>,將資料中心值儲存在環境變數中。 選用項目: 透過執行 $env:DC_NAME="<datacenter>",在 Windows PowerShell 中設定環境變數。
    CLUSTER_PROVIDER
    基礎架構提供者。 若要擷取此值,請執行 kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}"。 如果前一個步驟的輸出包含 softlayer,則將 CLUSTER_PROVIDER 設為 "IBMC"。 如果輸出包含 gcngg2,則將 CLUSTER_PROVIDER 設為 "IBMC-VPC"。 將基礎架構供應商儲存至環境變數中。 例如: SET CLUSTER_PROVIDER="IBMC-VPC"
    WORKER_OSPLATFORM
    工作者節點的作業系統。 若要擷取這些值,請執行 kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}"。 將工作者節點的作業系統儲存在環境變數中。 若為 IBM Cloud Kubernetes Service 叢集,請執行 SET WORKER_OS="debian"SET PLATFORM="k8s"
    REGION
    工作者節點的區域。 若要擷取此值,請執行 kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'。 透過執行 SET REGION="< region>",將工作者節點的區域儲存在環境變數中。|
  5. 驗證已順利升級 ibmcloud-object-storage-plugin。 當您在 CLI 輸出中看到 deployment "ibmcloud-object-storage-plugin" successfully rolled out 時,表示已順利升級外掛程式。

    kubectl rollout status deployment/ibmcloud-object-storage-plugin -n ibm-object-s3fs
    
  6. 驗證已順利升級 ibmcloud-object-storage-driver。 當您在 CLI 輸出中看到 daemon set "ibmcloud-object-storage-driver" successfully rolled out 時,表示已順利升級。

    kubectl rollout status ds/ibmcloud-object-storage-driver -n ibm-object-s3fs
    
  7. 驗證 IBM Cloud Object Storage Pod 處於 Running 狀態。

    kubectl get pods -n <namespace> -o wide | grep object-storage
    

如果您在更新 IBM Cloud Object Storage 外掛程式時遇到問題,請參閱 物件儲存:安裝物件儲存 ibmc Helm 外掛程式失敗物件儲存:安裝 IBM Cloud Object Storage 外掛程式失敗

移除「IBM Cloud Object Storage」外掛程式

如果您不想在群集中配置和使用 IBM Cloud Object Storage,可以卸載 ibm-object-storage-pluginibmc Helm 外掛程式。

移除 ibmc Helm 外掛程式或 ibm-object-storage-plugin 並不會移除現有的 PVC、PV 或資料。 當您移除 ibm-object-storage-plugin 時,所有相關的驅動程式 Pod 和守護程式集都會從您的群集中移除,這表示您無法為群集配置新的 IBM Cloud Object Storage,除非您設定應用程式直接使用 IBM Cloud Object Storage API。 不會影響現有的 PVC 及 PV。

開始之前:

若要移除 ibmc Helm 外掛程式及 ibm-object-storage-plugin,請執行下列動作:

  1. 取得 ibm-object-storage-plugin Helm 安裝架構的名稱。

    helm ls -A | grep ibm-object-storage-plugin
    

    輸出範例

    NAME                         NAMESPACE    REVISION    UPDATED                                 STATUS      CHART                                  APP VERSION               
    ibm-object-storage-plugin    default      2           2020-04-01 08:46:01.403477 -0400 EDT    deployed    ibm-object-storage-plugin-1.1.4        1.1.4  
    
  2. 解除安裝 ibm-object-storage-plugin

    helm uninstall <release_name>
    

    名為 ibm-object-storage-plugin 之版次的指令範例。

    helm uninstall ibm-object-storage-plugin
    
  3. 請確認已移除 ibm-object-storage-plugin 的 Pod。

    kubectl get pod -n <namespace> | grep object-storage
    

    如果 CLI 輸出中沒有顯示任何 Pod,則表示已成功移除 Pod。 如果 CLI 輸出中沒有顯示任何儲存空間類別,則表示已順利移除儲存空間類別。

  4. 驗證已移除儲存空間類別。

    kubectl get sc | grep s3
    
  5. 如果使用 OS X 或 Linux 發行套件,請移除 Helm 外掛程式 ibmc。 如果您使用 Windows,則不需要執行此步驟。

    1. 移除「ibmc」Helm 外掛程式。
        helm plugin uninstall ibmc
        ```
    2. 驗證已移除 `ibmc` 外掛程式。 如果 CLI 輸出中未列出 `ibmc` 外掛程式,表示已順利移除 `ibmc` 外掛程式。
    
    ```sh {: pre}
        helm plugin list
        ```
        輸出範例
    
        ```sh {: screen}
        NAME    VERSION    DESCRIPTION
        ```
    

決定物件儲存空間配置

IBM Cloud Kubernetes Service 提供預先定義的儲存空間類別,您可以使用此類別搭配特定配置來建立儲存區。

  1. 列出 IBM Cloud Kubernetes Service 中可用的儲存空間類別。

    kubectl get sc | grep s3
    

    輸出範例

    ibmc-s3fs-cold-cross-region            ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-cold-regional                ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-cross-region            ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-perf-cross-region       ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-perf-regional           ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-regional                ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-cross-region        ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-perf-cross-region   ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-perf-regional       ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-regional            ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-vault-cross-region           ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-vault-regional               ibm.io/ibmc-s3fs   8m
    
  2. 選擇符合資料存取需求的儲存空間類別。 儲存類別決定了儲存桶的儲存容量、讀取與寫入操作,以及上行頻寬。 對您而言最合適的選項,取決於您對服務實例進行資料讀取與寫入的頻率。

    • 標準:此選項用於經常存取的熱資料。 常見使用案例是 Web 或行動應用程式。
    • 加密配置檔:此選項用於不常存取的工作負載或冷資料(例如一個月一次或更少)。 常見使用案例是保存檔、短期資料保留、數位資產保留、磁帶更換及災難回復。
    • :此選項用於很少存取(每 90 天或更少)的冷資料或非作用中資料。 常見使用案例是保存檔、長期備份、您針對法規遵循所保留的歷程資料,或很少存取的工作負載及應用程式。
    • 智慧型」:此選項適用於沒有特定使用模式的工作負載和資料,或是規模過大以致無法確定或預測其使用模式的情況。
  3. 決定儲存區中所儲存資料的備援層次。 如需相關資訊,請參閱地區及端點

    • 跨地區:使用此選項時,您的資料會儲存在地理位置內的三個地區,以達到最高可用性。 如果您的工作負載分散在多個地區,則會將要求遞送至最近的地區端點。 根據您叢集所在的位置,稍早安裝的 ibmc Helm 外掛程式會自動設定地理位置的 API 端點。 例如,如果您的叢集是在 US South,則會將您的儲存空間類別配置成使用您儲存區的 US GEO API 端點。
    • 地區:使用此選項時,您的資料會抄寫至一個地區內的多個區域。 如果您的工作負載位在相同的地區,則您會看到比跨地區設定還要低的延遲及更佳的效能。 根據您叢集所在的位置,稍早安裝的 ibm Helm 外掛程式會自動設定地區端點。 例如,如果您的叢集是在 US South,則已將您的儲存空間類別配置成使用 US South 作為儲存區的地區端點。
  4. 檢閱儲存空間類別的詳細 IBM Cloud Object Storage 儲存區配置。

    kubectl describe storageclass <storageclass_name>
    

    輸出範例

    Name:                  ibmc-s3fs-standard-cross-region
    IsDefaultClass:        No
    Annotations:           <none>
    Provisioner:           ibm.io/ibmc-s3fs
    Parameters:            ibm.io/chunk-size-mb=16,ibm.io/curl-debug=false,ibm.io/debug-level=warn,ibm.io/iam-endpoint=https://iam.bluemix.net,ibm.io/kernel-cache=true,ibm.io/multireq-max=20,ibm.io/object-store-endpoint=https://s3-api.dal-us-geo.objectstorage.service.networklayer.com,ibm.io/object-store-storage-class=us-standard,ibm.io/parallel-count=2,ibm.io/s3fs-fuse-retry-count=5,ibm.io/stat-cache-size=100000,ibm.io/tls-cipher-suite=AESGCM
    AllowVolumeExpansion:  <unset>
    MountOptions:          <none>
    ReclaimPolicy:         Delete
    VolumeBindingMode:     Immediate
    Events:                <none>
    
    ibm.io/chunk-size-mb
    在 IBM Cloud Object Storage 中讀取或寫入的資料片段大小(以 MB 為單位)。 名稱中包含「perf」的儲存類別,其預設大小為 52 兆位元組。 名稱中未包含「perf」的儲存類別,會使用 16 兆位元組的區塊。 例如,如果要讀取 1GB 的檔案,則該外掛程式會以多個 16 MB 或 52 MB 片段的形式來讀取此檔案。
    ibm.io/curl-debug
    啟用記載傳送至 IBM Cloud Object Storage 服務實例的要求。 如果啟用,則會將日誌傳送至 syslog,而且您可以將日誌轉遞至外部記載伺服器。 預設情況下,所有儲存類別均設定為 false,以停用此記錄功能。
    ibm.io/debug-level
    IBM Cloud Object Storage 外掛程式所設定的記載層次。 所有儲存類別均設定為「WARN」記錄等級。
    ibm.io/iam-endpoint
    IBM Cloud Identity and Access Management (IAM) 的 API 端點。
    ibm.io/kernel-cache
    啟用或停用磁區裝載點的核心緩衝區快取。 如果啟用,從 IBM Cloud Object Storage 讀取的資料會儲存在核心快取中,以確保對資料的快速讀取。 如果停用,則不會快取資料,而且一律會從 IBM Cloud Object Storage 進行讀取。 對於 standard smart 儲存類別,核心快取已啟用;而對於 cold vault 儲存類別,核心快取則已停用。
    ibm.io/multireq-max
    可傳送至 IBM Cloud Object Storage 服務實例以列出單一目錄中檔案的平行要求數目上限。 所有儲存空間類別都已設定最多 20 個平行要求。
    ibm.io/object-store-endpoint
    用來存取 IBM Cloud Object Storage 服務實例中儲存區的 API 端點。 會根據您叢集的地區自動設定端點。 若要存取位於與您的叢集所在區域不同的區域中的現有儲存桶,您必須建立自己的儲存類別,並使用該儲存桶的 API 端點。
    ibm.io/object-store-storage-class
    儲存空間類別的名稱。
    ibm.io/parallel-count
    可傳送至 IBM Cloud Object Storage 服務實例以進行單一讀取或寫入作業的平行要求數目上限。 名稱中包含「perf」的儲存類別,其設定的最大並行請求數為 20 個。 未設定 perf 的儲存類別,預設會透過兩個並行請求進行設定。
    ibm.io/s3fs-fuse-retry-count
    在作業視為不成功之前,讀取或寫入作業的重試次數上限。 所有儲存空間類別都已設定為最多 5 次重試。
    ibm.io/stat-cache-size
    保留在 IBM Cloud Object Storage meta 資料快取中的記錄數目上限。 每筆記錄最多可能需要 0.5 KB。 依預設,所有儲存空間類別都會將記錄數目上限設為 100000。
    ibm.io/tls-cipher-suite
    透過 HTTPS 端點建立與 IBM Cloud Object Storage 的連線時必須使用的 TLS 密碼組合。 密碼套件的值必須遵循《 OpenSSL 格式 》規範。 若您的工作節點運行的是 Ubuntu 作業系統,則儲存類別預設會設定為使用 AESGCM 加密套件。 對於運行 Red Hat 作業系統的工作節點,預設會使用 ecdhe_rsa_aes_128_gcm_sha_256 加密套件。

    如需每一個儲存空間類別的相關資訊,請參閱儲存空間類別參照。 若要變更任何預設值,請建立您自己的自訂儲存類別。

  5. 決定儲存區的名稱。 儲存區的名稱在 IBM Cloud Object Storage 中必須是唯一的。 您也可以選擇由 IBM Cloud Object Storage 外掛程式自動建立儲存區的名稱。 若要在儲存區中組織資料,您可以建立子目錄。

    您稍早選擇的儲存空間類別會決定整個儲存區的定價。 您無法為子目錄定義不同的儲存類別。 如果您要儲存具有不同存取需求的資料,請考量使用多個 PVC 建立多個儲存區。

  6. 選擇是否要在刪除叢集或持續性磁區要求 (PVC) 之後保留您的資料及儲存區。 當您刪除 PVC 時,一律會刪除 PV。 當您刪除 PVC 時,可以選擇是否同時自動刪除資料及儲存區。 您的 IBM Cloud Object Storage 服務實例與您為資料選取的保留原則無關,因此當您刪除 PVC 時,永遠不會予以移除。

現在,您已決定想要的配置,即準備好建立 PVC 來佈建 IBM Cloud Object Storage。

驗證安裝

檢閱 Pod 詳細資料,以驗證外掛程式安裝是否成功。

  1. 列出驅動程式 Pod 來驗證安裝成功。

    kubectl get pod --all-namespaces -o wide | grep object
    

    輸出範例

    ibmcloud-object-storage-driver-9n8g8                              1/1       Running   0          2m
    ibmcloud-object-storage-plugin-7c774d484b-pcnnx                   1/1       Running   0          2m
    

    當您看到一個 ibmcloud-object-storage-plugin Pod 及一個以上的 ibmcloud-object-storage-driver Pod 時,安裝即成功。 ibmcloud-object-storage-driver Pod 的數目會等於叢集裡的工作者節點數目。 所有 Pod 都必須處於 Running 狀態,外掛程式才能正常運作。 若 Pod 發生故障,請執行 kubectl describe pod -n ibm-object-s3fs <pod_name> 以找出故障的根本原因。

  2. 驗證已順利建立儲存空間類別。

    kubectl get sc | grep s3
    

    輸出範例

    ibmc-s3fs-cold-cross-region            ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-cold-regional                ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-cross-region            ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-perf-cross-region       ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-perf-regional           ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-smart-regional                ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-cross-region        ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-perf-cross-region   ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-perf-regional       ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-standard-regional            ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-vault-cross-region           ibm.io/ibmc-s3fs   8m
    ibmc-s3fs-vault-regional               ibm.io/ibmc-s3fs   8m
    

    若要將其中一個「IBM Cloud Object Storage」儲存類別設為預設儲存類別,請執行 kubectl patch storageclass <storageclass> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'。 請將「<storageclass>」替換為「IBM Cloud Object Storage」儲存類別的名稱。

  3. 遵循指示,以將物件儲存空間新增至應用程式

如果您在安裝 IBM Cloud Object Storage 外掛程式時遇到問題,請參閱 物件儲存:安裝物件儲存 ibmc Helm 外掛程式失敗物件儲存:安裝 IBM Cloud Object Storage 外掛程式失敗