CSI驱动程序支持所有煤渣驱动程序,无需运行任何附加服务,如RabbitMQ、Mariadb或煤渣服务
cinderlib-csi的Python项目详细描述
Cinderlib CSI驱动程序图片::https://img.shields.io/pypi/v/cinderlib_csi.svg
:目标:https://pypi.python.org/pypi/cinderlib_csi
图片::https://img.shields.io/pypi/pyversions/cinderlib_csi.svg
:目标:https://pypi.python.org/pypi/cinderlib_csi
图片::https://pyup.io/repos/github/akrog/cinderlib戋u csi/shield.svg
:目标:https://pyup.io/repos/github/akrog/cinderlib戋u csi/
:alt:updates
。图片::https://img.shields.io/:license apache blue.svg
:目标:http://www.apache.org/licenses/license-2.0
,无需运行任何附加服务,如rabbitmq、mariadb、
Cinder API,Cinder Scheduler或Cinder Volume。
当前代码是一个**概念证明**仅与Cinder兼容
OSP-12/Pike版本。
*免费软件:Apache软件许可证2.0
*文档:待定
最新的csi规范包括"new
snapshots"功能
<;https://github.com/container storage interface/spec/pull/224>;`最近引入了
。
当前支持的功能有:
-创建块卷
-创建快照
-从快照
-删除块卷
-删除快照
-列出分页
-列出分页
-列出分页
-附加卷
-分离卷
-报告存储容量
-探测节点
-检索插件信息
pendencies
---------
此驱动程序要求Cinder v11.0(OSP-12/Pike)已安装在
系统中,如何完成此操作由安装程序决定,因为有多种方法可以完成此操作:
从github
-从其他存储库
当从pypi安装时,"cinderlib csi"已经处理了任何其他基本需求。
驱动程序和/或
连接/分离操作的比率,就像在煤渣中一样。
controller servicer的一些python依赖项是:
-drbd:dbus和drbdmanage
-hpe 3par:python-3parclient
-kaminario:krest
-pure:purestorage
-dell emc vmax,ibm ds8k:pyopenssl
-hpe lefthad:python lefthandclient
-fujitsu eternus dx:pywbem
-ibm xiv:pyxcli
-rbd:rados和rbd
-dell emc vnx:storops
-violion:vmemclient
-infinidat:infinisdk,capacity,infy.dtypes.wwn,infi.dtypes.iqn
o需要额外的包,例如,
centos/rhel上的lvm需要"targetcli"包,因此请与您的
硬件供应商联系。
除了控制器要求外,通常还需要
节点服务器来处理vo的连接和分离。根据用于访问存储的连接,lumes到
节点。例如:
-iscsi:iscsi initiator tools and device mapper multipath
-rbd/ceph:ceph common package
代码块::shell
$sudo yum install-y centos release openstack pike
$sudo yum install-y openstack cinder python pip
代码块::shell
$sudo pip install cinderlib csi
现在,我们应该安装后端所需的任何附加软件包。
对于iscsi后端,我们将要安装:
。代码块::shell
$sudo yum install iscsi initiator utils
$sudo yum install device mapper multipath
$sudo mpathconf--enable--with_multipathd y--user_friendly_names n--find_multipaths y
对于rbd,我们还需要一个特定的包:
。代码块::shell
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————默认|示例
+============================+============+===============================================================+==========================================================================================================+==============================================================================================================================================================================+
,`csi_u endpoint`所有IP和端口绑定服务[::]:50051| 192.168.1.22:50050
+—————————————————————————————————————————————--+---——+——+————+————+—————————————————————————————————————————————————————————————???????????????+
"csi_mode controller服务应该执行的角色:controller,node,all all|控制器-——+——-)---------------------------------------------------------------------------------+
`x_u csi_u storage_u nw_u ip` node用于连接到存储的节点中的IP地址从节点的fqdn解析的IP| 192.168.1.22条|
+??~+??~+-————————————————————————————————————————————————————————————————————————————————————————————————————————| csi_test_节点|
+------------+------------+------------+--------+--------+--------+--------+--------+。"'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'|{'storage':'db','connection':'sqlite:///db.sqlite'}{'storage':'db','connection':'mysql+pymysql://root:stackdb@192.168.1.1/cinder?字符集=utf8'}
+---------------------------+------------+---------------------------+---------------------------+。-—————————————————————————————————————————————————————————————————————---——+
`x戋csi戋u cinderlib戋u config_controller_global`cinderlib` configuration{project戋u id':'com.redhat.cinderlib csi',root戋helper':'sudo}{project戋u id:"com.redhat.cinderlib csi","user戋id":"com.redhat.cinderlib csi-csi,"根帮助程序":"sudo"}
+??-+??-+??-+??-+??-+??—————————————————————————————————————————————————————————+
`x_csi_backend_u config` controller driver configuration{"volume_backend_u name":"rbd","volume_u driver":"cinder.volume.drivers.rbd.rbddriver","rbd-u user":"cinder","rbd-u pool":"volumes","rbd-ceph-conf","etc/ceph/ceph.conf","rbd-u keyring-conf","etc/ceph/ceph.client.cinder.keyring"}
+---------------------------+————————————————————————————————————————————-—————————————————————————————————————————————————--已经测试过的唯一角色是默认角色e
控制器和节点服务器在同一个服务中执行(`csi_mode=all`),
其他模式目前可能有问题。
对于连接类型),我们只需运行"cinderlib csi"服务,用户可以使用无密码sudo。代码块::shell
$cinderlib csi
在测试插件之前,我们必须先运行插件,对于
,我们必须在启动
插件之前检查作为测试提供的配置。默认情况下,所有示例都在端口50051上运行该服务。
baremetal
~~~~~~~~~~
例如,要在开发环境中使用lvm驱动程序进行测试,我们可以从"Cinderlib CSI"项目的根目录运行以下命令:
。代码块::shell
$cd tmp
$sudo dd if=/dev/zero of=cinder volumes bs=1048576 seek=22527 count=1
$lodevice=`sudo losetup--show-f./cinder volumes`
$sudo pvcreate$lodevice
$sudo vgcreate cinder volumes$lodevice
$sudo vgscan--cache
$cd../examples/baremetal
$./run.sh lvm
py27 development inst nodeps:/home/geguileo/code/reuse cinder drivers/cinderlib csi
py27 installed:…
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuui27:跳过测试
恭喜:)
ib:0.1.0,cinder:11.1.1.dev41)
运行后端lvmvolumedriver v3.0.0
现在服务于[::]:50051…
还有一个使用名为"cinder"的用户和"volumes"池测试ceph集群的示例。对于ceph/rbd后端,由于
Cinder中的限制,我们需要同时具有
`/etc/ceph中的凭据和配置才能使其工作。
代码块::shell
$cd示例/baremetal
$./run.sh rbd
starting cinderlib csi v0.0.1(cinderlib:0.1.0,cinder:11.1.0)
running backend rbddriver v1.2.0
现在服务于[::]:50051…
is csi连接
包。
containerized
~~~~~~~~~~~~~~~~
项目中包含一个示例"dockerfile",用于在docker hub中创建"akrog/cinderlib csi"容器。
有两个bash脚本,每个示例一个,这将在容器上运行csi驱动程序
,请注意容器需要作为特权运行才能装入
卷。
对于rbd示例,我们需要复制"ceph.conf"和
"ceph.client.cinder.keyring"文件,假设我们使用的是"cinder"用户
到示例/doc中KER目录替换现有目录。
…代码块::shell
$cd examples/docker
$./rbd.sh
starting cinderlib csi v0.0.1(cinderlib:0.1.0,cinder:11.1.0)
运行后端rbddriver v1.2.0
现在服务于[:]:50051…
~~
e"csc工具"https://github.com/rexray/gocsi/tree/master/csc>;``运行模拟容器编排系统的命令。
e快照命令。
检查插件信息:
…代码块::shell
$csc identity plugin info-e tcp://127.0.0.1:50051
"com.redhat.cinderlib csi""0.0.1""cinder driver"="rbddriver""cinder driver supported"="true""cinder driver version"="1.2.0""cinder version"="11.1.0""cinderlib version"="0.1.0""persistence"="dbpersistence"
节点ID:
…代码块::shell
$csc node get id-e tcp://127.0.0.1:50051
localhost.localdomain
$hostname-f
localhost.localdomain
代码块::shell
$csc controller get capacity-e tcp://127.0.0.1:50051
24202140712
创建卷:
……代码块::shell
$csc controller create volume--cap single_node嫒u writer,block--req bytes 2147483648 disk-e tcp://127.0.0.1:50051
"5ee5fd7c-45cd-44cf-af7b-06081f680f2c"2147483648
代码块::shell
$csc controller list volumes-e tcp://127.0.0.1:50051
"5ee5fd7c-45cd-44cf-af7b-06081f680f2c"2147483648
存储以下所有调用的卷ID:
。代码块::shell
$vol_id=`csc controller list volumes-e tcp://127.0.0.1:50051 awk'{print gensub("\",","g",$1)}'
代码块:shell
$touch.././tmp/mnt/{staging,publish}
$csc controller publish——cap single节点写入器,block——node id`hostname-f`$vol-u id-e tcp://127.0.0.0.1:50051
"5ee5fd7c-45cd-45cd-44cf-af7b-06081f68f2c""连接信息"="{"连接器":{"发起人":\"IQN.1994-1994-05.com.redhat:aa5328232823bac-aa5328232823bac:aa532823282823bac 9","IP":"127.0.0.1\", \"platform\": \"x86_64\", \"host\": \"localhost.localdomain\", \"do_local_attach\": false, \"os_type\": \"linux2\", \"multipath\": false}, \"conn\": {\"driver_volume_type\": \"rbd\", \"data\": {\"secret_uuid\": null, \"volume_id\": \"5ee5fd7c-45cd-44cf-af7b-06081f680f2c\", \"auth_username\": \"cinder\", \"secret_type\": \"ceph\", \"nam"卷/volume-5ee5fd7c-45cd-44cf-af7b-06081f68f2f2c\","discard\":true,""keyring\":"[客户.辛迪尔]\n\\tkey=aqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6789 \"]}}"
$csc node stage--pub info connection\u info="不相关"--CAP单节点写入程序,block—暂存目标路径'realpath../../tmp/mnt/staging`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node publish—cap单节点写入程序,block—pub info connection\u info="unrelative"--暂存目标路径'realpath../../tmp/mnt/staging`--目标路径'realpath.../../tmp/mnt/publish`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
将卷附加到容器上的"tmp/mnt/publish":
代码块:shell
$touch.././tmp/mnt/{staging,publish}
$csc controller publish——cap single节点写入器,block——node id`hostname-f`$vol-u id-e tcp://127.0.0.0.1:50051
"5ee5fd7c-45cd-45cd-44cf-af7b-06081f68f2c""连接信息"="{"连接器":{"发起人":\"IQN.1994-1994-05.com.redhat:aa5328232823bac-aa5328232823bac:aa532823282823bac 9","IP":"127.0.0.1\", \"platform\": \"x86_64\", \"host\": \"localhost.localdomain\", \"do_local_attach\": false, \"os_type\": \"linux2\", \"multipath\": false}, \"conn\": {\"driver_volume_type\": \"rbd\", \"data\": {\"secret_uuid\": null, \"volume_id\": \"5ee5fd7c-45cd-44cf-af7b-06081f680f2c\", \"auth_username\": \"cinder\", \"secret_type\": \"ceph\", \"name\":\"卷/volume-5ee5fd7c-45cd-44cf-af7b-06081f680f2c\",\"discard\":true,\"keyring\":\"[客户端.cinder]\\n\\tkey=aqcqpetaof03ixaohzjd6kgximqfldn3qzdlq====>",\"群集名称":\"ceph\",\"主机":["192.168.1.22\",\"auth\u enabled\":true,\"ports\":[\"6789\"]}"
$csc node stage——pub info connection\u info="inrelative"——cap single_node_writer,block——staging target path/mnt/staging$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node publish——cap single_node_writer,block--pub info connection_info="unrelative"--暂存目标路径/mnt/staging--target路径/mnt/publish$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
代码块::shell
$csc node unpublish--target path`realpath../../tmp/mnt/publish`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node unstage--staging target path`realpath../../tmp/mnt/staging`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc controller unpublish--node id`hostname-f`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
分离容器上的卷:
代码块::shell
$csc node unpublish--target path/mnt/publish$vol廑id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node unstage--staging target path/tmp/mnt/staging$vol廑id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc controller unpublish--node id`hostname-f`$vol戋id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
删除卷:
……代码块::shell
$csc controller delete volume$vol_id-e tcp://127.0.0.1:50051
写入程序、单写入程序和多个读卡器。
请向
`Cinderlib CSI<;https://github.com/akrog/Cinderlib CSI/issues>;``u
项目或在IRC上ping我(我的句柄是Geguileo,我挂在Freenode中的
OpenStack Cinder通道上)。
todo
----
e在这个poc驱动程序中,这里有一个非
详尽的列表:
-支持nfs卷
-支持挂载文件系统
-支持kubernetes crd作为持久性存储
-单元测试
-功能测试
-改进接收的参数检查
-使驱动程序更加eslient
-在kubernetes中测试驱动程序
-查看返回的一些错误代码
-通过煤渣卷类型支持卷属性
-查看多连接
-支持只读模式
-基于过度配置值的报告容量
-配置专用数据位置在
==
=
history
==
>0.0.2(2018-06-19)
----
*使用Cinderlib v0.2.1而不是Github Branch
<0.0.1(2018-05-18)
----
*PYPI上的首次发布。
:目标:https://pypi.python.org/pypi/cinderlib_csi
图片::https://img.shields.io/pypi/pyversions/cinderlib_csi.svg
:目标:https://pypi.python.org/pypi/cinderlib_csi
图片::https://pyup.io/repos/github/akrog/cinderlib戋u csi/shield.svg
:目标:https://pyup.io/repos/github/akrog/cinderlib戋u csi/
:alt:updates
。图片::https://img.shields.io/:license apache blue.svg
:目标:http://www.apache.org/licenses/license-2.0
Cinder API,Cinder Scheduler或Cinder Volume。
当前代码是一个**概念证明**仅与Cinder兼容
OSP-12/Pike版本。
*免费软件:Apache软件许可证2.0
*文档:待定
最新的csi规范包括"new
snapshots"功能
<;https://github.com/container storage interface/spec/pull/224>;`最近引入了
。
当前支持的功能有:
-创建块卷
-创建快照
-从快照
-删除块卷
-删除快照
-列出分页
-列出分页
-列出分页
-附加卷
-分离卷
-报告存储容量
-探测节点
-检索插件信息
pendencies
---------
此驱动程序要求Cinder v11.0(OSP-12/Pike)已安装在
系统中,如何完成此操作由安装程序决定,因为有多种方法可以完成此操作:
从github
-从其他存储库
当从pypi安装时,"cinderlib csi"已经处理了任何其他基本需求。
驱动程序和/或
连接/分离操作的比率,就像在煤渣中一样。
controller servicer的一些python依赖项是:
-drbd:dbus和drbdmanage
-hpe 3par:python-3parclient
-kaminario:krest
-pure:purestorage
-dell emc vmax,ibm ds8k:pyopenssl
-hpe lefthad:python lefthandclient
-fujitsu eternus dx:pywbem
-ibm xiv:pyxcli
-rbd:rados和rbd
-dell emc vnx:storops
-violion:vmemclient
-infinidat:infinisdk,capacity,infy.dtypes.wwn,infi.dtypes.iqn
o需要额外的包,例如,
centos/rhel上的lvm需要"targetcli"包,因此请与您的
硬件供应商联系。
除了控制器要求外,通常还需要
节点服务器来处理vo的连接和分离。根据用于访问存储的连接,lumes到
节点。例如:
-iscsi:iscsi initiator tools and device mapper multipath
-rbd/ceph:ceph common package
代码块::shell
$sudo yum install-y centos release openstack pike
$sudo yum install-y openstack cinder python pip
代码块::shell
$sudo pip install cinderlib csi
现在,我们应该安装后端所需的任何附加软件包。
对于iscsi后端,我们将要安装:
。代码块::shell
$sudo yum install iscsi initiator utils
$sudo yum install device mapper multipath
$sudo mpathconf--enable--with_multipathd y--user_friendly_names n--find_multipaths y
对于rbd,我们还需要一个特定的包:
。代码块::shell
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————默认|示例
+============================+============+===============================================================+==========================================================================================================+==============================================================================================================================================================================+
,`csi_u endpoint`所有IP和端口绑定服务[::]:50051| 192.168.1.22:50050
+—————————————————————————————————————————————--+---——+——+————+————+—————————————————————————————————————————————————————————————???????????????+
"csi_mode controller服务应该执行的角色:controller,node,all all|控制器-——+——-)---------------------------------------------------------------------------------+
`x_u csi_u storage_u nw_u ip` node用于连接到存储的节点中的IP地址从节点的fqdn解析的IP| 192.168.1.22条|
+??~+??~+-————————————————————————————————————————————————————————————————————————————————————————————————————————| csi_test_节点|
+------------+------------+------------+--------+--------+--------+--------+--------+。"'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'.'|{'storage':'db','connection':'sqlite:///db.sqlite'}{'storage':'db','connection':'mysql+pymysql://root:stackdb@192.168.1.1/cinder?字符集=utf8'}
+---------------------------+------------+---------------------------+---------------------------+。-—————————————————————————————————————————————————————————————————————---——+
`x戋csi戋u cinderlib戋u config_controller_global`cinderlib` configuration{project戋u id':'com.redhat.cinderlib csi',root戋helper':'sudo}{project戋u id:"com.redhat.cinderlib csi","user戋id":"com.redhat.cinderlib csi-csi,"根帮助程序":"sudo"}
+??-+??-+??-+??-+??-+??—————————————————————————————————————————————————————————+
`x_csi_backend_u config` controller driver configuration{"volume_backend_u name":"rbd","volume_u driver":"cinder.volume.drivers.rbd.rbddriver","rbd-u user":"cinder","rbd-u pool":"volumes","rbd-ceph-conf","etc/ceph/ceph.conf","rbd-u keyring-conf","etc/ceph/ceph.client.cinder.keyring"}
+---------------------------+————————————————————————————————————————————-—————————————————————————————————————————————————--已经测试过的唯一角色是默认角色e
控制器和节点服务器在同一个服务中执行(`csi_mode=all`),
其他模式目前可能有问题。
对于连接类型),我们只需运行"cinderlib csi"服务,用户可以使用无密码sudo。代码块::shell
$cinderlib csi
在测试插件之前,我们必须先运行插件,对于
,我们必须在启动
插件之前检查作为测试提供的配置。默认情况下,所有示例都在端口50051上运行该服务。
baremetal
~~~~~~~~~~
例如,要在开发环境中使用lvm驱动程序进行测试,我们可以从"Cinderlib CSI"项目的根目录运行以下命令:
。代码块::shell
$cd tmp
$sudo dd if=/dev/zero of=cinder volumes bs=1048576 seek=22527 count=1
$lodevice=`sudo losetup--show-f./cinder volumes`
$sudo pvcreate$lodevice
$sudo vgcreate cinder volumes$lodevice
$sudo vgscan--cache
$cd../examples/baremetal
$./run.sh lvm
py27 development inst nodeps:/home/geguileo/code/reuse cinder drivers/cinderlib csi
py27 installed:…
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuui27:跳过测试
恭喜:)
ib:0.1.0,cinder:11.1.1.dev41)
运行后端lvmvolumedriver v3.0.0
现在服务于[::]:50051…
还有一个使用名为"cinder"的用户和"volumes"池测试ceph集群的示例。对于ceph/rbd后端,由于
Cinder中的限制,我们需要同时具有
`/etc/ceph中的凭据和配置才能使其工作。
代码块::shell
$cd示例/baremetal
$./run.sh rbd
starting cinderlib csi v0.0.1(cinderlib:0.1.0,cinder:11.1.0)
running backend rbddriver v1.2.0
现在服务于[::]:50051…
is csi连接
包。
containerized
~~~~~~~~~~~~~~~~
项目中包含一个示例"dockerfile",用于在docker hub中创建"akrog/cinderlib csi"容器。
有两个bash脚本,每个示例一个,这将在容器上运行csi驱动程序
,请注意容器需要作为特权运行才能装入
卷。
对于rbd示例,我们需要复制"ceph.conf"和
"ceph.client.cinder.keyring"文件,假设我们使用的是"cinder"用户
到示例/doc中KER目录替换现有目录。
…代码块::shell
$cd examples/docker
$./rbd.sh
starting cinderlib csi v0.0.1(cinderlib:0.1.0,cinder:11.1.0)
运行后端rbddriver v1.2.0
现在服务于[:]:50051…
e"csc工具"https://github.com/rexray/gocsi/tree/master/csc>;``运行模拟容器编排系统的命令。
e快照命令。
检查插件信息:
…代码块::shell
$csc identity plugin info-e tcp://127.0.0.1:50051
"com.redhat.cinderlib csi""0.0.1""cinder driver"="rbddriver""cinder driver supported"="true""cinder driver version"="1.2.0""cinder version"="11.1.0""cinderlib version"="0.1.0""persistence"="dbpersistence"
节点ID:
…代码块::shell
$csc node get id-e tcp://127.0.0.1:50051
localhost.localdomain
$hostname-f
localhost.localdomain
代码块::shell
$csc controller get capacity-e tcp://127.0.0.1:50051
24202140712
创建卷:
……代码块::shell
$csc controller create volume--cap single_node嫒u writer,block--req bytes 2147483648 disk-e tcp://127.0.0.1:50051
"5ee5fd7c-45cd-44cf-af7b-06081f680f2c"2147483648
代码块::shell
$csc controller list volumes-e tcp://127.0.0.1:50051
"5ee5fd7c-45cd-44cf-af7b-06081f680f2c"2147483648
存储以下所有调用的卷ID:
。代码块::shell
$vol_id=`csc controller list volumes-e tcp://127.0.0.1:50051 awk'{print gensub("\",","g",$1)}'
代码块:shell
$touch.././tmp/mnt/{staging,publish}
$csc controller publish——cap single节点写入器,block——node id`hostname-f`$vol-u id-e tcp://127.0.0.0.1:50051
"5ee5fd7c-45cd-45cd-44cf-af7b-06081f68f2c""连接信息"="{"连接器":{"发起人":\"IQN.1994-1994-05.com.redhat:aa5328232823bac-aa5328232823bac:aa532823282823bac 9","IP":"127.0.0.1\", \"platform\": \"x86_64\", \"host\": \"localhost.localdomain\", \"do_local_attach\": false, \"os_type\": \"linux2\", \"multipath\": false}, \"conn\": {\"driver_volume_type\": \"rbd\", \"data\": {\"secret_uuid\": null, \"volume_id\": \"5ee5fd7c-45cd-44cf-af7b-06081f680f2c\", \"auth_username\": \"cinder\", \"secret_type\": \"ceph\", \"nam"卷/volume-5ee5fd7c-45cd-44cf-af7b-06081f68f2f2c\","discard\":true,""keyring\":"[客户.辛迪尔]\n\\tkey=aqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqaqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6789 \"]}}"
$csc node stage--pub info connection\u info="不相关"--CAP单节点写入程序,block—暂存目标路径'realpath../../tmp/mnt/staging`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node publish—cap单节点写入程序,block—pub info connection\u info="unrelative"--暂存目标路径'realpath../../tmp/mnt/staging`--目标路径'realpath.../../tmp/mnt/publish`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
将卷附加到容器上的"tmp/mnt/publish":
代码块:shell
$touch.././tmp/mnt/{staging,publish}
$csc controller publish——cap single节点写入器,block——node id`hostname-f`$vol-u id-e tcp://127.0.0.0.1:50051
"5ee5fd7c-45cd-45cd-44cf-af7b-06081f68f2c""连接信息"="{"连接器":{"发起人":\"IQN.1994-1994-05.com.redhat:aa5328232823bac-aa5328232823bac:aa532823282823bac 9","IP":"127.0.0.1\", \"platform\": \"x86_64\", \"host\": \"localhost.localdomain\", \"do_local_attach\": false, \"os_type\": \"linux2\", \"multipath\": false}, \"conn\": {\"driver_volume_type\": \"rbd\", \"data\": {\"secret_uuid\": null, \"volume_id\": \"5ee5fd7c-45cd-44cf-af7b-06081f680f2c\", \"auth_username\": \"cinder\", \"secret_type\": \"ceph\", \"name\":\"卷/volume-5ee5fd7c-45cd-44cf-af7b-06081f680f2c\",\"discard\":true,\"keyring\":\"[客户端.cinder]\\n\\tkey=aqcqpetaof03ixaohzjd6kgximqfldn3qzdlq====>",\"群集名称":\"ceph\",\"主机":["192.168.1.22\",\"auth\u enabled\":true,\"ports\":[\"6789\"]}"
$csc node stage——pub info connection\u info="inrelative"——cap single_node_writer,block——staging target path/mnt/staging$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node publish——cap single_node_writer,block--pub info connection_info="unrelative"--暂存目标路径/mnt/staging--target路径/mnt/publish$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
代码块::shell
$csc node unpublish--target path`realpath../../tmp/mnt/publish`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node unstage--staging target path`realpath../../tmp/mnt/staging`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc controller unpublish--node id`hostname-f`$vol_id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
分离容器上的卷:
代码块::shell
$csc node unpublish--target path/mnt/publish$vol廑id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc node unstage--staging target path/tmp/mnt/staging$vol廑id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
$csc controller unpublish--node id`hostname-f`$vol戋id-e tcp://127.0.0.1:50051
5ee5fd7c-45cd-44cf-af7b-06081f680f2c
删除卷:
……代码块::shell
$csc controller delete volume$vol_id-e tcp://127.0.0.1:50051
写入程序、单写入程序和多个读卡器。
请向
`Cinderlib CSI<;https://github.com/akrog/Cinderlib CSI/issues>;``u
项目或在IRC上ping我(我的句柄是Geguileo,我挂在Freenode中的
OpenStack Cinder通道上)。
todo
----
e在这个poc驱动程序中,这里有一个非
详尽的列表:
-支持nfs卷
-支持挂载文件系统
-支持kubernetes crd作为持久性存储
-单元测试
-功能测试
-改进接收的参数检查
-使驱动程序更加eslient
-在kubernetes中测试驱动程序
-查看返回的一些错误代码
-通过煤渣卷类型支持卷属性
-查看多连接
-支持只读模式
-基于过度配置值的报告容量
-配置专用数据位置在
==
=
history
==
>0.0.2(2018-06-19)
----
*使用Cinderlib v0.2.1而不是Github Branch
<0.0.1(2018-05-18)
----
*PYPI上的首次发布。