首页 > 解决方案 > 我们应该使用 1 个集群来划分集群吗

问题描述

我们有一个 Kubernetes 集群,其中包含 1.9.2 版本的所有组件。该集群包括流组件和 NOSQL 数据库组件以及一些更小的版本。

我们需要与一个不同的组集成,该组将深度依赖我们的平台/流/数据库和我们所有的 kubernetes 集群。

我想知道什么是正确的方法?第二组的组件是否应该与那些流/数据库组件驻留在同一个集群上?

如果我们决定分成 2 个不同的集群,这意味着什么?假设那些其他组组件将不得不与流/数据库组件进行大量交互,如果它们驻留在不同的集群上而不是在同一个集群上运行,它会影响性能吗?

谢谢你的帮助

标签: kubernetes

解决方案


考虑使用命名空间。拥有多个集群会增加成本并使物流(安全、安装、更新、监控)复杂化。对于一个 HA 集群,Kubernetes 的控制平面需要接近 5 个节点(2 个主节点,3 个 etcd)。在现有集群上扩展更多节点通常更具成本效益。可以使用kind: Namespace实现隔离,您可能需要考虑kind: NetworkPolicyIstio Mesh 也可以帮助隔离

另一个考虑因素是成本和集群管理。如果您使用 GKE 以外的任何其他提供商,则每个 master 将按月向您收费。不同的集群也需要各自独立的集群角色,这可能是一把双刃剑。


推荐阅读