kubernetes - 我们应该使用 1 个集群来划分集群吗
问题描述
我们有一个 Kubernetes 集群,其中包含 1.9.2 版本的所有组件。该集群包括流组件和 NOSQL 数据库组件以及一些更小的版本。
我们需要与一个不同的组集成,该组将深度依赖我们的平台/流/数据库和我们所有的 kubernetes 集群。
我想知道什么是正确的方法?第二组的组件是否应该与那些流/数据库组件驻留在同一个集群上?
如果我们决定分成 2 个不同的集群,这意味着什么?假设那些其他组组件将不得不与流/数据库组件进行大量交互,如果它们驻留在不同的集群上而不是在同一个集群上运行,它会影响性能吗?
谢谢你的帮助
解决方案
考虑使用命名空间。拥有多个集群会增加成本并使物流(安全、安装、更新、监控)复杂化。对于一个 HA 集群,Kubernetes 的控制平面需要接近 5 个节点(2 个主节点,3 个 etcd)。在现有集群上扩展更多节点通常更具成本效益。可以使用kind: Namespace实现隔离,您可能需要考虑kind: NetworkPolicy。Istio Mesh 也可以帮助隔离。
另一个考虑因素是成本和集群管理。如果您使用 GKE 以外的任何其他提供商,则每个 master 将按月向您收费。不同的集群也需要各自独立的集群角色,这可能是一把双刃剑。
推荐阅读
- android - 在跨度中隐藏字符串内容
- schema.org - “您的附加链接搜索框模板中存在错误:INVALID_SYNTAX”
- python - 为什么我得到索引 0 超出了轴 0 大小为 0 的范围?
- javascript - 如何以动态方式控制带有悬停(显示和隐藏)的元素
- css - 有没有办法根据 vue.js 中的值更改文本颜色?
- jquery - jQuery - 在加载时从数组中随机检索图像
- python - 如何更改/插入 BatchDataset 的形状?
- c++ - 在 Qt 中测试 lambda 唯一连接
- azure - DAX 不包括超出合同日期的资产
- html - 如何将背景颜色*放在*引导按钮后面