• 基于华为fusionstorage的块存储CSI


    承接上文,块存储的CSI要比对象存储复杂一些,但总的处理逻辑还是一致的。下面以华为fusionstorage的CSI为例进行介绍,该插件支持了多个后端存储,如fusionstorage和oceanstor。下面是CSI插件与后端存储(fusionstorage)交互用到的配置文件。其中pools为事先创建好的存储池,parameters为所有k8s的node节点的hostname:ip对,用于执行attach块存储操作。

      csi.json: |
        {
            "backends": [
                {
                    "storage": "fusionstorage-san",
                    "name": "***",
                    "url": "https://*.*.*.*:28443",
                    "user": "***",
                    "password": "***",
                    "pools": ["***"], 
                    "parameters": {"SCSI": {"***": "*.*.*.*"}}
                }
            ]
        }
    

    如上图所示,Node上的CSI容器挂载了Node的/dev/etc/var/lib/kubelet目录。整体挂载流程为:在后端存储创建一个卷(如果不存在),并将其attach到node节点的/dev目录下(具体的attach动作由iSCSI客户端,NFS,FC等方式完成);由于容器挂载了/dev目录,在容器中直接格式化该块存储并挂载到/var/lib/kubelet中的pod目录即可。/etc目录只用于在csi容器中获取node节点的hostname(PS:在容器中挂载node节点的/dev和/etc目录是比较危险的,如果容器损坏了这些目录,可能导致node节点的系统错误)。

    创建并挂载卷的调用过程如下(下载):

    参考:

  • 相关阅读:
    [Linux]软件目录
    [Linux]查看Linux内核及发行版本
    [S7706]华为ACL
    [S7706]华为配置DHCP
    QML-密码管理器
    QML-AES加解密小工具
    LaTex中文article模板(支持代码、数学、TikZ)
    Memo-Tech
    VIM学习笔记
    CodeForces 674C Levels and Regions
  • 原文地址:https://www.cnblogs.com/charlieroro/p/12652746.html
Copyright © 2020-2023  润新知