在k8s集群中,通过ceph-helm创建一个ceph集群,集群创建成功,并且可以正常的创建pv和pvc,但是无法将pvc应用到pod,提示错误:
MountVolume.SetUp failed for volume "ceph-pv" : rbd: failed to lock image sujin-image-01 (maybe locked by other nodes), error exit status 1
k8s node使用centos7,内核是Linux bootstrap 3.10.0-693.el7.x86_64,modprobe rbd支持。
非常详细的描述了ceph环境搭建
到使用kubernetes创建pv、pvc,并挂载到一个pod的过程。
k8sCeph卷的例子(k8s官网中有样例)
[html] view plain copy
{
... ...
"volumes": [
{
"name": "rbdpd",
"rbd": {
"monitors": [
"10.16.154.78:6789",
"10.16.154.82:6789",
"10.16.154.83:6789"
],
"pool": "kube",
"image": "foo",
"user": "admin",
"secretRef": {
"name": "ceph-secret"
},
"fsType": "ext4",
"readOnly": true
}
}
]
}
}
各个字段的大致含义如下:
name:volume名字,这个没什么可说的,顾名思义即可。
rbd.monitors:前面提到过ceph集群的monitor组件,这里填写monitor组件的通信信息,集群里有几个monitor就填几个;
rbd.pool:Ceph中的pool记号,它用来给ceph中存储的对象进行逻辑分区用的。默认的pool是”rbd”;
rbd.image:Ceph磁盘块设备映像文件;
rbd.user:ceph client访问ceph storage cluster所使用的用户名。ceph有自己的一套user管理系统,user的写法通常是TYPE.ID,比如client.admin(是不是想到对应的文件:ceph.client.admin.keyring)。client是一种type,而admin则是user。一般来说,Type基本都是client。
secret.Ref:引用的k8s secret对象名称
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。