如何在kubernetes上传递一个认为yaml的配置文件来创建新的复制控制器

Jog*_*mar 4 kubernetes

我试图通过kubernetes .. ex在复制控制器创建时在nginx容器上传递配置文件(位于master上).因为我们在Dockerfile中使用ADD命令...

Rob*_*ley 7

在Kubernetes中实例化时,没有办法将文件动态添加到pod规范.

以下是一些替代方案(可能会解决您的问题):

  1. 将配置文件构建到容器中(使用docker ADD命令).这样做的好处是它可以按照您已经熟悉的方式工作,但缺点是您无法再重新构建容器而无需重建容器.

  2. 使用环境变量而不是配置文件.这可能需要对代码进行一些重构(或者创建一个侧车容器来将环境变量转换为应用程序所需的配置文件).

  3. 将配置文件放入卷中.将此卷装入您的pod并从卷中读取配置文件.

  4. 使用秘密.这不是秘密的预期用途,但秘密表现为容器内的文件,因此您可以对配置文件进行base64编码,将其作为保密程序存储在apiserver中,然后将应用程序指向机密文件的位置在您的pod中创建.