日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3亿Docker容器部署的挑战及应对方案

發布時間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3亿Docker容器部署的挑战及应对方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:http://www.csdn.net/article/2014-11-03/2822455

IronWorker是一個面向開發者的任務隊列服務,如今其已經部署了3億多個Docker容器,本文中分享了IronWorker在使用基于Docker的基礎架構時,遇到的挑戰、解決方法,以及其中的收獲。

編者按:IronWorker是一個面向開發者的任務隊列服務,開發人員可以在不設置和管理任何基礎設施的基礎上,調度執行大規模的任務。幾個月前,Iron開始試用Docker,如今其內部已經部署了3億多個Docker容器,本文中分享了IronWorker在使用基于Docker的基礎架構時,遇到的挑戰、解決方法,以及其中的收獲。

以下為原文:


IronWorker是一個任務隊列服務,他讓開發人員在不用設置和管理任何基礎設施的基礎上,調度執行大規模的任務。我們3年多前推出這項服務時,使用了包含所有的語言和代碼包的LXC容器運行任務。Docker使我們能夠輕松地升級和管理一組容器,為客戶提供更多的語言環境和安裝包。

我們剛開始使用的是v0.7.4版本的Dokcer,使用過程中遇到一些困難(不能正常的關閉是一個大的問題,但是后來已經被解決了),我們已經成功地克服了所有的困難,并且發現Docker不僅僅滿足了我們的需求,更是超出了我們的預期。因此我們在我們的基礎架構中推廣使用Docker。基于我們的經驗來看,這樣做是有意義的。


優勢

下面列出幾點我們意識到的Docker的優勢:

更新維護鏡像非常容易

Doker 使用類似git的非常強大的方法來管理Image,使得它能很方便地管理大量的、不斷變化的環境,他的Image分層系統不僅節省空間而且使我們擁有更細區分度的images。

現在,我們能夠跟上快速更新的語言的節奏,我們能夠提供專門的例如一個新的專門為媒體處理而設計的ffmpeg stack。我們現在有多達15個不同的堆棧并且正在迅速擴大。

資源分配

基于Lxc的容器是操作系統級別的虛擬化方法,所有的容器共享系統內核,但是每個容器可以被約束使用指定的資源,比如CPU,內存和I/O.Docker提供REST API、環境版本控制、獲取/提交鏡像、輕松獲取統計數據等功能。Docker支持使用CoW文件系統來更安全的隔離數據。這意味著,任務中對文件的所有改變都分開存儲,并可以用一個命令清除。 LXC是不能跟蹤這種變化。

Dockerfiles使得集成簡單

我們的團隊遍布世界各地。只要發布一個簡單的Dockerfile就可以下班,當你休息時,可以保證其他工作的人能夠生成和你的一樣的鏡像。克服了不同地方的人有不同的作息時間的困難。干凈的鏡像使得它部署和測試更快。我們的迭代周期更快,團隊里每個人更加開心。

不斷壯大的社區

Docker在非常快得更新,甚至比chrome更快。更重要的是,參與增加新功能和修復bug的社區數量在大量增加。 無論是為為鏡像貢獻還是為Docker做貢獻,甚至是為Docker的周邊工具做貢獻,有一大批聰明的人正在為其努力,因此我們也不能置身事外。我們發現Docker的社區非常活躍有意義,我們很高興能夠成為其中一員。

Docker + CoreOS

我們也處在探索階段,但我們發現Docker和CoreOS的結合對于我們來說似乎是更好地選擇。Docker提供了穩定的鏡像管理和容器。CoreOS提供了一個精簡的云操作系統、機器級別分布式編排和虛擬狀態管理。這個組合關注問題的不同方面,是一個更合理的基礎設施棧。

挑戰

每一個服務器端的技術需要微調和定制,尤其是大規模運行時,,Docker也不例外。(例如,我們跑不到5000萬的任務,一個月50萬小時計算,并且不斷更新我們的鏡像)。下面是我們使用大量Docker容器數時遇到的一些挑戰:

向后兼容性不夠

該領域的快速創新雖然是一個優勢,但是也存在缺點。其中之一是向后兼容性差。在多數情況下,我們遇到的問題主要是是命令行語法、API的改變,從產品角度來說這不是一個嚴重的問題。

