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

Docker Kubernetes:管理应用程序运行环境,docker,deployment,kubernetes,google-cloud-platform,environment,Docker,Deployment,Kubernetes,Google Cloud Platform,Environment,与大多数应用程序一样,我们有三种不同的运行环境: 生产 分期付款/质量保证 发展 这些基本上都是通过ENV变量配置的 如何最好地运行我们环境中的所有服务/吊舱/容器?通过标签?还是名称空间?我不确定是否有正式的最佳实践,但出于以下原因,我始终倾向于使用名称空间分隔环境: 它允许您在所有三种环境中为部署、服务等使用完全相同的YAML文件。要切换环境,您只需将--namespace=${YOUR_NS}添加到kubectl命令中,甚至只需为kubectl配置中的每个命名空间指定一个上下文,这样您

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

  • 生产
  • 分期付款/质量保证
  • 发展
这些基本上都是通过ENV变量配置的


如何最好地运行我们环境中的所有服务/吊舱/容器?通过标签?还是名称空间?

我不确定是否有正式的最佳实践,但出于以下原因,我始终倾向于使用名称空间分隔环境:

  • 它允许您在所有三种环境中为部署、服务等使用完全相同的YAML文件。要切换环境,您只需将
    --namespace=${YOUR_NS}
    添加到kubectl命令中,甚至只需为kubectl配置中的每个命名空间指定一个上下文,这样您就可以说类似于
    kubectl config use context production
    。看看这本书

  • 您可以使用来限制每个环境应该可用的计算资源量

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

  • 例如,在每个名称空间中,您可以使用标签将应用程序组织到不同的层中。这种配置在每个环境中都是相同的