[英]Mount RDB volumes in kubernetes + coreos
我正在嘗試在CoreOS下由kubernetes創建的pod中安裝ceph RDB卷。
beta (1153.4.0)
v1.3.7+coreos.0
jewel
正在使用此POD:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "rbd2"
},
"spec": {
"containers": [
{
"name": "rbd-rw",
"image": "nginx",
"volumeMounts": [
{
"mountPath": "/mnt/rbd",
"name": "rbdpd"
}
]
}
],
"volumes": [
{
"name": "rbdpd",
"rbd": {
"monitors": [
"10.203.69.254"
],
"pool": "rbd",
"image": "foo",
"user": "admin",
"secretRef": {
"name": "ceph-secret"
},
"fsType": "ext4",
"readOnly": true
}
}
]
}
}
如果我啟動此Pod,則會創建它,但保持其狀態: ContainerCreating
問題在於pod似乎無法創建rbd設備。
如果我連接到已部署Pod的節點,並使用rbdmap命令在主機上創建rbd設備(在主機上),則該設備已創建,並且Pod可以裝載該卷。 然后,窗格的狀態切換為“正在Running
如果我刪除Pod,則rbd設備會自動刪除。
要恢復,可能是導致kubernetes無法創建rbd設備的問題。
如果使用CoreOS kubelet-wrapper腳本啟動kubelet,則應該可以通過添加一些額外的掛載點來使用rbd設備。
kubelet包裝器的RKT_OPTS的示例替代:
[Service]
Environment="RKT_OPTS=--volume modprobe,kind=host,source=/usr/sbin/modprobe \
--mount volume=modprobe,target=/usr/sbin/modprobe \
--volume lib-modules,kind=host,source=/lib/modules \
--mount volume=lib-modules,target=/lib/modules \
Environment=KUBELET_VERSION=v1.3.7_coreos.0
...
資料來源: kubelet-wrapper rbd docs 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.