1. 程式人生 > >維基媒體 Wikimedia 正全面遷移至 Kubernetes_Kubernetes中文社群

維基媒體 Wikimedia 正全面遷移至 Kubernetes_Kubernetes中文社群

Kubernetes,讓世界維基大變樣

眾所周知的非營利性維基媒體基金會,旗下包括全世界最大的協同編輯參考專案:維基百科。為幫助使用者維護和使用維基,基金會成立了維基媒體工具實驗室,在這個宿主環境里社區開發人員工作可以藉助工具跟機器人幫助編輯和其他志願者完成工作,還有減少破壞等。維基媒體工具實驗室的周邊社群在10 年前已開始形成。

維基媒體

“維基媒體工具實驗室的關鍵作用是,確保全世界的維基以最佳狀態運轉。維基百科已經有近 10 年的歷史,現在環境極其複雜,難以維護。現在它看起來像一個大泥球——讓你看不透。有了 Kubernetes,我們可以簡化環境,開發人員優化起來也更加便捷。
——維基媒體基金會和維基媒體工具實驗室的運營工程師 Yuvi Panda

挑戰:

  • 簡化複雜,難管理的基礎架構。
  • 允許開發人員用現有技術繼續編寫工具和機器人。

為什麼選擇 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 說。