Kubernetes-在prod集群上运行CI/CD管道



首先,免责声明-我知道这个问题可能太"开放式";对于SO,但老实说,我找不到更好的地方(K8s文档特别建议将任何问题提交给SO(。

我的公司已经决定将主要的生产基础设施转移到Kubernetes。然而,开发人员有一些重大的抵制,他们更喜欢而不是在与生产工作负载相同的集群上运行CI/CD管道。他们更喜欢为此保留一些专用的VM;我们不应该把所有的鸡蛋放在一个篮子里;。

由于我来自devops的另一边("ops"一边(,我更喜欢把所有东西都放在一个地方,用同一套工具管理。不幸的是,我找不到任何以这样或那样的方式说明的最佳实践文档。

所以我的问题是:

  1. 根据个人经验,您会推荐一种部署类型而不是另一种吗?为什么
  2. 有人能给我指出一个以某种方式进行争论的链接吗?在这种情况下,我们应该遵循什么建议

不幸的是,我找不到任何以这样或那样的方式说明的有文档记录的最佳实践。

这完全取决于您想要的分离强度。在Kubernetes中,可以通过使用单独的namespace分离环境,但对于专业的公司环境,通常需要更强的分离。如果你使用云提供商,通常会使用不同的帐户来分离";生产";,具有不同访问权限的aslo。

开发人员,他们不希望在与生产工作负载相同的集群上运行CI/CD管道。

如果这是针对专业组织的,我同意他们的意见。您希望使用完全分离的虚拟机、网络和负载均衡器。如果您使用云提供商,也可以使用不同的云帐户vpc(虚拟私有云网络(。

建议

由于我来自devops的另一边("ops"一边(,我更喜欢把所有东西都放在一个地方,使用同一套工具进行管理。

我同意的开发者。使用专用集群进行生产,使用不同的集群进行开发。通过CI/CD管道在生产集群中执行所有更改。限制对生产环境的访问(至少是写访问(。

使用该设置,您只有两个集群在活动使用中,而不是更多,而是生产环境的强分离。

参考文献

有关企业最佳实践的良好文档,请参阅企业组织最佳实践。

最新更新