-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Twine: A Unified Cluster Management System for Shared Infrastructure #2
Comments
自定义配置私有的节点池很不利于机器的共享,但是确实有很多业务对机器的内核版本和配置有要求,例如:很多机器学习或者数据统计的任务都需要使用 Linux 的 HugePages 优化性能,但是 HugePages 可能会损害在线服务的性能。 Twine 由此引入了主机配置的概念,为每个权利集群绑定独立的主机配置,当数据中心的机器被分配到某个伪集群时,会根据集群的配置更新机器,为工作负载提供最符合需求的运行环境,这在 Facebook 内将 Web 层的服务性能提高了 11%,也是目前的 Kuberentes 无法满足的。 这点的优化也是很关键的,相当于去利用伪集群的概念进行异构配置的隔离。反过来说,k8s 想做到这一点的话可能需要配置繁杂的 label,同时各个 Pod 的部署都需要有进行亲和性和污点相关的配置,肯定会繁琐很多。 |
在 Kubernetes 大行其道的今天,能够看到 Facebook 分享其内部集群管理系统的不同设计还是有很大意义的,这让我们重新思考 Kubernetes 中设计带来的潜在问题,例如:中心化的 etcd 存储,很多使用 Kubernetes 的大公司为了让其能够管理更多节点,都会选择修改 etcd 的源代码或者替换存储系统。 Kubernetes 对于集群规模较小的公司还是有很大好处的,而其本身确实能够解决集群管理中 95% 的问题,Kubernetes 也不是银弹,它没法做到解决场景内的全部问题。在应用 Kubernetes 时,中小规模的公司可以全盘接收 Kubernetes 的架构和设定,而大公司可以在 Kubernetes 的基础上做一些定制,甚至参与到标准的制定中增加技术影响力、提高话语权并且帮助支撑公司业务成长。 |
Ref: Facebook 集群调度管理系统 · OSDI '20
The text was updated successfully, but these errors were encountered: