Kubernetes ,让世界维基大变样架构
众所周知的非营利性维基媒体基金会,旗下包括全世界最大的协同编辑参考项目:维基百科。为帮助用户维护和使用维基,基金会成立了维基媒体工具实验室,在这个宿主环境里社区开发人员工做能够借助工具跟机器人帮助编辑和其余志愿者完成工做,还有减小破坏等。维基媒体工具实验室的周边社群在 10 年前已开始造成。工具
维基媒体优化
“维基媒体工具实验室的关键做用是,确保全世界的维基以最佳状态运转。维基百科已经有近 10 年的历史,如今环境极其复杂,难以维护。如今它看起来像一个大泥球——让你看不透。有了 Kubernetes ,咱们能够简化环境,开发人员优化起来也更加便捷。“网站
——维基媒体基金会和维基媒体工具实验室的运营工程师 Yuvi Panda开发
挑战:部署
简化复杂,难管理的基础架构。 容许开发人员用现有技术继续编写工具和机器人。get
为何选择 Kubernetes :同步
维基媒体工具实验室选择 Kubernetes 是由于 Kubernetes 能够在删繁就简的前提下模仿现有工做流程。kubernetes
方法:工作流
把旧系统和复杂基础设施迁转到 Kubernetes 上。
结果:
有 20% 的的网页工具如今运行在 Kubernetes 上(这些网页工具占据了 40% 的网页流量)。 Kubernetes 每一个版本更新的时候, 25 节点集群也会与之保持同步。感谢 Kubernetes ,咱们删除了数千行旧代码。
用 Kubernetes 产生工具维护维基
维基媒体工具实验室由四个全职员工,一个兼职员工和两个志愿者维护运营。已存在的基础设施并无使得建立机器人和其余工具变得轻松,达到让维基运行更加轻松便捷的目的。 Yuvi 说,“这简直乱成一团,填满了 Perl 和 Bash 的胶水语言。全部这一切,弱不堪击。
为了解决这个问题,维基媒体工具实验室将其基础设施部分迁移到 Kubernetes ,以便最终移动整个系统。 Yuvi 说 Kubernetes 大大简化了维护过程。目的就是可让开发人员用他们喜欢的开发方法来建立机器人和其余工具,同时让维基媒体工具实验室更加轻松地对托管、分享所需的基础设施进行维护。
“有了 Kubernetes ,我就能够删除不少定制的代码,维护起来更加方便。用户代码也比之前更稳定了“ Yuvi 说。 简化基础设施使维基更好地运行
维基媒体工具实验室一开始使用 Kubernetes 部署就得到了极大的成功。老代码会被慢慢简化跟删除,贡献开发人员没必要改变他们编写工具和机器人的方式,这些工具和机器人能够比以往更稳定的运行。这些问题修复以后,维基百科的工做人员和志愿者也可以更好地运营网站。
将来,在全面迁移到 Kubernetes 后,维基媒体工具实验室但愿可以更容易地托管和维护帮助在全世界运行 Wiki 的机器人和工具。该工具实验室已经从 800 名志愿者中接管了大约 1300 个工具和机器人,天天还有更多的工具和机器人被提交。工具实验室中 20% 的网页工具如今运行在 Kubernetes 上(这些网页工具承载了 60% 的网页流量)。工具实验室有一个 25 节点的集群,与每一个新的 Kubernetes 版本保持一致。许多现有的网页工具正在迁移到 Kubernetes 。
“咱们但愿世界各地的人们都能便捷地分享知识。 Kubernetes 助咱们一臂之力,让世界各地的维基可以更加轻松地使用他们赖以生存的工具。” Yuvi 说。