但在某些情況下,它影響了操作性能。例如,在任何啟動容器后引發的Docker錯誤,我們要解析STDERR并根據錯誤類型進行響應(例如重試)。非常不幸的是,錯誤的輸出格式隨著版本不同變化,不得不在不斷變化的結果中調試,使我們非常疲憊。


Docker的錯誤率

這個問題相對來說還比較好解決,但是意味著每次的更新要經過多次驗證,并且你需要一直開發直到這個更新的版本被發布到了系統大部分環境中。我們幾個月前使用v0.7.4,現在我們的系統更新到v1.2.0.在這個領域我們已經有了一個很大的進步。

有限的工具和庫

雖然Docker 有一個四個月前發布的穩定版本,圍繞它的一些工具仍然不穩定。采用Docker生態圈中的大部分工具意味著需要投入更多的精力。為了使用最新的功能、修復bug,你團隊中需要有人熬夜加班對這些功能,頻繁的進行一些修改.也就是說,我們很高興有一些Docker 周邊的工具在開發,而且很期待能夠有一個工具在其中脫穎而出。我們對etcd,fleet, kubernetes比較看好。

戰勝困難

接下來根據我們的經驗,更深入的講我們講我們遇到的問題和我們的解決方法。問題列表主要來自我們Ironworker的首席開發兼工程運營總監Roman Kononov和一直在調試和規范化我們Docker操作的Sam Ward。


Debug時的一個異常

說明一下,當我們遇到和Docker相關或者其它系統相關的問題,我們可以自動的重新執行任務,對用戶沒有任何影響(重試是平臺的內置功能)。

刪除操作時間長

起初刪除容器時間長,需要太多的磁盤I/O操作。這導致我們的系統速度明顯變慢,形成了瓶頸。我們不得不增加可用的內核數目,而這個數量遠遠超出我們所需的。


快速刪除Docker容器的解決方案

通過研究使用devicemapper(一個Docker的文件系統驅動),我們發現設置一個選項有作用`--storage-optdm.blkdiscard=false`,這個選項告訴Docker 刪除容器時跳過花費時間長的磁盤操作,大大加速了容器的關閉過程。當修改好刪除腳本后,這個問題就沒了。


卷無法卸載

由于Docker沒有可靠地卸載卷,容器不能正確地停止。這導致容器永遠在運行,即使已經完成了任務。解決辦法就是顯示地調用用戶自己寫得一些列腳本來卸載卷,刪除文件夾。幸運的時,這個問題是之前我們使用Docker v0.7.6版本時遇到的,當Docker v0.9.0解決這個問題后我們就刪除了那些冗長的腳本。

內存限制開關

Docker其中的一個發布的版本中突然新增了內存限制選項,刪除了LXC中的選項。其結果是一些工作進程到達內存界限,然后了整體不響應。這弄得我們措手不及,因為即使使用了它不支持的設置,Docker也沒有出錯。解決方法很簡單,即在Docker內部設置內存限制,但是這種變化讓我們措手不及

未來計劃

正如你所看到的,我們對Docker投入非常的多,我們在接下得每天會繼續投入。除了用它來隔離用戶在IronWorker中運行的代碼,我們也準備在其他的一些領域使用它。?

這些領域包括:

IronWorker 后臺

除了使用Docker作為任務的容器,我們也在使用它來管理每個服務器上運行的用來管理和啟動任務的進稱。每一進程著的主要任務是從隊列中拿一個任務,把它放到合適的Docker容器中,運行,監測,運行完后刪除環境。有趣的是同一臺機器上我們有容器化的代碼來管理其它容器。把我們所有的基礎設施環境放到Docker的容器中讓我們在CoreOS上的運行相當容易。

IronWorker, IronMQ,以及 IronCache APIs

我們和其他的ops團隊一樣,沒有人喜歡部署。能夠把我們的所有的服務打包Docker容器中,然后簡單、確定地部署,我們非常地激動。不用再配置服務器。我們需要的就只是能夠運行Dokcer容器的服務器。我們正在替換我們的服務器搭建,使用Docker容器在服務器上為我們發布的產品搭建環境。變得的靈活、簡單,有更可靠的協議棧。

生成和加載程序

我們也在用Docker容器在IronWorker中生成和加載程序。一個顯著的進步是為用戶改進了,大規模、特定任務負載和工作流的創建、上傳、運行任務的過程。還有一個好處是用戶可以在本地測試程序,而測試環境和我們的生產服務一致。

