Не удалось подготовить subPath для volumeMount

Получаю эту ошибку.

Error: failed to prepare subPath for volumeMount "solr-collection-config" of container "upload-config-container"

Использование kubernetes 1.10.11

- name: upload-config-container image: solr:7.4.0-alpine imagePullPolicy: Always resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m" volumeMounts: - name: solr-collection-config mountPath: /tell/carbon/conf subPath: conf

solr-collection-config том, который представляет ConfigMap

volumes: - name: solr-collection-config configMap: name: solr-collection-resources items: - key: stopwords_en.txt path: "conf/lang/stopwords_en.txt" - key: _rest_managed.json path: "conf/_rest_managed.json" - key: currency.xml path: "conf/currency.xml" - key: protwords.txt path: "conf/protwords.txt" - key: schema.xml path: "conf/schema.xml" - key: solrconfig.xml path: "conf/solrconfig.xml" - key: stopwords.txt path: "conf/stopwords.txt" - key: synonyms.txt path: "conf/synonyms.txt" restartPolicy: Never

Помощь приветствуется. Спасибо

1 ответ

Решение

Что произойдет, если вы не используете subPath?

Все ключи из configMap будут смонтированы в каталоге /tell/carbon/conf, Это означает, что каждый ключ будет отдельным файлом в этом каталоге.

Теперь, что это subPath делает? Из вашего примера

volumeMounts:
  - name: solr-collection-config
    mountPath: /tell/carbon/conf
    subPath: conf

Значит, ключ conf из configMap будет смонтирован как файл conf под /tell/carbon каталог.

Но у вас нет этого ключа. Так что получаю эту ошибку.

Ошибка: не удалось подготовить subPath для тома "solr-collection-config" контейнера "upload-config-container"

Теперь вы можете сделать это

volumeMounts:
  - name: solr-collection-config
    mountPath: /tell/carbon/conf
    subPath: stopwords_en.txt

Что означает, стоимость stopwords_en.txt из вашего configMap будет смонтирован как conf файл под /tell/carbon,

Заключительные слова, это subPath на самом деле путь от объема, откуда приходят ваши данные. В твоем случае, subPath должен быть одним из ключей из вашей configMap

Другие вопросы по тегам