2016-05-12 157 views
2

我正在与Kubernetes合作开发一个新项目,我需要三种环境:DEV,QA和PROD。Kubernetes集群最佳实践

什么是最推荐的,创建多个群集或创建一个大的群集通过名称空间分隔环境。

回答

2

你只是想要一个产品集群或多个产品集群?需要考虑的一件事是更新集群管理软件(对于新的k8s版本)可能会影响您的应用程序。如果您只计划使用单个产品群集,则建议分别运行qa和dev,以便您可以先升级这些群集以解决任何问题。如果您打算拥有多个产品群集,那么您可以一次对其进行升级,以确保应用程序可用性并在环境之间共享群集更有意义。

+0

我想使用单个群集,我会根据您的建议创建。谢谢。 – Rick

1

命名空间不会给你带来隔离,目前它只是dns中的一个不同的子域。每个应用程序拥有名称空间会更好。 我强烈建议你为prod(在更新k8s的情况下)和dev/qa的一个两个群集。

1

肯定会出现您需要多个群集的问题: 任何对于升级过程中可能会失败的k8s至关重要的东西,或者因为您在某个地方搞砸都会影响整个群集。

例如,我遇到了一个DNS问题,它在我的集群中破坏了浩劫;所有的命名空间都受到影响。

升级通常不是什么大问题,但有一天你可能会遇到障碍;如果kubelet失败太久,你的豆荚会被杀死。

因此,最好是在升级产品之前升级您的测试/开发环境并将其中的东西烧掉。

+0

我一直在讨论使用命名空间来定义我的环境的优点,我认为你的评论在这里说出了它。 – eggie5