这是我的卷配置,当主机路径不存在时,我想使用以下配置来创建该目录,但是在添加子路径
后无法创建相应的/root/host目录containers:
- image: 10.10.0.253/public/nginx:1.19.1-alpine
imagePullPolicy: IfNotPresent
name: nginx
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /data
name: nginx-hostpath
subPath: subtest
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
shareProcessNamespace: false
terminationGracePeriodSeconds: 30
volumes:
- hostPath:
path: /root/host
type: DirectoryOrCreate
name: nginx-hostpath
https://kubernetes.io/docs/concepts/storage/volumes/#using-subpath
根据doc,它只能引用卷根目录中可用的子路径。在您的示例中,当您创建根目录时,如果根目录还不可用。子路径在新创建的文件夹中不可用。
同样根据文档,不建议在生产中使用。
编辑:
如果您查看文档,它清楚地提到kubelet需要访问以在卷主机路径的给定路径上创建目录。我将路径更改为kubelet可以访问的位置,并创建卷和子路径。