gpt4 book ai didi

provisioning - 如何使用kubernetes配置特定于环境的应用程序配置

转载 作者:行者123 更新时间:2023-12-02 11:46:11 24 4
gpt4 key购买 nike

我们将ruby微服务移至kubernetes,并且过去将特定于环境的配置保存在config/application.yml中。使用kubernetes,您可以为每个服务创建特定于环境的文件,例如config/kubernetes/production.yml

虽然kubernetes pod配置文件可以保存环境变量,但似乎您无法真正在其中保存结构化数据。

例如,在application.yml中,

development: &development
process:
notifier:
type: 'terminal-notifier'
...

production: &production
process:
notifier:
type: 'airbrake'
api_key: 'xxxx'
host: 'xxx.xxx.com'
...

继续使用kubernetes进行这种实践并破坏 application.yml中的环境是否合理,或者kubernetes是否有其他一些最佳实践来为pod设置结构化配置?

请注意,在迁移所有服务之前,我们基本上必须保留如下配置:
kubernetes_staging:
<<: *staging
...

最佳答案

您可以通过几种方法来执行此操作,一种方法是继续在单个文件中执行操作,另一种方法是使用标签指定要使用的环境配置,另一种方法是使用 namespace 。我个人建议使用 namespace ,这样,您就可以为每个环境(可能旋转相同的pod,但使用不同的配置)使用单独的.yml文件,因此,您需要具有暂存,生产等 namespace 。命名空间也是使同一kubernetes集群具有暂存和生产概念的好方法。另外,您可以为某些 namespace 指定权限。

这是有关命名空间https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/design/namespaces.md的文档

关于provisioning - 如何使用kubernetes配置特定于环境的应用程序配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33494763/

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