使用kubernetes进行分散,可更新的配置

时间:2018-02-17 02:04:33

标签: kubernetes

我需要在kubernetes docker镜像部署的所有实例中保留一些配置文件或otehwrise。

  1. 我需要能够远程更新部署中所有正在运行的pod中的配置。接下来是在docker镜像部署的所有正在运行的pod中调用一些java代码。
  2. 每当新的pod出现相同的docker映像部署时,它应该具有更新的配置。
  3. 我不希望配置尽可能集中存储在任何地方。想要在docker镜像部署的每个pod中使用它。
  4. 我的选择是什么?

    作为最后的手段,我可​​以将其作为滚动部署更新。

    [R

1 个答案:

答案 0 :(得分:0)

滚动部署或类似 - 更新到已安装的配置映射等 - 是kubernetes选项。始终导致应用程序重新启动。

让应用程序支持实时配置更新,在接收到这些更新后运行一些代码,而无需重新启动 - 这是一个应用程序功能。

手工做法 -

  • 在ConfigMap中正确配置。

  • 让应用程序在一个单独的端口上侦听信号以检索更新的配置(如果应用程序知道k8s)或者实际接收配置位本身。让应用程序能够处理此实时配置更新过程,其难度取决于使用的框架。

  • 让另一个应用程序负责提供这些更新 - 监视ConfigMap的更改,获取部署中的Pod列表,为每个Pod提供信号或更新的配置。

  • 让第一个应用程序没有得到k8s识别为Ready状态而没有从第二个接收到更新配置。