【问题标题】:Kubernetes ConfigMap directory permissionsKubernetes ConfigMap 目录权限
【发布时间】:2018-06-01 14:51:03
【问题描述】:
我想使用位于 /usr/share/elasticsearch/config 中的 elasticsearch.yml 配置 elasticsearch。我通过安装到容器中的 ConfigMap 来执行此操作。
这不起作用,因为 k8s 接管了该目录的控制权,并且该目录的其他文件不再存在(例如 jvm.options)。
我认为这是一个常见问题 - 是否有解决此问题的最佳做法?我想到的第一个想法是使用 initcontainer 符号链接到 /some/other/directory/elasticsearch.yml。这样做明智吗?
【问题讨论】:
标签:
elasticsearch
kubernetes
【解决方案1】:
所以找到了一个合适的解决方案,我想和你分享。魔术发生在 volumeMount 中的 subPath
apiVersion: v1
kind: ConfigMap
...
data:
elasticsearch.yml: |
xpack.license.self_generated.type: basic
---
apiVersion: extensions/v1beta1
kind: Deployment
...
spec:
...
template:
containers:
...
volumeMounts:
- name: config
mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
subPath: elasticsearch.yml
volumes:
- name: config
configMap:
name: elasticsearch-logging