Не удалось подготовить subPath для volumeMount - PullRequest
0 голосов
/ 20 декабря 2018

Получение этой ошибки.

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 Ответ

0 голосов
/ 20 декабря 2018

Что произойдет, если вы не используете 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.

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

...