持續交付的Mesos與Docker導入篇

2015100813410005937156.jpg

變革這個詞在當今的數字化時代司空見慣,IT技術每過一段時間就會有一起革新,從WEB2.0、虛擬化、云計算、大數據、微架構、DevOps再到今天的容器Docker與Mesos。

Docker的出現方便了應用的測試、部署、與升級,其將各種應用程序和它們所依賴的運行環境打包成標準的Container/Image,進而發布到不同的平臺上運行。Docker的輕量級、快速部署、遷移方便的特性促進了DevOps的落地,借用容器,開發人員可以很方便的融入到產品的交付流程當中。

Mesos是軟件定義數據中心的最佳實踐,其理念用最通俗的話來講就是,讓運維人員操作數據中心就算操作一臺服務器一樣去操作,將數據中心中的CPU、內存、存儲等資源統一在一臺服務器內進行調度與管理。聽起來非常的高大上,如果用技術化的語言來描述,Mesos是這樣定義的,統一的集群資源管理與調度平臺,將生產環境中的各種服務框架,部署在一個公共的集群中,共享集群中的資源,由Mesos對資源進行統一調度,提供給服務框架使用。Mesos的出現給IaaS、PaaS以及運維的管理提供了極大的便利。

在實踐中,Mesos與Docker是最佳的伴侶,前者提供了資源的統一管理,后者實現了資源的隔離使用,有合有分,在不同的層次發揮著不同的效能。同時,Mesos與Docker又都有自己的技術生態圈,兩者的生態圈又都相互的促進和推動。

§Marathon保證Mesos上的服務長期運行的框架,確保運行在Mesos上的服務一直運行,某臺Mesos主機發生故障時自動遷移到其他服務器。

§Chronos服務循環運行作業調度框架,可以設定反復在特定的時間觸發運行Mesos中的服務

§Mesos-DNS針對Mesos的基于DNS的服務發現機制,可以方便的發現容器運行位置,并進行管理調度

§Kubernetes集群級別的容器編排管理系統,能方便的管理跨集群運行的容器化應用,提供容器調度、部署、服務發現、擴展機制等功能

§Swarm用于創建Docker主機(運行Docker守護進程的服務器)集群的工具,使用Swarm操作集群,會使用戶感覺就像是在一臺主機上進行操作。

Mesos與Docker這對最佳伴侶為應用的持續交付帶來了極大的便利,為應用的運維管理提供了很大的方便,兩者在持續交付的解決方案中都起著至關重要的作用,如下圖展示了Mesos與Docker在應用持續交付中的實踐。其具體的過程可以描述如下:

o開發人員根據產品的需求進行代碼的實現,將實現的代碼提交到Git/SVN等代碼管理倉庫;

o測試人員通過Jenkins/Hudson等持續集成工具,對代碼進行編譯、打包、集成等,將代碼打包成DockerImage提交到Docker鏡像倉庫;

o測試人員通過Mesos資源調度和Marathon平臺,用新的DockerImage部署測試環境,測試人員在測試環境中對產品需求功能進行驗證。如果不符合驗證反饋給開發人員,由開發人員繼續修正,如果已經符合要求會通知運維人員將代碼部署到預發布或生產環境;

o運維人員接到測試已經驗證通過的通知后,會利用新發布的Docker Image,將其部署到由Mesos調度管理的生產環境中;

o在生產環境運行過程中,運維人員可以通過Marathon等平臺對環境進行一下業務的擴容及縮容操作,甚至一些故障的自動恢復等管理。

4.jpg

Mesos與Docker交付中應用案例

上述過程描述是基于比較傳統標準的組織架構型的公司來描述的,有清晰角色分工的開發、測試、運維等角色人員;有部分公司已經實踐DevOps的管理方式,開發運維合二為一,組織架構中的角色分工更簡單簡潔,其利用Mesos、Docker實現的持續交付過程會有一些大同小異,其具體的操作過程還是一樣的,只是操作的人可能不同。

Mesos與Docker的出現應用快、持續、自動化的交付的落地消除了很多的屏障,帶來了極大的便利。IT技術就是日新月異,我們能夠選擇的只有不斷積極的擁抱。明天會更好,本篇是我們應用持續交付系列文章的導入篇,在后續會根據實踐不斷更新此系列,和優云軟件(全棧運維解決方案服務商 https://uyun.cn)一起加速互聯網敏捷運維。

原創文章,作者:uyunops,如若轉載,請注明出處:http://www.www58058.com/21186

(1)
uyunopsuyunops
上一篇 2016-07-10
下一篇 2016-07-10

相關推薦

  • SElinux

    SElinux 1.介紹: SELinux: Secure Enhanced Linux,是美國國家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發布,Linux內核2.6版本后集成在內核中 …

    Linux干貨 2016-09-21
  • FTP部署及簡單應用

    文件服務: ftp:應用層,C/S,文件共享;file transfer protocol; nfs,cifs:文件系統接口,網絡文件系統;     nfs:network file system     cifs:common …

    Linux干貨 2016-10-19
  • Linux之文件管理命令

      Linux文件管理類命令 Linux一切皆文件,所以熟悉文件管理命令對我們來說至關重要 文件查看命令 cat命令:文本文件查看工具 命令用法:         cat [OPTION]… [FILE]… 常用選項:  &nbsp…

    Linux干貨 2016-11-04
  • centos6的啟動流程和grub實驗

    一.centos的啟動流程         post–mbr grub 1stage–stage1.5–stage 2 /boot/grub—/boot/grub/grub.conf —kernel /vmlinuz.XXX root=— /boo…

    2017-07-08
  • 馬哥教育網絡班21期+第9周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash  declare -i loginable=0 declare -i unloginable=0  &n…

    Linux干貨 2016-09-07
  • 設計模式 ( 十八 ) 策略模式Strategy(對象行為型)

    設計模式 ( 十八 ) 策略模式Strategy(對象行為型) 1.概述         在軟件開發中也常常遇到類似的情況,實現某一個功能有多種算法或者策略,我們可以根據環境或者條件的不同選擇不同的算法或者策略來完成該功能。如查找、排序等,一種常用的方法是硬編碼(Hard Coding)在一個類中,如需要提供多種查找算…

    Linux干貨 2015-07-28
欧美性久久久久