Используйте имя Pod или uid в Volume mountPath - PullRequest
0 голосов
/ 03 августа 2020
• 1000 подкаталог.

Могу ли я динамически использовать, скажем, metadata.uid или metadata.name в mountPath для контейнера? то есть концептуально это:

volumeMounts:

  - name: persistent-nfs-storage
    mountPath: /metadata.name/files

Думаю, я могу понять, как справиться с первым созданием каталога, используя контейнер инициализации и помещая значение в среду с помощью нисходящего API. Но я не вижу возможности использовать его в PV C mountPath.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 03 августа 2020

Я не знаю, можно ли использовать имя модуля в томе mountPath. Но если цель записывает файлы в отдельную папку (с использованием имени модуля) с тем же PV C, есть обходные пути.

Один из способов добиться этого - получить путь к файлу и имя модуля из env, а затем добавьте их. После этого запишите журнал в этот каталог.

Подробно,

volumeMounts:
- name: persistent-nfs-storage
  mountPath: /nfs/directory

ENV:

env:
- name: WRITE_PATH
  value: "$(NFS_DIR)/$(POD_NAME)"
- name: NFS_DIR
  value: /nfs/directory
- name: POD_NAME
  valueFrom:
    fieldRef:
      fieldPath: metadata.name

В приложении используйте каталог $WRITE_PATH для записи необходимых файлы. Также при необходимости создайте этот каталог из контейнера инициализации.

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