我有许多遗留服务从磁盘读取配置文件,还有一个单独的守护程序,当它们在zookeeper中更改时更新这些文件(有点类似于confd)。
对于大多数这些类型的配置,我们希望转移到更像环境变量的模型,其中配置在pod的生命周期内是固定的。然而,当服务从遗留模型转换为kubernetes时,我们需要将外部配置文件作为事实的来源。如果在kubernetes中有一个干净的方法,我很好奇。
我们正在追求的当前模型的简化版本是:
我一直看到这个问题的实例我只是"只是"需要在启动时将几个文件放入docker镜像中(以允许per-env / canary / etc方差),并且每次运行所有这些机器似乎都是开发人员的负担。我很好奇是否有更简单的方法在kubernetes或地平线上做到这一点。
答案 0 :(得分:0)
您可以在Dockerfile中使用ADD命令。它用作ADD文件/路径/输入/泊坞窗。这将允许您快速将完整文件添加到容器中。在构建容器时,需要将要添加到映像的文件与Dockerfile放在同一目录中。您也可以通过这种方式添加tar文件,这将在构建期间进行扩展。
另一个选项是Dockerfile中的ENV命令。这会将数据添加为环境变量。