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