原副标题:Rancher 和chanSierentz多软件产业管理工作联手课堂教学
来自chan的撷取:怎样通过Rancher对小规模软件产业展开操控性Listary,提高75%网络流量?
布季谢
chan是英文网络高效率的概要街道社区,每天有上一千万使用者在chan撷取科学知识、经验和看法,找出自己的标准答案。为相互配合不同阶段的销售业务发展需求,chan罐子网络平台也在不断重构、提高,目前几乎所有的销售业务都运行在罐子上。
这两年chan开始采用 Rancher 管理工作 Kubernetes 集群,软件产业规模逐步达至近万结点。责任编辑将介绍 Rancher 怎样特别针对小规模软件产业展开操控性Listary,最终网络流量提高 75%,达至网页出访新体验需用的状态。
对为什么会选择 Rancher 做为他们的罐子管理工作网络平台,大体原因有几点:
他们的销售业务布署在亚洲地区数家公有云 Kubernetes 上,需要统一的网络平台来管理工作这些 Kubernetes 软件产业,而 Rancher 特别针对亚洲地区的公有云 Kubernetes 网络平台兼容性十分亲善。
Rancher 降低了 Kubernetes 软件产业的布署和采用准入门槛,他们能借助于 Rancher UI 随心所欲贵生川和采用各 Kubernetes 软件产业。不是很深入细致了解 Kubernetes 的研制老师也能随心所欲建立 Deployment、Pod、PV 等资源。
他们能借助于 Rancher Pipeline 在外部实现 CI/CD,使研制著眼于销售业务应用的开发。尽管 Rancher 项目组知会 Pipeline 已经暂停保护,但是它的简约依然合乎他们外部对 CI/CD 的功能定位。
Rancher 的稳步创新力,还有紧紧围绕着 Kubernetes 展开了一系列的自然生态扩充及产业布局,比如:轻量 Kubernetes 软件包 k3s、Kubernetes 的轻量分布式系统块虚拟化 Longhorn、如前所述 Kubernetes 的开放源码超结合基础建设 (HCI) Harvester、以及 Rancher 的新一代 Kubernetes 软件包 RKE2。追随颈部创新供应商,对项目组的稳步不断进步也是南杜埃县。
Rancher 做为多元化的罐子供应商,在亚洲地区有十分专精的研制项目组,沟通十分快捷。很多问题都能在 Rancher 英文街道社区中找出标准答案,对开放源码且完全免费的网络平台来说,能说是十分良知了。
危机重重
起初,他们在采用 Rancher 管理工作中小规模软件产业时,Rancher UI 提供的功能几乎能满足他们所有的需求,并且 UI 也十分流畅。
但随着销售业务量的增加,软件产业规模不断的扩大,当他们扩大到采用一个 Rancher 管理工作近十个软件产业、近万结点和几十万 pod 时(单软件产业最小规模将近几千个结点和数十几万 pod),操作 Rancher UI 频繁会出现卡顿并且加载时间过长的问题,个别网页需要 20 多秒的时间才能完成加载。严重时可能会造成连接不到下游软件产业的情况,UI 提示“当前软件产业 Unavailable ,在 API 准备就绪前,直接与 API 交互功能不需用。”
没错,他们碰到了 Rancher 的操控性问题。尤其是超级管理工作员使用者,登录时需要加载的数据量较大,基本上UI处于一种不需用的状态,下游软件产业也断连频繁。
破晓
从上面的现象来看,采用 Rancher 管理工作Sierentz软件产业似乎遇到了操控性问题,影响了采用新体验。随后寻求 Rancher 本土技术项目组帮忙,经过几次高效的线上会议沟通,基本找出根本原因:
虽然长,引起网页加载缓慢。
他们的下游软件产业中,主要以公有云的 Kubernetes 为主,这些软件产业通过导入方式贵生川到Rancher 中。这种贵生川模式下,Rancher Server 通过与 cluster-agent 建立的 Tunnel,出访下游软件产业的 Kube API,但是这里并非直接出访,而是走 Tunnel 到 Kubernetes Service IP 出访(如10.43.0.1:443)最终负载到多个 Kube-api server。通常这种模式并没有问题,但是由于他们的出访量和数据量都比较大,SVC IP 转发能力无法支撑,严重影响了通信效率。
经了解,如果要通过街道社区版解决该问题,操作会相当复杂。但企业版 Rancher 已经特别针对操控性优化有了一套成熟的方案和策略,以下是 Rancher 工程师介绍的关于企业版和街道社区版 Rancher 的区别:
企业版和街道社区版 Rancher 特别针对查询资源最主要的区别在于:特别针对一些慢查询 API,街道社区版是通过 Kubernetes API 读取数据,企业版通过 Cache 中读取。同时,支持多种下游软件产业的连接策略,从而提高和下游软件产业的管理工作效率。另外,企业版还对监控/日志/GPU/网络等基础建设能力有一定增强,并且对本土商业客户的 BUG 响应上会更快速。
出于国情需要,企业版是一种特殊的存在。海外客户基本只能订阅开放源码版本,本土客户能额外享受企业版的特性,并且企业版是完全本土研制项目组开发。秉承 SUSE Rancher 的开放理念,使用者能来去自如,企业版与开放源码版之间随意切换。
抉择特别针对以上分析,他们经过权衡,决定暂时采用企业版对软件产业展开Listary课堂教学。
切换到企业版
首先他们从街道社区版 Rancher 切换到了企业版,企业版的迭代偏稳重一些,发版策略不会严格遵循开放源码版。好在他们采用的街道社区版有对应的企业版版本,并且支持从街道社区版平滑切换到企业版。基本上是无损切换,直接替换镜像即可,相当方便。
优化下游软件产业参数
Rancher 工程师推荐了一些下游 Kubernetes 软件产业的参数优化方案,不过他们对自定义 RKE 软件产业采用不是很多且主要以公有云 Kubernetes 为主,这种下游软件产业组件参数的优化和实际的环境相关,这里只列出了一些比较常用的 kube-apiserver 参数做为参考:
开启资源缓存
开启资源缓存后,一些涉及读取 Local 软件产业数据的接口,将会走 Cache 模式,极大提高 API list-all 的操控性,特别针对他们环境中结点数特别多的场景有明显效果。
目前增加了缓存的资源如下:
软件产业连接模式
企业版中特别针对连接下游软件产业的方式展开了优化,并且支持多种连接下游软件产业的方式,企业版使用者常用的连接策略包括:
策略一:默认配置
默认策略,就是不修改连接方式,沿用街道社区版连接下游软件产业的策略。
企业版中默认 Tunnel 中的 k8s rest client 的 timeout 值为 60s,能有效减少 heavy load 时下游软件产业数据查询的失败几率,操控性提高有限,但是请求成功率会有很大提高。
策略二:优化 Tunnel 链路
默认情况下,通过 Tunnel 采用下游软件产业的 Kubernetes API Service(如10.43.0.1)展开通信。如果自建软件产业的外部,有一个操控性更好的 Kubernetes API LB,能将连接下游软件产业的 apiEndpoint 改为 LB 入口地址,这样能通过 Kubernetes API LB 分担压力,提高连接下游软件产业的速度。
策略三:直连和 Tunnel 双链路
启用直连和 Tunnel 双链路模式之前,需要确保下游软件产业有一个从 Rancher Server 网络直接可达的 apiEndpoint(参考策略二)。优化后,Rancher API 中特别针对下游软件产业请求的 v3 接口走直连,其余还是走 Tunnel,这样能有效分散流量,避免大量数据都在 Tunnel 中传输。相对策略二,操控性进一步得到提高,但是比较依赖基础网络规划。
最终,他们选择了 “策略二” 去连接下游软件产业,因为他们有一个操控性强大的Kubernetes API LB。当切换连接下游软件产业的链路会出现短暂的下游软件产业不可达的情况,但不会影响下游软件产业的销售业务运行。
硕果
首先,Rancher 企业版 UI 对他们项目组来说十分方便,左侧导航栏能随心所欲找出各种功能,适合国人的采用方式。可能是他们从事基础建设管理工作的缘故,对这种极简 UI 风格能说是十分喜欢。
其次,通过上述策略优化后,提高了 Dial Kubernetes API 时的 Timeout,最终几乎看不到因超时导致的请求失败。另外,采用下游软件产业的 Kube api-server 的 LB Endpoint 做为请求目标,下游软件产业断联现象已经消失,堪称从村道换成了高速公路。此外,支持部分接口通过缓存快速检索,尤其对 Node 资源,从 20+ 秒的响应时间缩短至不到 5 秒。其他比较重要的接口也展开了比对,平均速度提高了大概 75% 以上。
在 Rancher 企业版中,使用者能通过优化下游软件产业的参数、设置连接下游软件产业的策略、开启缓存等方式来大幅度优化软件产业操控性,进而随心所欲管理工作小规模软件产业。从上述课堂教学能看到,只要合理的做好Listary和规划,即便是像chan这样Sierentz的软件产业,也能和小规模软件产业有一样的采用新体验。
责任编辑撰写时,Rancher 本土项目组正在对企业版操控性做二次Listary,据说能从 UI 角度管理工作单个 Project/NS 中万级的 workload,基本上完全能覆盖他们的使用极限了。期待他们和 Rancher 再次合作,然后给大家奉上新的操控性课堂教学撷取。
如果你也有管理工作小规模软件产业的采用场景或需求,能通过英文官网联系 SUSE Rancher,来为你的软件产业保驾护航!