smk*_*smk 3 kubernetes configmap
出现此错误。
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助。谢谢
如果不使用会发生什么subPath?
configMap中的所有键都将安装在目录中/tell/carbon/conf。这意味着,每个密钥都将是该目录下的一个单独的文件。
现在,这是subPath做什么的?从你的例子来看,
volumeMounts:
- name: solr-collection-config
mountPath: /tell/carbon/conf
subPath: conf
Run Code Online (Sandbox Code Playgroud)
意味着configMapconf中的密钥将作为文件安装在目录下。conf/tell/carbon
但是,您没有这把钥匙。所以出现这个错误。
错误:无法为容器“upload-config-container”的volumeMount“solr-collection-config”准备子路径
现在,你可以这样做
volumeMounts:
- name: solr-collection-config
mountPath: /tell/carbon/conf
subPath: stopwords_en.txt
Run Code Online (Sandbox Code Playgroud)
这意味着,configMapstopwords_en.txt中的值将作为文件安装在.conf/tell/carbon
最后一句话,这subPath实际上是一条来自数据量的路径,来自数据的来源。在您的情况下,应该是configMapsubPath中的关键之一
| 归档时间: |
|
| 查看次数: |
9210 次 |
| 最近记录: |