百分點讓Kubernetes的操作更簡單更便捷
文章講的是百分點讓Kubernetes的操作更簡單更便捷,今年8月,百分點與雲知聲聯合發布了Kubernetes分布式操作係統的“發行版”:Sextant。Kubernetes是Google開源的集群管理係統,其存在的主要意義就在於改善集群管理環境,提升管理效率。近日,在北京召開的CNUTCon 2016全球容器大會上,筆者有幸見到了百分點的技術副總裁劉譯璟,聽他談談百分點對於Kubernetes應用與發展的觀點。今天很多互聯網公司的集群的CPU總體利用率在20%以下,即便是在采用了虛擬化之後,這個數字也並不樂觀。相比之下,而Google的集群CPU總體利用率從10年前開始就是維持在70%左右,這是一項非常了不起的成績。
那麼麵對日益增長的業務,麵對服務器不斷提升的壓力,到底是花費幾十萬美元升級係統還是盡可能提升係統利用率呢?答案是不言而喻的。但是對於後者,使用傳統辦法已經不能夠解決已有問題。也正是在這種情況下,使用Kubernetes管理集群的方法應運而生,它有望實現性能2-3倍的提升,從而節約一筆“巨款”。
這一提升背後,是傳統的的集群管理方式的兩個特點:一是每個團隊為各自的業務目標申請各自的服務器,二是通過ssh登陸使用服務器。在努力完成業務目標的前幾周或者幾個月的探索期裏,團隊的服務器利用率很高。但是解決了業務問題之後,利用率就下降了。這一模式的另一個弊端是:雖然一家公司可能有百萬台服務器,但一個需要一千台服務器的作業卻很難執行起來,因為集群實際上是割裂的,分屬不同團隊。
分布式操作係統針對以上問題,管理整個數據中心的服務器,讓各個團隊不再申請服務器,而是申請計算資源quota,比如,1000 CPU + 4000 GPU + 4000 GB內存。quota有優先級——通常一個為產品服務更新模型的作業的優先級高於實驗作業。這樣,即時實驗作業先啟動,當產品作業啟動的時候,如果集群資源不足,分布式操作係統可以暫停實驗作業,為產品作業騰出資源,等產品作業結束之後再繼續執行實驗作業。
另一方麵,分布式操作係統會把不同類型的作業調度在同一台機器上,利用不同作業著重依賴不同硬件資源(CPU、內存、磁盤IO、網絡IO)的特點,充分利用每一台服務器的硬件資源。而且因為很多機器都在分布式操作係統管理之下,所以即使集群利用率高達80%,剩下的很多機器的20%也足以應付突發流量增加等問題。
這樣一來,Kubernetes就解決了性能方麵的問題,也減少了工程師從“跳板機”訪問的過程,大大節省了人力資源的開銷。不僅如此,Kubernetes還能夠降低並行計算框架(如MapReduce、Spark、Storm等)的開發難度和成本,極大地釋放了團隊探索大規模AI技術的潛力。
但是,說了這麼多好處,Kubernetes的缺點也是顯而易見的——繁瑣。在開源的Kubernetes應用中,Kubernetes集群的安裝需要大量繁瑣的手工操作。而且因為Kubernetes和相關技術在高速演進,很多手工操作需要重複執行。此外,手工操作數十台甚至數百台服務器很容易出錯。
這也正是百分點與雲知聲攜手的優勢所在。正是看到了這個缺陷,百分點與雲知聲攜手推出了零操作的Kubernetes集群安裝和部署係統Sextant,大大減少了部署Kubernetes的操作。在談到這個問題的時候,劉譯璟認為——Sextant這個工具解決了集群自動擴張的問題。在談到未來的時候,劉譯璟希望能夠把大數據,還有人工智能很多的基礎組件放在其中。“大家拿到這套東西以後,可以很快做自己真正的一些應用,沒有必要再從底層打很多基礎的設施”。
如今,百分點與雲知聲的團隊正在不斷完善Sextant平台,他們也以開放的態度歡迎更多從業者加入到平台的維護當中,推動大數據和AI的快速發展。
最後更新:2017-11-22 00:03:56