首页 / 最佳实践 / 存储 / 对接 OceanStor Pacific 存储方案

对接 OceanStor Pacific 存储方案

平台支持对接 OceanStor Pacific 海量存储,在使用本平台界面创建存储资源前,您需要完成一些额外操作。

前提条件

环境准备

网络准备

软件准备

制作 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 配置信息

  1. 使用账号密码登录 Fusioncompute,获取 iscsi 网卡的相关信息。

  2. 使用账号密码登录 OceanStor Pacific,配置并记录 iscsi IP。

部署 CSI

创建 Configmap

查看软件准备中已经下载的 YAML 文件,根据以下信息修改配置,修改配置样例:

提示:您需记录 data.csi.json.backends.namedata.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

  1. 执行以下命令赋予 secretGenerate 文件执行权限并执行。

    chmod +x secretGenerate
    ./secretGenerate
  2. 使用 创建 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**********************
  3. 执行完毕会在 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 存储类。