企業內部部署版

使用Docker作為主要分發方法,IronMQ企業內部部署版簡化了我們的分發工作,并且提供了一個簡單通用的在幾乎任何云環境中都能部署的方法。就像我們在共有云上運行的服務,客戶需要的就是可以運行Docker容器的服務器,同時他們可以相對容易的獲得在測試或生產環境中運行的多臺服務器的云服務。

原文鏈接:Docker in Production — What We’ve Learned Launching Over 300 Million Containers(編譯/王曉冉 審校/周小璐)

如需要了解更多Docker相關的資訊或是技術文檔可訪問Docker技術社區;如有更多的疑問請在Dcoker技術論壇提出,我們會邀請專家回答。購票等問題可咨詢QQ群:303806405。



Container技術日報公眾賬號已開啟,歡迎關注!

6
1
推薦閱讀相關主題:云操作系統基礎架構開發人員文件系統版本控制操作系統
子江20小時前 牛,希望明年這個時候目前的應用開發部署方式有大的轉變,切換到docker環境,從此輕松應對高并發高可靠 :) 回復

總結

以上是生活随笔為你收集整理的3亿Docker容器部署的挑战及应对方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲91精品| 国产亚洲无码精品 | 成年女人色毛片 | 亚洲97| 精品福利三区3d卡通动漫 | 91综合视频 | 天天视频色 | 国产精品一区二区三区在线 | 亚洲午夜片 | 91麻豆精品国产91久久久久久久久 | 日韩福利视频在线观看 | 欧美日韩在线免费播放 | 青青草免费在线观看视频 | 国产精品爽爽 | 蜜臀在线观看 | 在线观看高清av | 99久久久国产精品无码性 | 久久激情五月 | 久久久久久久999 | 91麻豆精品国产91久久久久久 | 99re9| 人妻激情偷乱视频一区二区三区 | 欧美人与牲动xxxx | 日韩精品一区二区三区中文字幕 | 亚洲国产精品一区二区尤物区 | 看国产一级片 | 成人69视频| 性色视频在线观看 | 日本高清有码 | 污污网站在线播放 | a在线观看视频 | 91直接进入 | 日韩激情小说 | 久久怡春院 | 久久永久免费视频 | 色窝窝综合色窝窝久久 | 爱情岛亚洲论坛入口福利 | 午夜视频网 | 操操操操操操操操操 | 午夜精品视频在线 | 久久成人18免费观看 | 日本xxxx在线观看 | 中文字幕在线高清 | 天天综合网久久综合网 | 粉嫩av网址 | 播放男人添女人下边视频 | 久久亚洲精品视频 | 亚洲人成无码www久久久 | 噜噜噜亚洲色成人网站 | 精品无码国产污污污在线观看 | 999久久久国产 | 欧美日韩在线一区 | 国产91在线亚洲 | 天堂99| 色伊人影院 | 在线播放不卡av | 长篇h版少妇沉沦交换 | 97超碰在线播放 | 成人免费在线网站 | 日本伦理一区二区三区 | 日韩欧美中文一区 | 91在线无精精品一区二区 | 日本蜜桃视频 | 日韩资源| 成人做爰69片免费看 | 好爽快一点高潮了 | 蜜桃在线一区二区三区 | 少妇免费视频 | 亚洲天堂免费在线观看视频 | sese综合| 牛夜精品久久久久久久99黑人 | 真实人妻互换毛片视频 | 福利片一区二区 | 老熟妇高潮一区二区高清视频 | 欧美日韩国产一级片 | 干操网| 欧美日韩一区二区视频观看 | www.天天综合| 中国字幕一色哟哟 | 久久精品国产免费看久久精品 | 亚洲欧美精品在线 | 日韩成人精品一区二区三区 | 影音先锋久久久久av综合网成人 | 流白浆视频 | 天堂中文在线视频 | 疯狂做爰的爽文多肉小说王爷 | 久久视频这里只有精品 | 免费无码又爽又黄又刺激网站 | 黑人精品一区二区 | 亚洲人成久久 | 青青草成人在线 | 好吊视频在线观看 | 日本一区二区免费在线 | 日韩精品字幕 | 国产蜜臀在线 | 亚洲xx网| 欧美人与性动交xxⅹxx | 国产精品久久久久蜜臀 | 夜夜小视频 |