Том хоста Kubernetes с символической ссылкой не создан - PullRequest
0 голосов
/ 28 марта 2019

У меня есть служба, определенная томом, где родительский каталог является символической ссылкой на другое устройство.Определение тома в yaml выглядит следующим образом:

  volumes:
  -name: service-logs
   hostPath:
     path: /tmp/logs/service-logs
     type: DirectoryOrCreate

, а / tmp / logs является символической ссылкой на / data / logs.Когда я пытаюсь запустить модуль, он не может создать / tmp / logs / service-logs.

Есть ли способ заставить это работать?Или kubernetes не разрешает символическую ссылку?

1 Ответ

0 голосов
/ 28 марта 2019

Я воссоздал вашу проблему с 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...