Kubernetes. Можно ли подключить том к пути, содержащему идентификатор модуля? - PullRequest
0 голосов
/ 11 февраля 2020

Я хочу определить pv c и создать том, чтобы получить некоторые внутренние файлы из контейнера снаружи (я использую определения диаграмм руля). Я хочу знать, есть ли способ использовать POD IP в mountPath, который я определяю в deploy.yaml.

В конце я хочу получить структуру папок в моем node / dockerdata-nfs // path

volumeMounts:
     - name: volumeName
       mountPath: /abc/path

volumes:
    - name: volumeName
      hostPath:
        path: /dockerdata-nfs/podID/

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

POD на отдыхе получит новый UID, так почему вы попытаетесь жестко закодировать это значение !!

Стручки считаются относительно эфемерными (скорее чем долговечные) лица. Как обсуждалось в жизненном цикле модуля, модули создаются, назначаются уникальный идентификатор (UID) и распределяются по узлам, где они остаются до завершения (согласно политике перезапуска) или удаления. Если узел умирает, то блоки, запланированные для этого узла, планируется удалить после истечения времени ожидания. Данный Pod (как определено UID) не «перепланирован» на новый узел; вместо этого он может быть заменен идентичным модулем, с желаемым даже тем же именем, , но с новым UID (подробнее см. контроллер репликации).

0 голосов
/ 11 февраля 2020

Вы можете создать mountPath на основе UID POD, используя subPathExpr. Yaml ниже: apiVersion: v1 kind: Pod metadata: name: pod1 spec: containers: - name: container1 env: - name: UID valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.uid image: busybox volumeMounts: - name: workdir1 mountPath: /logs subPathExpr: $(UID) volumes: - name: workdir1 hostPath: path: /var/log/pods Эта функция была представлена ​​в Kubernetes версии 1.14 +.

...