Dev、Tst、Acc、Prd (DTAP)是关于隔离多个环境,以确保数据不会混合,例如开发中的生产数据或丢失的生产数据,例如数据库删除删除所有生产数据。DTAP还涉及相同的环境,例如,如果珠三角中的数据库,那么在dev中也应该有一个数据库,但是不应该混合数据。这是关于预测的。相同的环境越大,如果某个更改在dev中有效,那么它将在tst、acc和prd中工作。
至少有两个选项,即一个k8s集群或多个。
一个k8s集群
多k8s簇
发布于 2019-01-31 23:50:37
Kubernetes支持命名空间。
由同一物理集群支持的多个虚拟集群
这些命名空间允许您在所有环境中使用一个群集。您还可以在CI/CD管道中执行奇妙的操作,以便每个分支或每个提交都获得自己的命名空间。prod名称空间中的那些荚仍然可以与dev命名空间中的pods对话,除非您用NACL进行分段。
尽管如此,我工作过的大多数大公司都在每个环境下运行一个集群。
我不认为这里有正确或错误的答案。做你认为对公司/团队/工作量/环境最有利的事情。
发布于 2019-07-01 07:05:30
除了@Levi的回答之外,我还建议您考虑在何处测试对Kubernetes集群的更改(任何可能影响集群运行方式的更改,例如:生命周期)。为了满足这一点,并为混合提供另一种选择,您可以运行两个集群。一个用于非prod环境(dev、test和acc),另一个用于prod环境。这有一个额外的好处,即保护生产集群不受非生产工作负载的打击。
https://devops.stackexchange.com/questions/3932
复制相似问题