非營利組織維基媒體基金會運營著世界上一些最大的協同編輯參考專案,包括維基百科。為了幫助使用者維護和使用維基,它執行著維基媒體工具實驗室 (Wikimedia Tool Labs),這是一個為社群開發者提供託管環境的平臺,他們在這裡開發工具和機器人,以幫助編輯和其他志願者完成工作,包括減少惡意破壞。維基媒體工具實驗室的社群大約在十年前開始形成。
挑戰
- 簡化複雜且難以管理的基礎設施
- 允許開發者繼續使用現有技術編寫工具和機器人
為什麼選擇 Kubernetes
- 維基媒體工具實驗室選擇 Kubernetes 是因為它能夠模仿現有工作流,同時降低複雜性
方法
- 將舊系統和複雜的基礎設施遷移到 Kubernetes
結果
- 20% 的網路工具,佔網絡流量的 40% 以上,現在執行在 Kubernetes 上
- 一個 25 節點的叢集,與每個新的 Kubernetes 版本保持同步
- 多虧了 Kubernetes,數千行舊程式碼已被刪除
使用 Kubernetes 提供維護維基的工具
維基媒體工具實驗室由四名半帶薪員工和兩名志願者運營。基礎設施並沒有讓開發者輕鬆或直觀地構建機器人和其他工具,使維基更容易運作。Yuvi 說:“它非常混亂。我們有很多 Perl 和 Bash 的補丁。一切都非常脆弱。”
為了解決這個問題,維基媒體工具實驗室將其部分基礎設施遷移到 Kubernetes,為最終遷移整個系統做準備。Yuvi 說 Kubernetes 極大地簡化了維護。目標是允許建立機器人和其他工具的開發者使用他們想要的任何開發方法,但要讓維基媒體工具實驗室更容易維護託管和共享這些工具所需的基礎設施。
Yuvi 說:“有了 Kubernetes,我能夠刪除很多我們定製的程式碼,這讓一切都更容易維護。我們使用者的程式碼也比以前執行得更穩定。”
簡化基礎設施並使維基執行得更好
維基媒體工具實驗室在首次部署 Kubernetes 後取得了巨大成功。舊程式碼正在被簡化和消除,貢獻者開發者無需改變他們編寫工具和機器人的方式,而且這些工具和機器人的執行比過去更穩定。帶薪員工和志願者能夠更好地解決問題。
未來,隨著更徹底地遷移到 Kubernetes,維基媒體工具實驗室預計將更容易託管和維護幫助全球維基執行的機器人和工具。工具實驗室已經託管了來自 800 名志願者的約 1,300 個工具和機器人,並且每天都有更多新的工具提交。工具實驗室中佔網絡流量 60% 以上的 20% 的網路工具現在執行在 Kubernetes 上。工具實驗室擁有一個 25 節點的叢集,與每個新的 Kubernetes 版本保持同步。許多現有網路工具正在遷移到 Kubernetes。
Yuvi 說:“我們的目標是確保世界各地的人們能夠儘可能輕鬆地分享知識。Kubernetes 透過讓各地維基更容易擁有蓬勃發展所需的工具來幫助實現這一目標。”