我们有一个Kubernetes集群,其中包含我们所有的组件(版本1.9.2)。 该集群包括流组件和NOSQL数据库组件,以及其他一些较小的版本。
我们需要与另一个小组紧密集成,该小组将深深依赖于我们的平台/流/数据库和所有kubernetes集群。
我想知道什么是正确的方法? 第二组的组件应该与流/数据库组件位于同一群集吗?
如果我们决定划分为两个不同的集群,这意味着什么? 假设那些其他组组件将不得不与流媒体/数据库组件进行大量交互,如果它们位于不同的群集而不是在同一群集上运行,会影响性能吗?
感谢您的帮助
答案 0 :(得分:1)
考虑使用命名空间。具有多个集群会增加成本并使后勤工作(安全性,安装,更新,监视)复杂化。对于HA集群,Kubernetes的控制平面需要接近5个节点(2个主节点,3个etcd)。在现有集群上扩展更多节点通常更具成本效益。可以使用kind: Namespace来实现隔离,您可能需要考虑使用kind: NetworkPolicy。 Istio Mesh can also help with isolation。
另一个考虑因素是成本和集群管理。如果您使用的是GKE以外的任何其他提供程序,则每个主机每月都会向您收费。不同的集群也将需要它们独立的集群角色,这可能是一把双刃剑。