1

最喜欢的应用程序,我们有三种不同的运行环境:Kubernetes:管理应用程序运行环境

  • 生产
  • 分期/ QA
  • 发展

这些基本上都是通过ENV变量配置。

如何在我们的环境中运行所有服务/容器/容器?通过标签?或名称空间?

回答

1

我不知道,如果有一个官方的最佳实践,但我一直喜欢使用的命名空间,原因如下独立的环境:

  1. 它允许您使用完全相同的YAML文件所有三种环境中的部署,服务等。要切换环境,您所要做的就是将--namespace=${YOUR_NS}添加到您的kubectl命令中,或者甚至仅为您的kubectl配置中的每个命名空间指定一个上下文,以便您可以说类似kubectl config use-context production的内容。看看docs

  2. 您可以使用Resource Quotas来限制应该可用于每个环境的计算资源的数量。

  3. 您可以使用RBAC来控制对您环境的访问。例如,您可以只允许一小部分人对生产环境进行更改,但让所有开发人员在开发环境中执行任何他们想要的操作。

例如,在每个名称空间的内部,您可以使用标签将应用程序构建到不同的层中。这种配置在每个环境中都是一样的。

相关问题