安装 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
:
-
确保工作程序节点应用次要版本的最新补丁,以使用最新的安全设置运行工作程序节点。 补丁版本还可确保更新工作程序节点上的 root 用户密码。
如果在过去 90 天内未应用更新或重新装入工作程序节点,那么工作程序节点上的 root 用户密码将到期,并且存储插件安装可能失败。
-
列出工作程序节点的当前补丁版本。
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** 列中会显示一个星号 (**)。 -
查看 Red Hat OpenShift on IBM Cloud 版本信息 以查找最新更改。
-
通过重新装入工作程序节点来应用最新的补丁版本。 在重新加载工作节点之前,请按照 ibmcloud oc worker reload 命令中的 说明,安全地重新安排工作节点上正在运行的任何 Pod。 请注意,在重新装入期间,工作程序节点机器将使用最新映像进行更新,并且如果数据未存储在工作程序节点外部,那么将删除数据。
-
-
查看更改日志并验证对 集群版本和体系结构 的支持。
-
遵循指示信息 在本地机器上安装 V 3 Helm 客户机。
如果在 IBM Cloud 帐户中启用了 VRF 和 服务端点,那么可以使用专用 IBM Cloud Helm 存储库在专用网络上保留映像拉取流量。 如果无法在帐户中启用 VRF 或服务端点,请使用公共 Helm 存储库。
-
将 IBM Cloud Helm 存储库添加到集群。
helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm
-
更新 Helm 仓库,以获取该仓库中所有 Helm 图表的最新版本。
helm repo update
-
如果先前安装了 IBM Cloud Object Storage Helm 插件,请除去
ibmc
插件。helm plugin uninstall ibmc
-
下载 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
命令。 -
如果使用的是 OS X 或 Linux 分发版,请安装 IBM Cloud Object Storage Helm 插件
ibmc
。 插件会自动检索您的集群位置,并为您的存储类中的 IBM Cloud Object Storage 存储桶设置API端点。 如果使用的是 Windows 操作系统,请继续执行下一步。-
安装 Helm 插件。
helm plugin install ./ibm-object-storage-plugin/helm-ibmc
-
验证
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.
-
可选:如果输出显示错误
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
-
-
可选:限制 IBM Cloud Object Storage 插件,使其仅能访问包含您的 IBM Cloud Object Storage 服务凭证的 Kubernetes 机密。 默认情况下,插件可以访问集群中的所有 Kubernetes 机密。
-
将目录切换到
ibm-object-storage-plugin
目录。cd ibm-object-storage-plugin
-
从
ibm-object-storage-plugin
中,浏览到templates
目录并列出可用文件。 OS X和 Linuxcd templates && ls
Windows
chdir templates && dir
-
打开
provisioner-sa.yaml
文件,并查找ibmcloud-object-storage-secret-reader
ClusterRole
定义。 -
将先前创建的私钥的名称添加到
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"]
-
保存更改并浏览至工作目录。
-
在集群中安装
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"
。 如果输出包含gc
,ng
或g2
,请将CLUSTER_PROVIDER
设置为"IBMC-VPC"
。 将基础设施提供商存储在环境变量中。 例如:SET CLUSTER_PROVIDER="IBMC-VPC"
。 WORKER_OS
和PLATFORM
- 工作程序节点的操作系统。 要检索这些值,请运行
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 插件升级到最新版本。
-
获取 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
-
更新 IBM Cloud Helm 仓库,以获取该仓库中所有 Helm 图表的最新版本。
helm repo update
-
将 IBM Cloud Object Storage
ibmc
Helm 插件更新为最新版本。helm ibmc --update
-
为您的操作系统安装最新版本的
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"
。 如果输出包含gc
,ng
或g2
,请将CLUSTER_PROVIDER
设置为"IBMC-VPC"
。 将基础设施提供商存储在环境变量中。 例如:SET CLUSTER_PROVIDER="IBMC-VPC"
。 WORKER_OS
和PLATFORM
- 工作程序节点的操作系统。 要检索这些值,请运行
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>"
将工作程序节点的区域存储在环境变量中。|
-
验证
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
-
验证
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
-
验证 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-plugin
和 ibmc
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
:
-
获取
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
-
卸载
ibm-object-storage-plugin
。helm uninstall <release_name>
名为
ibm-object-storage-plugin
的发行版的示例命令。helm uninstall ibm-object-storage-plugin
-
请确认
ibm-object-storage-plugin
邮箱已删除。oc get pod -n <namespace> | grep object-storage
如果 CLI 输出中未显示任何 pod,那么表明已成功除去 pod。 如果 CLI 输出中未显示任何存储类,说明存储类除去操作成功。
-
验证存储类是否已除去。
oc get sc | grep s3
-
如果使用的是 OS X 或 Linux 分发版,请除去 Helm 插件
ibmc
。 如果使用的是 Windows,那么此步骤不是必需的。-
移除
ibmc
Helm 插件。helm plugin uninstall ibmc
-
验证
ibmc
插件是否已除去。 如果ibmc
插件未列在 CLI 输出中,说明ibmc
插件已成功除去。helm plugin list
示例输出
NAME VERSION DESCRIPTION
-
决定 Object Storage 配置
Red Hat OpenShift on IBM Cloud 提供了预定义的存储类,可以使用这些类来创建具有特定配置的存储区。
-
列出 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
-
选择符合您的数据访问需求的存储类。 存储类别决定了存储容量、读写操作以及存储桶的出站带宽。 适合您的选项取决于您的服务实例中数据的读写频率。
- Standard:此选项用于频繁访问的热数据。 常见用例是 Web 或移动应用程序。
- Vault:此选项用于不经常访问(例如,每月一次或更低频率)的工作负载或冷数据。 常见用例是归档、短期数据保留、数字资产保留、磁带更换和灾难恢复。
- Cold:此选项用于很少访问(每 90 天一次或更低频率)的冷数据或不活动数据。 常见用例是归档、长期备份、为合规性保留的历史数据或很少访问的工作负载和应用程序。
- 智能: 此选项适用于没有特定使用模式或过于庞大而无法确定或预测使用模式的工作负载和数据。
-
决定用于存储区中所存储数据的弹性级别。 有关更多信息,请参阅区域和端点。
- 跨区域:通过此选项,数据将在一个地理位置的三个区域中进行存储,以实现最高可用性。 如果您具有跨区域分布的工作负载,那么会将请求路由到离您最近的区域端点。 地理位置的 API 端点由先前安装的
ibmc
Helm 插件根据集群所在位置自动设置。 例如,如果集群位于US South
,那么存储类会配置为将US GEO
API 端点用于存储区。 - 区域:使用此选项时,数据会在一个区域内的多个专区之间进行复制。 如果您的工作负载位于同一区域中,那么会看到相比跨区域设置,等待时间更短,性能更好。 区域端点由先前安装的
ibm
Helm 插件根据集群所在位置自动设置。 例如,如果集群位于US South
,那么存储类会配置为将US South
用作存储区的区域端点。
- 跨区域:通过此选项,数据将在一个地理位置的三个区域中进行存储,以实现最高可用性。 如果您具有跨区域分布的工作负载,那么会将请求路由到离您最近的区域端点。 地理位置的 API 端点由先前安装的
-
查看存储类的详细 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 中读取数据。 内核缓存已为
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 元数据高速缓存中保存的最大记录数。 每个记录最多可占用 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
密码套件。
有关每个存储类的更多信息,请参阅存储类参考。 如果您想更改任何预设值,请创建您自己的自定义存储类别。
-
决定存储区的名称。 存储区的名称在 IBM Cloud Object Storage 中必须唯一。 您还可以选择通过 IBM Cloud Object Storage 插件自动创建存储区的名称。 要在存储区中组织数据,可以创建子目录。
您先前选择的存储类确定了整个存储区的定价。 您不能为子目录定义不同的存储类别。 如果要存储具有不同访问需求的数据,请考虑使用多个 PVC 来创建多个存储区。
-
选择在删除集群或持久卷声明 (PVC) 后是否要保留数据和存储区。 删除 PVC 时,始终会删除 PV。 您可以选择是否在删除 PVC 时,还要自动删除数据和存储区。 IBM Cloud Object Storage 服务实例与为数据选择的保留策略无关,并且在删除 PVC 时绝不会除去服务实例。
既然您已决定好所需的配置,就已经准备好可以创建 PVC 来供应 IBM Cloud Object Storage。
验证安装
查看 pod 详细信息以验证插件安装是否成功。
-
通过列出驱动程序 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>
,以查找故障的根本原因。 -
验证存储类是否已成功创建。
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 存储类别的名称。 -
遵循指示信息向应用程序添加对象存储器。
如果在安装 IBM Cloud Object Storage 插件时迂到问题,请参阅 对象存储器: 安装对象存储器 ibmc
Helm 插件失败 和 对象存储器: 安装 IBM Cloud Object Storage 插件失败。