2017-12-19 13 views
1

elasticsearch.ymlを使用してelasticsearchを設定するには、/ usr/share/elasticsearch/configにあります。私はコンテナにマウントするConfigMap経由でこれをやっています。Kubernetes ConfigMapディレクトリのアクセス許可

k8sがこのディレクトリの制御を引き継ぎ、そのディレクトリの他のファイルがもう存在しないために動作しません(例:jvm.options)。

私はそれが共通の問題だと思います。これを修正するのがベストプラクティスですか?私の心に来た最初のアイデアは、initcontainerで/some/other/directory/elasticsearch.ymlにシンボリックリンクしていました。それはそうするのが賢明ですか?

答えて

1

私はあなたと共有したい適切な解決策を見つけました。魔法はボリュームのサブパスで起こる。

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 
関連する問題