gpt4 book ai didi

kubernetes - Kubernetes 部署有继承的概念吗?

转载 作者:行者123 更新时间:2023-12-03 06:55:52 24 4
gpt4 key购买 nike

有没有办法为 Kubernetes 部署创建继承树?我有许多相似但不相同的部署。他们共享许多 ENV 变量,但不是全部。他们都使用相同的图像。

例如,我有一个开发部署,其配置几乎与生产部署相同,但环境变量指向不同的数据库后端。我有一个 celery 部署,其配置与生产部署相同,但是,它有不同的运行命令。

最佳答案

Helm这是很多人正在使用的。它允许您为 kubernetes 描述符创建模板并传递参数以从模板生成描述符。

还有其他工具可用于通过将参数注入(inject)模板来生成 kubernetes 部署描述符的变体。 Ansible 也很受欢迎。但Helm与Kubernetes CNCF紧密相连。和社区,有一个很好的选择 official charts可用。

编辑:如果目标是使用单个 Docker 镜像启用不同的部署(例如,用于开发和生产),那么最好使用单个图表来处理。您可以为每个部署创建不同的值文件,并使用 --values 参数将所选值文件提供给 helm install。如果图表的某些部分仅有时适用,则可以将它们包装在 if 条件中以打开/关闭它们。

专门针对继承主题,有一个 example in the helm documention of how to take another chart as a parent/dependency and override its values我创建了a chart earlier that you can see in githubincludes several other chartsoverrides parts of all of them via the values.yml 。它还在所包含的图表之间共享一些配置 with globals 。如果您希望使用父级来减少重复而不是加入多个应用程序,那么可以创建 base/wrapper chart但是it may turn out to be better to just duplicate config .

编辑(180119): Kustomize 的替代品可能很快become available in kubectl

关于kubernetes - Kubernetes 部署有继承的概念吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52724344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com