2016 年,字节跳动启用 Kube.NETes 技术栈,开始对业务进行大规模容器化改造,到 2018 年,内部部署的容器单集群已经达到了上万个节点 。时至今日,字节跳动实现云原生化的应用比例已超过 95%,我们计划和开源社区合作,逐步开放规模化云原生落地的工具和最佳实践 。在 7 月 23 日稀土开发者大会上,字节跳动宣布 KubeWharf 项目正式开源 。
文章插图
KubeWharf 是字节跳动基础架构团队在对 Kubernetes 进行了大规模应用和不断优化增强之后的技术结晶 。这是一套以 Kubernetes 为基础构建的分布式操作系统,由一组云原生组件构成,专注于提高系统的可扩展性、功能性、稳定性、可观测性、安全性等,以支持大规模多租集群、在离线混部、存储和机器学习云原生化等场景 。
项目地址:
https://github.com/kubewharf
开源背景介绍以 Kubernetes 为代表的云原生技术底座支撑了字节跳动业务的快速发展 。从微服务场景开始,Kubernetes 逐渐演化,统一支撑了字节内部的大数据、机器学习以及存储服务等多种形态基础设施 。从 2018 年至今,字节跳动的 Kubernetes 节点的规模增长了 10 倍以上 。面对这样的增速,提高 Kubernetes 分布式操作系统的性能、资源利用率、可扩展性、可用性等愈发重要,KubeWharf 就是在这样的背景下诞生 。
KubeWharf 第一批计划开源三个项目 :
- 高性能元信息存储系统 KubeBrain
- kube-apiserver 七层网关 KubeGateway
- 轻量级多租户方案 KubeZoo
在分析了 etcd 的性能瓶颈和 Kubernetes 对于状态信息存储的需求之后,字节跳动基础架构团队自研了 KubeBrain,代替 etcd 作为 Kubernetes 的元数据存储系统,旨在提高 Kube-APIServer 存储的读写性能,增强集群稳定性 。
下面是 KubeBrain 的一些特性:
- 高性能:通过读写逻辑的优化与底层存储引擎的改良,读写性能相较 etcd 有明显优势,且有效降低了 OOM 的风险 。
- 无状态:KubeBrain 作为一个实现 API Server 所需要使用的存储服务端接口的组件进行存储接口的转换并不实际存储数据,实际的元数据存放在底层的存储引擎中,而 API Server 所需要监听的数据存放主节点内存中 。
- 扩展性:KubeBrain 抽象了键值数据库接口, 在此基础上实现存储 API Server 存储所需要使用的接口,具有指定特性的键值数据库均可适配存储接口 。
- 高可用:KubeBrain 当前采用主从架构,主节点支持包括条件更新、读、事件监听在内所有操作,从节点支持读操作,基于 leader election 进行自动选主,实现高可用 。
- 兼容性:兼容 etcd 接口,Kubernetes 可以无缝快速接入 。
- 水平扩容:生产环境下,KubeBrain 通常使用分布式键值数据库存储数据,水平扩容包含两个层面:
- 在 KubeBrain 的层面,可以通过增加从节点提高并发读性能
- 在存储引擎层面,可以通过增加存储节点等手段提高读写性能和存储容量
KubeGateway 是为 kube-apiserver 的 HTTP2 流量专门设计并定制的七层负载均衡代理,目标是为大规模 Kubernetes 集群的 kube-apiserver 提供更灵活的稳定的流量治理方案 。
下面是 KubeGateway 的一些特性:
- 负载均衡:为多个 kube-apiserver 进行请求级别的负载均衡,取代之前“连接级别”的负载均衡,使 apiserver 层可以做到真正意义上的水平扩展 。
- 请求治理:为 kube-apiserver 提供流量特征定制的路由规则,可以通过 verb、apiGroup、resource、user、userGroup、serviceAccounts、nonResourceURLs 等信息来区分请求,进行差异化转发,可以满足将 Pod 和 Node 的请求分开处理、 apiserver 灰度升级等场景的需求 。
推荐阅读
- 中国移动|飞信转型作落幕!中国移动宣布“和飞信”9月停止服务
- 购物|昔日国内电商“第一人”:易趣网宣布全面关停
- 眼皮为啥会莫名其妙跳动呢? 眼皮跳的真正含义?
- 网络|已运营23年 电商网站易趣网宣布8月12日关闭
- 字节跳动|继字节跳动后,国际互联网巨头Snap也放缓招聘
- 字节跳动|HR透露:这类简历不会多看,直接被过滤掉,找工作的大学生需了解
- 小米|字节跳动连挖两位“小米人“:要干一票大的
- 高智商巴托丽宣布放弃复出 巴托丽智商
- 产假|女子刚上班就要求休产假,老板直接宣布破产,这样的做法合法吗?
- 腾讯|腾讯宣布刘德华演唱会重映延期:原定今晚7点半上线