大家好!我是张智博,在社区中也被称为牛小腩(niusmallnan)。从 2010 年毕业后参加工作开始,我的绝大多数时间都在与云计算打交道。从 OpenStack 到 Docker 再到 Kubernetes,也见证了开源对国内云计算行业的巨大推动。
从加入 Rancher 至今,我已经在 Rancher 系列产品中摸索了将近 6 年时间。由于Rancher 产品的开源属性,很多用户通过它来自建内部平台,随着平台管理规模的扩张,性能问题随之产生。这次分享,就是基于我们整个团队的一些优化实践总结而来,这些都来自真实用户案例,这也是开源的魅力所在。
Rancher 产品首先会被设计为开箱即用,其次才是 performance 和 scalability 这些性能相关的特性。绝大多数用户都达不到触及性能瓶颈的规模,相对于过度优化,能在常用规模区间下有较好的产品体验则会更重要,这也是 Rancher 的产品理念。所以,分享内容中提到的优化策略,基本都是适度的且可持续演进的,我们不会追求极致性能而发动 Fork Kubernetes 上游代码类似的“黑魔法”。
本次分享包括以下几个要点:
Rancher 基本架构。了解基本架构,明确 Rancher 多集群管理的模型,才能了解性能问题出现的瓶颈点。
多集群规模的挑战。Rancher 本质上是一套面向多集群的管理平面,单个规模较大的下游集群,或者数量较多的下游集群,都会引发性能问题。这些性能问题如何表现,又如何规避与解决?
Web 与 API 的挑战。用户使用一个产品离不开 Web 和 API,它们所体现的性能直接影响一个产品的用户体验。这里会展示 Rancher 的一些细节优化点,以及一些极端案例的性能测试。
性能的可观测性。当用户发现了性能问题的表象时,如何来确认瓶颈点?这就需要引入一些观测能力,确认具体哪个 API 调用链的问题,或者哪个 Controller 引起的 CPU 过度消耗,以及管理平面与下游集群的 Tunnel 健康状况等。
这些优化点大部分都适用于 Rancher 社区版本,部分优化目前只应用于 Rancher 企业版本。Rancher 企业版是社区版的商业化版本,完全由本土团队维护,它的功能是社区版的超集,并且严格兼容社区版,用户可以非常方便迁移到企业版。同时,这些企业版的优化也在不断回馈到社区版中。
Rancher 实际上有非常多的性能优化点,受限于分享时间,我只能把大部分用户的常见场景进行提炼分析。当然,尽管开源软件是非常开放的,实际落地时要用好还是需要很强的功底。此次分享内容也只是抛砖引玉,如果有实际场景遇到性能问题也可联系官方获取技术支持。
具体现场分享内容,请参见本视频。

About SUSE Rancher
Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为“2020年多云容器开发平台领导厂商”以及“2018年全球容器管理平台领导厂商”,被Gartner评为“2017年全球最酷的云基础设施供应商”。
目前Rancher在全球拥有超过三亿的核心镜像下载量,并拥有包括中国联通、中国平安、中国人寿、上汽集团、三星、施耐德电气、西门子、育碧游戏、LINE、WWK保险集团、澳电讯公司、德国铁路、厦门航空、新东方等全球著名企业在内的共40000家企业客户。
2020年12月,SUSE完成了对RancherLabs的收购,Rancher成为了SUSE"创新无处不在(Innovate Everywhere)"企业愿景的关键组成部分。SUSE和Rancher共同为客户提供了无与伦比的自由和所向披靡的创新能力,通过混合云IT基础架构、云原生转型和IT运维解决方案,简化、现代化并加速企业数字化转型,推动创新无处不在。
当前,SUSE及Rancher在中国大陆及港澳台地区的业务,均由数硕软件(北京)有限公司承载。SUSE在国内拥有优秀的研发团队、技术支持团队和销售团队,将结合Rancher领先的云原生技术,为中国的企业客户提供更加及时和可信赖的技术支撑及服务保障。






