Kubernetes:管理应用程序运行环境

时间:2016-09-30 03:53:12

标签: docker deployment kubernetes google-cloud-platform environment

与大多数应用程序一样,我们有三种不同的运行环境:

  • 生产
  • 分期/质量保证
  • 开发

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

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

1 个答案:

答案 0 :(得分:2)

我不确定是否有官方最佳做法,但我总是倾向于使用命名空间来分隔环境,原因如下:

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

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

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

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