Я воссоздал вашу проблему с Kubernetes 1.14.
Я использовал следующее yaml:
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: busybox
name: test-container
command: ["sleep"]
args: ["3600"]
volumeMounts:
- mountPath: /test-pd
name: test-volume
volumes:
- name: test-volume
hostPath:
path: /data/folder
type: DirectoryOrCreate
nodeSelector:
kubernetes.io/hostname: cluster-1
На узле cluster-1
Я создал каталог и символическую ссылку на него:
lrwxrwxrwx 1 root root 5 Mar 28 16:56 data -> data2
d--------- 3 testuser testuser 4096 Mar 28 17:04 data2
Даже без прав на запись в data2
был создан каталог folder
. Процессы внутри стручка могли писать в него. Это связано с тем, что процесс kubelet, отвечающий за монтирование томов в контейнер, запускается пользователем root.