【发布时间】:2021-03-07 13:30:33
【问题描述】:
我是 Kubernetes 新手,但我使用 Docker 和 Docker Compose 已经很长时间了。与 Docker Compose 相比,我正在尝试查找有关 Kubernetes 如何处理共享/只读配置文件的更多信息。
在我的docker-compose.yaml 文件中,我使用绑定挂载将特定的配置文件共享给我的容器,类似于:
...
elasticsearch:
image: elasticsearch:7.3.2
environment:
- discovery.type=single-node
networks:
mycoolapp:
aliases:
- elasticsearch
ports:
- "9200:9200"
- "9300:9300"
volumes:
- elasticdata:/usr/share/elasticsearch/data
- ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
...
我一直在阅读有关 Persistent Volumes 的内容,我相信这是我所需要的,但是,我对一些问题的理解仍然不是 100%。
- 我使用
azureFile作为我的卷类型,并且我已将我的配置复制到文件共享中。如何将文件共享的子文件夹挂载到我的容器中?mountPath只出现在volumeMounts中,找不到卷内对应的位置。 - 如何只共享一个文件?
- 如何将上面共享的单个文件设为只读?
【问题讨论】:
-
Kubernetes 有一个专用的ConfigMap 对象,非常适合注入配置文件和环境设置。我不会尝试在这里使用 PersistentVolume。
标签: kubernetes docker-compose azure-aks