IBM Cloud Docs
安装 IBM Cloud Object Storage 插件

安装 IBM Cloud Object Storage 插件

虚拟私有云 经典基础架构

安装 IBM Cloud Object Storage 插件,为 IBM Cloud Object Storage 设置预定义存储类。 可以使用这些存储类来创建用于为应用程序供应 IBM Cloud Object Storage 的 PVC。

通过 Helm 安装插件

先决条件
IBM Cloud Object Storage 插件至少需要 0.2 vCPU 和 128 MB 内存。

开始之前: 访问 Red Hat OpenShift 集群

安装 ibmc Helm 插件和 ibm-object-storage-plugin

  1. 确保工作程序节点应用次要版本的最新补丁,以使用最新的安全设置运行工作程序节点。 补丁版本还可确保更新工作程序节点上的 root 用户密码。

    如果在过去 90 天内未应用更新或重新装入工作程序节点,那么工作程序节点上的 root 用户密码将到期,并且存储插件安装可能失败。

    1. 列出工作程序节点的当前补丁版本。

      ibmcloud oc worker ls --cluster <cluster_name_or_ID>
      

      示例输出

      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.32_1523*
      

      如果工作程序节点未应用最新补丁版本,那么在 CLI 输出的 *Version** 列中会显示一个星号 (**)。

    2. 查看 Red Hat OpenShift on IBM Cloud 版本信息 以查找最新更改。

    3. 通过重新装入工作程序节点来应用最新的补丁版本。 在重新加载工作节点之前,请按照 ibmcloud oc worker reload 命令中的 说明,安全地重新安排工作节点上正在运行的任何 Pod。 请注意,在重新装入期间,工作程序节点机器将使用最新映像进行更新,并且如果数据未存储在工作程序节点外部,那么将删除数据。

  2. 查看更改日志并验证对 集群版本和体系结构 的支持。

  3. 遵循指示信息 在本地机器上安装 V 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. 如果使用的是 OS X 或 Linux 分发版,请安装 IBM Cloud Object Storage Helm 插件 ibmc。 插件会自动检索您的集群位置,并为您的存储类中的 IBM Cloud Object Storage 存储桶设置API端点。 如果使用的是 Windows 操作系统,请继续执行下一步。

    1. 安装 Helm 插件。

      helm plugin install ./ibm-object-storage-plugin/helm-ibmc
      
    2. 验证 ibmc 插件是否已成功安装。

      helm ibmc --help
      

      示例输出

      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,请运行以下命令。

      chmod 755 /Users/<user_name>/Library/helm/plugins/helm-ibmc/ibmc.sh
      

      然后重试 ibmc --help 命令。

      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
      
    4. ibm-object-storage-plugin 中,浏览到 templates 目录并列出可用文件。 OS X和 Linux

      cd templates && ls
      

      Windows

      chdir templates && dir
      
    5. 打开 provisioner-sa.yaml 文件,并查找 ibmcloud-object-storage-secret-reader ClusterRole 定义。

    6. 将先前创建的私钥的名称添加到 resourceNames 部分中该插件有权访问的密码的列表。

      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"]
      
    7. 保存更改并浏览至工作目录。

  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 设置配额。

示例 helm ibmc install 命令适用于 OS X,Linux 适用于 RHEL 和 Ubuntu 工作节点。

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

用于 OS X 和 Linux 的 Red Hat OpenShift CoreOS 工作节点的 helm ibmc install 命令示例。

helm install ibm-object-storage-plugin ./ibm-object-storage-plugin --set license=true --set kubeDriver=/etc/kubernetes --set dcname="${DC_NAME}" --set provider="${CLUSTER_PROVIDER}" --set workerOS="${WORKER_OS}" --region="${REGION}" --set platform="${PLATFORM}" [--set quotaLimit=true/false] [--set bucketAccessPolicy=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}" --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
RHEL 工作节点:设置为 /usr/libexec/kubernetes
CoreOS 工作节点:设置为 /etc/kubernetes
DC_NAME
集群数据中心。 要检索数据中心,请运行 oc 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
基础架构提供者。 要检索此值,请运行 oc 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
工作程序节点的操作系统。 要检索这些值,请运行 oc get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}"。 将工作程序节点的操作系统存储在环境变量中。 对于 Red Hat OpenShift on IBM Cloud 集群,请运行 SET WORKER_OS="redhat"SET PLATFORM="openshift"
REGION
工作程序节点的区域。 要检索此值,请运行 oc 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

    针对 OS X 和 Linux的示例 helm ibmc upgrade 命令。

    helm ibmc upgrade ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin --set license=true [--set bucketAccessPolicy=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}" --region="${REGION} --set platform="${PLATFORM}" --set license=true [--set bucketAccessPolicy=false]
    
    DC_NAME
    集群数据中心。 要检索数据中心,请运行 oc 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
    基础架构提供者。 要检索此值,请运行 oc 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
    工作程序节点的操作系统。 要检索这些值,请运行 oc get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}"。 将工作程序节点的操作系统存储在环境变量中。 对于 Red Hat OpenShift on IBM Cloud 集群,请运行 SET WORKER_OS="redhat"SET PLATFORM="openshift"
    REGION
    工作程序节点的区域。 要检索此值,请运行 oc 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 时,说明该插件升级成功。

    oc 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 时,说明升级成功。

    oc rollout status ds/ibmcloud-object-storage-driver -n ibm-object-s3fs
    
  7. 验证 IBM Cloud Object Storage pod 是否处于 Running 状态。

    oc 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 没有影响。

