作者:手机用户2602885151 | 来源:互联网 | 2022-12-02 17:28
有没有办法为Kubernetes部署创建继承树?我有许多类似但不完全相同的部署.他们共享许多ENV变量而不是全部.他们都使用相同的图像.
例如,我有一个开发部署,其配置几乎与生产部署相同,但有env vars指向不同的数据库后端.我有一个celery部署,其配置与生产部署相同,但是,它具有不同的运行命令.
1> Ryan Dawson..:
Helm是许多人正在使用的.它允许您为kubernetes描述符创建模板并传递参数以从模板生成描述符.
还有其他工具可用于通过将参数注入模板来生成kubernetes部署描述符的变体.Ansible也很受欢迎.但Helm与Kubernetes CNCF和社区紧密相连,并且有很多官方图表可供选择.
编辑:如果目标是使用单个泊坞窗图像启用不同的部署(例如dev和prod),那么最好用单个图表处理.您可以为每个部署创建不同的值文件,并使用--values
参数将所选值文件提供给helm install .如果图表的某些部分有时仅适用,则可以将它们包装在if
条件中以打开/关闭它们.
关于继承的主题,在helm文档中有一个例子,说明如何将另一个图表作为父/依赖关系并覆盖其值,我之前创建了一个图表,您可以在github中看到包含其他几个图表并覆盖部分图表.所有这些都通过values.yml.它还在包含全局变量的图表之间共享一些配置.如果您希望使用父级来减少重复而不是加入多个应用程序,则可以创建基础/包装图表,但最好只重复配置.
编辑(180119):的替代Kustomize可能很快成为kubectl可用