如何在Kubernetes中使用subPath正确挂载configMap?更改后不更新配置

时间:2018-02-01 11:10:49

标签: kubernetes

我尝试使用configMap在子目录中安装一些配置。例如:

spec.template.spec.containers.[0].volumeMounts:
  - name: fh16-volume
    mountPath: /etc/fh-16/application.log
    subPath: my-config.txt
spec.template.spec.volumes:
  - name: fh16-volume
    configMap:
      name: my-config

在这种情况下,所有挂载都符合预期。但是在configMap中的任何更改之后,此更改不会应用于容器中。需要为此重新创建pod。

它看起来像是一些bug,但也许我在配置中犯了一些错误?在我不使用subPath指令的情况下,所有都按预期工作。

3 个答案:

答案 0 :(得分:2)

请参阅Kubernetes docs

中的此说明
  

注意:使用ConfigMap作为子路径卷装入的容器将不会收到ConfigMap更新。"

答案 1 :(得分:0)

  

看起来像是一些错误

是的,它是:https://github.com/kubernetes/kubernetes/issues/50345

答案 2 :(得分:0)

这是目前预期的行为。 kubelet更新计时器上容器内的内容。

请参阅https://github.com/kubernetes/kubernetes/issues/30189