对接 OceanStor Pacific 存储方案
平台支持对接 OceanStor Pacific 海量存储,在使用本平台界面创建存储资源前,您需要完成一些额外操作。
前提条件
环境准备
-
OceanStor Pacific 8.1.0
-
本平台为 3.7 版本
网络准备
-
本平台与 OceanStor Pacific 平台网络互通。
注意:若 OceanStor Pacific 平台的网络与存储网络存在网络隔离,确保 存储集群网络 和 OceanStor Pacific 平台网络 都与本平台网络互通。
软件准备
-
下载并解压文件 eSDK_Cloud_Storage_Kubernetes_CSI_Plugin_V2.2.13_X86_64.zip ,解压后将得到以下文件。
-
bin/huawei-csi
:构建镜像需要的二进制文件。 -
bin/secretGenerate
:明文密码加密工具,用于生产 Secret 对象。 -
bin/secretUpdate
:明文密码加密工具,用于更新 Secret 对象。 -
yamls
:后续部署过程中用到的 YAML 示例文件集合。
-
-
在集群所有使用存储资源的节点中下载并安装 iSCSI 客户端,命令如下
yum install iscsi-initiator-utils
。
制作 CSI 镜像
请使用私有镜像仓库地址制作 CSI 镜像,命令参考如下:
docker build -t 100.163.5.65:60080/3rdparty/huawei-csi -f Dockerfile .
其中使用的 Dockerfile 文件如下:
FROM ubuntu
ADD ["huawei-csi", "/"]
RUN ["chmod", "+x", "/huawei-csi"]
ENTRYPOINT ["/huawei-csi"]
获取 OceanStor Pacific 配置信息
-
使用账号密码登录 Fusioncompute,获取 iscsi 网卡的相关信息。
-
使用账号密码登录 OceanStor Pacific,配置并记录 iscsi IP。
部署 CSI
创建 Configmap
查看软件准备中已经下载的 YAML 文件,根据以下信息修改配置,修改配置样例:
提示:您需记录 data.csi.json.backends.name
和 data.csi.json.backends.urls
两个值,在 创建 Secret 步骤中将会使用。
kind: ConfigMap
apiVersion: v1
metadata:
name: huawei-csi-configmap
namespace: kube-system
data:
csi.json: |
{
"backends": [
{
"storage": "fusionstorage-san",
"name": "huawei-fusionstorage-san",
"urls": ["https://100.163.5.21:28443"],
"pools": ["StoragePool0"],
"parameters": {"protocol": "iscsi", "portals": ["172.21.51.11", "172.21.51.13","172.21.51.17"]}
}
]
}
创建 Secret
-
执行以下命令赋予
secretGenerate
文件执行权限并执行。chmod +x secretGenerate ./secretGenerate
-
使用 创建 Configmap 步骤中记录的 name 和 url 填写相应字段。完成后您需要填写存储的 user 和 password 用于生成 Secret 对象。
**************************The 1 Backend Info*************************** Current backend name is: <backend-1-name> Current backend url is: [<backend-1-url>] *********************************************************************** Enter backend <backend-1-name>'s user: #请填写存储1的用户名 Enter backend <backend-1-name>'s password: #请填写存储1的密码 Please Enter the password again: #再次填写存储1的密码 *********************Create CSI Secret Successful**********************
-
执行完毕会在
kube-system
下生成secret
文件。
部署
根据提示执行以下命令创建资源。
kubectl create -f huawei-csi-rbac.yaml
# 修改文件中的huawei-csi:*.*.*配置项,替换为前面CSI镜像,这里是 100.163.5.65:60080/3rdparty/huawei-csi
kubectl create -f huawei-csi-controller.yaml
# 修改 csi 镜像 tag,修改 --volume-use-multipath 的值为 false
kubectl create -f huawei-csi-node.yaml
创建存储类
创建存储类 YAML 定义文件,您可以参考软件准备中下载的 YAML 文件示例:fs-sc-for-csi-example.yaml
:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: mysc
provisioner: csi.huawei.com
parameters:
volumeType: fs
allocType: thin
authClient: "*"
验证
登录本平台,切换至 平台管理,在 存储管理 > 存储类 页面使用名为 mysc
存储类。