加入收藏 | 设为首页 | 会员中心 | 我要投稿 南通站长网 (https://www.0513zz.cn/)- 专有云、图像技术、经验、数据治理、专属主机!
当前位置: 首页 > 大数据 > 正文

谈谈 Kubernetes 的麻烦和局限性

发布时间:2021-06-05 19:40:14 所属栏目:大数据 来源:互联网
导读:2014 年发布的 Kubernetes 在今天俨然已成为容器编排领域的事实标准,相信谈到 Kubernetes 的开发者都会一再复述上述现象。如下图所示,今天的大多数个人或者团队都会选择 Kubernetes 管理容器,而也有 75% 的人会在生产环境中使用 Kubernetes。 图 1 - Kube
2014 年发布的 Kubernetes 在今天俨然已成为容器编排领域的事实标准,相信谈到 Kubernetes 的开发者都会一再复述上述现象。如下图所示,今天的大多数个人或者团队都会选择 Kubernetes 管理容器,而也有 75% 的人会在生产环境中使用 Kubernetes。
 
图 1 - Kubernetes 容器编排[^1]
在这种全民学习和使用 Kubernetes 的大背景下,我们也应该非常清晰地知道 Kubernetes 有哪些局限性。虽然 Kubernetes 能够解决容器编排领域的大多数问题,但是仍然有一些场景是它很难处理、甚至无法处理的,只有对这些潜在的风险有清晰的认识,才能更好地驾驭这项技术,这篇文章将从集群管理和应用场景两个部分谈谈 Kubernetes 社区目前的发展和一些局限性。
集群管理
集群是一组能够在一起协同工作的计算机,我们可以将集群中的所有计算机看成一个整体,所有资源调度系统都是以集群为维度进行管理的,集群中的所有机器构成了资源池,这个巨大的资源池会为待运行的容器提供资源执行计算任务,这里简单谈一谈 Kubernetes 集群管理面对的几个复杂问题。
水平扩展性
集群大小是我们在评估资源管理系统时需要关注的重要指标之一,然而 Kubernetes 能够管理的集群规模远远小于业界的其他资源管理系统。集群大小为什么重要呢,我们先来看另一个同样重要的指标 — 资源利用率,很多工程师可能没有在公有云平台上申请过资源,这些资源都相当昂贵,在 AWS 上申请一个与主机差不多配置的虚拟机实例(8 CPU、16 GB)每个月大概需要 150 美金,约为 1000 人民币[^2]。
 
图 2 - AWS EC2 价格
大多数的集群都会使用 48 CPU 或者 64 CPU 的物理机或者虚拟机作为集群中的节点,如果我们的集群中需要包含 5,000 个节点,那么这些节点每个月大概要 8,000,000 美元,约为 50,000,000 人民币,在这样的集群中提升 1% 的资源利用率就相当于每个月节省了 500,000 的成本。
多数在线任务的资源利用率都很低,更大的集群意味着能够运行更多的工作负载,而多种高峰和低谷期不同的负载部署在一起可以实现超售,这样能够显著地提高集群的资源利用率,如果单个集群的节点数足够多,我们在部署不同类型的任务时会有更合理的组合,可以完美错开不同服务的高峰期。
Kubernetes 社区对外宣传的是单个集群最多支持 5,000 节点,Pod 总数不超过 150,000,容器总数不超过 300,000 以及单节点 Pod 数量不超过 100 个[^3],与几万节点的 Apache Mesos 集群、50,000 节点的微软 YARN 集群[^4]相比,Kubernetes 的集群规模整整差了一个数量级。虽然阿里云的工程师也通过优化 Kubernetes 的各个组件实现了 5 位数的集群规模,但是与其他的资源管理方式相比却有比较大的差距[^5]。

(编辑:南通站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读