非营利组织维基媒体基金会运营着世界上一些最大的协作编辑参考项目,包括维基百科。为了帮助用户维护和使用维基百科,它运行着维基媒体工具实验室,这是一个为社区开发者提供托管环境的平台,这些开发者致力于开发工具和机器人,以帮助编辑和其他志愿者完成他们的工作,包括减少破坏行为。围绕维基媒体工具实验室的社区大约在 10 年前开始形成。
挑战
- 简化复杂、难以管理的基础设施
- 允许开发人员继续使用现有技术编写工具和机器人
为什么选择 Kubernetes
- 维基媒体工具实验室选择 Kubernetes 是因为它可以模仿现有的工作流程,同时降低复杂性
方法
- 将旧系统和复杂的基础设施迁移到 Kubernetes
结果
- 占网络流量 40% 以上的 20% 的网络工具现在都在 Kubernetes 上运行
- 一个拥有 25 个节点的集群,可以跟上每个新的 Kubernetes 版本
- 由于 Kubernetes 的帮助,数千行旧代码已被删除
使用 Kubernetes 提供维护维基百科的工具
维基媒体工具实验室由 4.5 名全职员工和 2 名志愿者运营。基础设施并没有让开发人员能够轻松直观地构建机器人和其他工具,以使维基百科更容易运作。Yuvi 说:“这非常混乱。我们在上面使用了大量的 Perl 和 Bash 胶带。一切都超级脆弱。”
为了解决这个问题,维基媒体工具实验室将其部分基础设施迁移到了 Kubernetes,为最终迁移整个系统做准备。Yuvi 说,Kubernetes 极大地简化了维护工作。目标是允许创建机器人和其他工具的开发人员使用他们想要的任何开发方法,但要让维基媒体工具实验室更容易维护托管和共享它们所需的基础设施。
“借助 Kubernetes,我已经能够删除很多我们定制的代码,这使得一切都更容易维护。我们用户的代码也比以前运行得更稳定,”Yuvi 说。
简化基础设施并使维基百科更好地运行
维基媒体工具实验室在 Kubernetes 的初始部署中取得了巨大的成功。旧代码正在被简化和消除,贡献代码的开发者不必改变他们编写工具和机器人的方式,而且这些工具和机器人的运行方式也比过去更加稳定。付费员工和志愿者能够更好地跟上修复问题的步伐。
未来,随着更完整地迁移到 Kubernetes,维基媒体工具实验室希望能够更容易地托管和维护帮助运行全球维基百科的机器人和工具。该工具实验室已经托管了来自 800 名志愿者的约 1300 个工具和机器人,并且每天都有更多的工具和机器人被提交。该工具实验室中 20% 的网络工具(占网络流量的 60% 以上)现在都在 Kubernetes 上运行。该工具实验室拥有一个拥有 25 个节点的集群,可以跟上每个新的 Kubernetes 版本。许多现有的网络工具正在迁移到 Kubernetes。
“我们的目标是确保世界各地的人们都能尽可能轻松地分享知识。Kubernetes 通过让世界各地的维基百科更容易获得他们发展所需的工具来帮助实现这一目标,”Yuvi 说。