目前,我正在对某些问题进行故障排除,并且发现使用docker run
命令运行带有以下参数的容器时,会发现该问题:
-v /var/run:/var/run:rw
当我检查容器时,我会看到以下内容:
{
"Type": "bind",
"Source": "/var/run",
"Destination": "/var/run",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
我无法在Pod的MountPaths / Volume定义中找到设置“ Mode”:“ rw” 的方法。
我正在使用:
volumeMounts:
- mountPath: /var/run
name: var-run-mount
volumes:
- name: var-run-mount
hostPath:
path: /var/run
当我检查容器时,我得到了:
{
"Type": "bind",
"Source": "/var/run",
"Destination": "/var/run",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
},
我尝试了不同的组合和MountPropragation,但是没有人帮助实现我想要的功能,也没有人能够定义“ Mode”属性。
https://kubernetes.io/docs/concepts/storage/volumes/#hostpath
有人知道是否可以定义吗?
答案 0 :(得分:1)
检出access modes个kubernetes永久卷。
您可以为accessModes: ReadWriteOnce
卷设置hostPath
。
注意: 不幸的是,hostPath
卷仅支持ReadWriteOnce
accessMode,其他模式如ReadOnlyMany
,{{1 }},如表中的here所述。
您需要:
希望这会有所帮助。
答案 1 :(得分:0)
在此Kub Documentation链接中查看“持久卷的访问模式”属性。
它将定义如何访问外部存储环境。
答案 2 :(得分:0)
非常感谢,我已经尝试过了,但是没有按预期工作。我得到了相同的结果。
根据文档HostPath听起来,我想知道在这种情况下是否有更好的存储插件可以使用。
但是,当在 volumeMounts 级别指定 readOnly 标志时,例如,我发现了一些有趣的地方。 :
volumeMounts:
- mountPath: /var/run
name: var-run-mount
readOnly: false
我可以看到 Mode 设置为“ ro”。
{
"Type": "bind",
"Source": "/var/run",
"Destination": "/var/run",
"Mode": "ro",
"RW": true,
"Propagation": "rprivate"
}
但是尝试相反的结果( readOnly:true )并没有得出相反的结果。 (模式:rw)