开始之前:

  • 访问 Red Hat OpenShift 集群
  • 请确保您的集群中没有使用 IBM Cloud Object Storage 的PVC或PV。 要列出所有挂载特定PVC的容器,请发送电子邮件至 oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"

要除去 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 邮箱已删除。

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

    如果 CLI 输出中未显示任何 pod,那么表明已成功除去 pod。 如果 CLI 输出中未显示任何存储类,说明存储类除去操作成功。

  4. 验证存储类是否已除去。

    oc get sc | grep s3
    
  5. 如果使用的是 OS X 或 Linux 分发版,请除去 Helm 插件 ibmc。 如果使用的是 Windows,那么此步骤不是必需的。

    1. 移除 ibmc Helm 插件。

      helm plugin uninstall ibmc
      
    2. 验证 ibmc 插件是否已除去。 如果 ibmc 插件未列在 CLI 输出中,说明 ibmc 插件已成功除去。

      helm plugin list
      

      示例输出

      NAME    VERSION    DESCRIPTION
      

决定 Object Storage 配置

Red Hat OpenShift on IBM Cloud 提供了预定义的存储类,可以使用这些类来创建具有特定配置的存储区。

  1. 列出 Red Hat OpenShift on IBM Cloud 中的可用存储类。

    oc 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. 选择符合您的数据访问需求的存储类。 存储类别决定了存储容量、读写操作以及存储桶的出站带宽。 适合您的选项取决于您的服务实例中数据的读写频率。

    • Standard:此选项用于频繁访问的热数据。 常见用例是 Web 或移动应用程序。
    • Vault:此选项用于不经常访问(例如,每月一次或更低频率)的工作负载或冷数据。 常见用例是归档、短期数据保留、数字资产保留、磁带更换和灾难恢复。
    • Cold:此选项用于很少访问(每 90 天一次或更低频率)的冷数据或不活动数据。 常见用例是归档、长期备份、为合规性保留的历史数据或很少访问的工作负载和应用程序。
    • 智能: 此选项适用于没有特定使用模式或过于庞大而无法确定或预测使用模式的工作负载和数据。
  3. 决定用于存储区中所存储数据的弹性级别。 有关更多信息,请参阅区域和端点

    • 跨区域:通过此选项,数据将在一个地理位置的三个区域中进行存储,以实现最高可用性。 如果您具有跨区域分布的工作负载,那么会将请求路由到离您最近的区域端点。 地理位置的 API 端点由先前安装的 ibmc Helm 插件根据集群所在位置自动设置。 例如,如果集群位于 US South,那么存储类会配置为将 US GEO API 端点用于存储区。
    • 区域:使用此选项时,数据会在一个区域内的多个专区之间进行复制。 如果您的工作负载位于同一区域中,那么会看到相比跨区域设置,等待时间更短,性能更好。 区域端点由先前安装的 ibm Helm 插件根据集群所在位置自动设置。 例如,如果集群位于 US South,那么存储类会配置为将 US South 用作存储区的区域端点。
  4. 查看存储类的详细 IBM Cloud Object Storage 存储区配置。

    oc 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 读取或向其写入的数据区块大小(以兆字节为单位)。 名称中包含 perf 的存储类设置为52兆字节。 名称中不含 perf 的存储类别使用16兆字节的数据块。 例如,如果要读取 1GB 的文件,那么该插件会以多个 16 兆字节或 52 兆字节区块的形式来读取此文件。
    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 中读取数据。 内核缓存已为 standardsmart 存储类启用,为 coldvault 存储类禁用。
    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 元数据高速缓存中保存的最大记录数。 每个记录最多可占用 0.5 千字节。 缺省情况下,所有存储类的最大记录数均设置为 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 来验证安装是否成功。

    oc 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 状态,插件才能正常运行。 如果豆荚出现故障,请发送电子邮件至 oc describe pod -n ibm-object-s3fs <pod_name>,以查找故障的根本原因。

  2. 验证存储类是否已成功创建。

    oc 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 存储类别设置为默认存储类别,请运行 oc 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 插件失败