服務(wù)項目:網(wǎng)站建設(shè)、仿站、程序開發(fā)、APP開發(fā)設(shè)計、移動網(wǎng)站開發(fā)設(shè)計、企業(yè)網(wǎng)站設(shè)計、電子商務(wù)網(wǎng)站開發(fā)、網(wǎng)站維護、網(wǎng)站推廣、UX/UI 、HTML5、CSS3、JS / Jquery ...
          四川浚浚科技有限公司
          四川浚浚科技有限公司 (開發(fā)設(shè)計官網(wǎng))TEL : 15308000360 / QQ : 38585404
          深入挖掘用戶需求
          成就品質(zhì)用戶體驗

          您的位置:首頁 > 技術(shù)經(jīng)驗 > 網(wǎng)站運維 > 正文

          漫談Docker-云時代的程序分發(fā)方式
          技術(shù)支持服務(wù)電話:15308000360 【7x24提供運維服務(wù),解決各類系統(tǒng)/軟硬件疑難技術(shù)問題】

          在今年6月份,Docker剛爆出了一個容器逸出的漏洞注 19。不管是Hypervisor技術(shù)還是容器技術(shù),安全問題始終都是一個不可避免的話題,雖然它們出問題的幾率要比中間件軟件(Apache,Nginx、Tomcat)和軟件框架(Struts、Rails)等的概率要小很多。

          注 19 http://blog.docker.com/category/security-2/

          事后Docker, Inc.還是比較積極的面對了這件事,除了及時披露詳細情況之外,還著重強調(diào)了他們的安全政策。

          5.2.5. 有狀態(tài)和無狀態(tài)容器

          在不可變基礎(chǔ)設(shè)施(Immutable Infrastructure)里,一切都可以分為有狀態(tài)(stateful)的和無狀態(tài)(stateless)的,容器也不例外。容器似乎更適合跑無狀態(tài)的服務(wù),然而業(yè)內(nèi)對如何分別對待這兩種服務(wù)還沒有太好的最佳實踐。

          5.3. 對Docker展望

          最后再容筆者斗膽對Docker的將來做一些展望。除了Docker本身自己會蓬勃發(fā)展之外,圍繞Docker的生態(tài)圈必將更加成熟和強大。

          5.3.1. 集群管理(Orchestration)和服務(wù)發(fā)現(xiàn)(Service Discovery)

          相對于對單臺機器進行Provisioning而言,云環(huán)境下則需要對多臺機器進行Orchestration。Orchestration這個詞翻譯過來就是編排、編配的意思,我們也可以理解為集群管理。它主要由兩部分工作組成:

          • 監(jiān)控服務(wù)器,發(fā)現(xiàn)變化(軟硬件異常、網(wǎng)絡(luò)異常、正常變更等)
          • 根據(jù)監(jiān)視事件采取相應(yīng)的行動。

          服務(wù)發(fā)現(xiàn)

          在松耦合的分布式環(huán)境下,應(yīng)用程序不一定跑在同一臺機上,甚至是跨越數(shù)據(jù)中心的。這時候服務(wù)發(fā)現(xiàn)就顯得格外重要了。

          • Zookeeper

          Chubby注 20可以稱得上是很多服務(wù)發(fā)現(xiàn)、集群管理軟件的鼻祖了,比如Zookeeper注 21,這些軟件都提供數(shù)據(jù)存儲、leader選舉、元數(shù)據(jù)存儲、分布式鎖、事件監(jiān)聽(或watch,監(jiān)視)等功能。

          注 20 http://research.google.com/archive/chubby.html

          注 21 http://zookeeper.apache.org/

          • etcd

          etcd注 22很新也很輕量,安裝很簡單,配置也不復(fù)雜,所以非常適合入門。etcd存儲的是key-value格式的數(shù)據(jù)。

          etcd是CoreOS的一個組件。同時CoreOS提供了一個基于公有云的服務(wù)發(fā)現(xiàn)服務(wù)discovery.etcd.io。

          注 22 https://github.com/coreos/etcd

          此外,我們還可以有Skydns/Skydock注 23、Discoverd注 24等選擇。

          注 23 基于DNS的服務(wù)發(fā)現(xiàn)。https://github.com/crosbymichael/skydock

          注 24 Flynn的一個組件,它目前是基于etcd的,但是也可以擴展諸如Zookeeper等分布式存儲機制。https://github.com/flynn/discoverd

          集群管理

          圍繞Docker使用場景的開源集群管理軟件有很多,比如Geard、Fleet、Consul及Serf等,這些軟件都是隨著Docker應(yīng)運而生的;此外還有很多老牌的集群管理軟件,比如Mesos等也可以很好的結(jié)合Docker使用。

          • Serf和Consul

          Serf注 25是一個基于Gossip協(xié)議去中心的服務(wù)器發(fā)現(xiàn)和集群管理工具,它非常輕量,高可用并具備容錯機制。

          注 25 http://www.serfdom.io/

          Consul注 26是一個服務(wù)發(fā)現(xiàn)和集群配置共享的軟件,除了K/V store功能之外,它還支持跨數(shù)據(jù)中心及容錯功能,并能進行服務(wù)健康監(jiān)測。

          注 26 http://www.consul.io/

          這兩個軟件都Vagrant作者所在公司HashiCorp注 27發(fā)布的產(chǎn)品,這個公司也值得大家關(guān)注。

          注 27 http://www.hashicorp.com/products

          • Apache Mesos & Marathon & deimos & etc.

          Mesos用于對多個節(jié)點的資源進行管理,它將多臺服務(wù)器作為一臺“虛擬機”看待,并在這臺虛擬機上分配資源,用戶通過使用framework進行資源管理。Marathon是一個Mesos的framework,用來啟動、管理需要長時間運行的任務(wù)。deimos則是一個為Mesos準備的Docker插件。

          其它工具

          Cloud Foundry在5月份發(fā)布的Docker版的BOSH工具,有興趣的讀者可以參考一下Decker注 28項目。

          注 28 Decker = Docker + Cloud Foundry. http://www.cloudcredo.com/decker-docker-cloud-foundry/

          另外Clocker注 29這個項目也比較有意思,它基于Apache Brooklyn(目前還在孵化器中),能在多云環(huán)境下基于Docker容器進行應(yīng)用部署。這個項目的擴展性很好,非常方便自己定制。不過項目還太年輕,要想使用的話恐怕還需要些時日。

          注 29 https://github.com/brooklyncentral/clocker

          5.3.2. 和OS的深度結(jié)合

          在Fedora上使用的systemd注 30就已經(jīng)提供了集成容器和虛擬機的功能。

          注 30 systemd是用來替代Linux中init系統(tǒng)的系統(tǒng)軟件,目前已經(jīng)在Fedora/RHEL等中采用

          Docker除了能在各種主流Linux上使用之外,還出現(xiàn)了有專為運行Docker容器而定制的OS了,比如CoreOS注 31,RedHat的Atomic注 32。

          注 31 https://coreos.com/ ,在6月末剛剛宣布獲得了八百萬美元的A輪融資
          注 32 http://www.projectatomic.io/

          CoreOS

          CoreOS是一個精簡版的Linux,可以運行在既有硬件或者云上,它也是一個最近備受關(guān)注的項目。CoreOS不提供類似yum或者apt類似的包管理工具,你不需要在CoreOS中安裝軟件,而是讓程序都在Docker容器中去運行。CoreOS使用systemd和fleet來對容器進行管理,通過etcd進行服務(wù)發(fā)現(xiàn)和配置信息共享。

          Atomic

          Project Atomic是最近才發(fā)布的一個項目,它也是一個瘦身版的Linux,只包含systemd/geard注 33/rpm-OSTree以及Docker組件,專門用來部署和管理Docker容器。它能在接近硬件裸機級別上高性能的運行大量容器,而且它還是基于SELinux的,在安全上也有保障。

          注 33 http://openshift.github.io/geard/

          5.3.3. Container技術(shù)規(guī)范化和兼容性

          就在DockerCon14開始的前一天,F(xiàn)lynn發(fā)布了Pinkerton,一個支持在其它容器中使用Docker鏡像的技術(shù)。

          而另一方面,我們知道除了LXC,Docker之外,還有很多其它容器技術(shù),比如Zones,jail和LMCTFY等,那么試想這么多的容器之上,是否有統(tǒng)一接口、互相兼容或者在容器上加一層封裝的可能性呢?比如讓一種容器的鏡像,能運行到其它容器中?Docker容器已經(jīng)能互相連接了,會不會異構(gòu)的容器之間也能進行某種交互呢?

          6. 總結(jié)

          Docker雖然入門和使用起來非常簡單,但整個生態(tài)系統(tǒng)還是挺龐大的,而且其底層技術(shù)也都很復(fù)雜,由于篇幅有限及筆者學(xué)識不精,也只能說一些皮毛之事,最多只能算是拋塊磚而已;而且筆者也有一種意猶未盡的感覺,但是由于篇幅所限,不能說到面面俱到,更多的內(nèi)容,還請各位讀者自己去深入挖掘。

          總之筆者認為Docker還是非常有趣的一個東西,值得大家花些時間體驗一下,相信在各位的工作中多多少少都能用的上Docker




          上一篇:億級Web系統(tǒng)搭建—單機到分布式集群
          下一篇:重新思考數(shù)據(jù)中心網(wǎng)絡(luò)

          相關(guān)熱詞搜索:docker 分發(fā)方式
          主站蜘蛛池模板: 适合男士深夜看的小说软件| 一本色道久久88综合亚洲精品高清 | 亚洲欧美成人在线| 蜜桃成熟时2005| 国产精品国产三级国产AV′ | eva樱花动漫网| 日本一区二区三区久久| 亚洲日本一区二区三区在线不卡| 精品视频一区二区三区在线观看 | 国产亚洲精品bt天堂精选| 69av在线播放| 好男人好资源在线观看免费| 久久国产精品二国产精品| 欧美成人精品三级网站| 免费国产成人手机在线观看 | 成人激爽3d动漫网站在线| 亚洲Av高清一区二区三区| 污污的网站免费观看| 午夜大片免费完整在线看| 麻豆国产AV丝袜白领传媒| 国产精品美女一区二区视频| 一级日韩一级欧美| 日韩一区二区三区在线播放| 亚洲午夜精品在线| 特黄AAAAAAAAA毛片免费视频| 四虎影视永久免费观看地址| 黄色a级片在线| 国产精品美女网站在线看| h视频在线免费| 成人毛片一区二区| 久久午夜无码免费| 最近最新中文字幕免费的一页| 亚洲热妇无码av在线播放| 精品久久久久国产| 四虎永久在线免费观看| 香港台湾日本三级纶理在线视| 国产精品亚洲va在线观看| 99热精品久久| 好吊色青青青国产在线观看| 中文字幕无线码中文字幕免费| 日韩乱码人妻无码中文字幕 |