1. 程式人生 > >肖德時:基於Docker容器的雲端計算平臺搭建實戰

肖德時:基於Docker容器的雲端計算平臺搭建實戰

基於Docker容器的雲端計算平臺搭建實戰。分享自肖德時 @dataman-inc.com,大資料計算平臺Startup,InfoQ深入淺出Docker專欄作者,Docker Contributor,微訊號:coderxiao。

大綱:

Docker 是什麼
Mesos做什麼
Ansible 怎麼用
Spark as a Service 如何搭

一、Docker 是什麼

頂級開源專案
docker是Docker Inc發起的開源專案
Linux kernel namespaces and cgroups
Container 引擎
GitHub
Star 20k+ Fork 4.7k+ (截止到2015年4月)
Golang
Apache2.0
Docker 帶來的好處

不要依賴
•Base image;
•使用all-in-one模式;
無狀態應用
•容器大小不是分發應用的瓶頸;
•目前最好的Container映象打包物件;
微服務設計
•提前做好Http/RestFul互動;
•天然支援多副本例項,比如在單臺主機 上啟動5個相同版本的Mysql例項

二、Mesos

Apache頂級開源專案
•Google分散式系統Borg的開源實現 版本
•AirBnb,Twitter推薦生產級別叢集
•最大的叢集規模可達到10萬節點
•支援跨機房互聯
Mesos做什麼
10分鐘搭建企業級Docker容器私有云可行方案
HAProxy/Bamboo
服務發現非常可靠;
叢集
• 自動伸縮;
• 已經經過Twitter,AirBnb等公司的磨練,可以大膽用於生產;
網路
•初期直接用IaaS層的網路;
映象分發有技巧
•Slave機器的映象需要預熱,直接下載需要等;
資源排程
•資源排程是靜態的;
•規劃應用資源大小有技巧,根據業務來調節;

三、DevOps工具Ansible
部署自動化就靠它了;
Ansible 怎麼用
部署
•自動化部署不是自動化配置,拒絕花哨;
•命令列對DevOps最順手;
•Git控制playbook可以結合Jenkins自動化;
維護
•重心放在hosts和roles;
介面

•介面操作自動化部署,不實用!我們是 DevOps 團隊;

四、Spark as a Service 如何搭
架構
•Spark Driver使用Docker包起來;
•Spark Executor埠暴露太隨意,不要打包到Docker裡面;
•推薦使用強制資源模式,不要使用優化模式執行;
•儲存到HDFS是折中,最好記憶體資料庫;