摘要:今天小數(shù)給大家?guī)硪黄夹g(shù)正能量滿滿的分享來自社區(qū)線上群分享的實(shí)錄,分享嘉賓是數(shù)人云肖德時(shí)。第二級(jí)調(diào)度由被稱作的組件組成。它們是最小的部署單元,由統(tǒng)一創(chuàng)建調(diào)度管理。
今天小數(shù)給大家?guī)硪黄夹g(shù)正能量滿滿的分享——來自KVM社區(qū)線上群分享的實(shí)錄,分享嘉賓是數(shù)人云CTO肖德時(shí)。
Docker 成長(zhǎng)歷程與生態(tài)環(huán)境 Docker 成長(zhǎng)歷程嘉賓介紹:
肖德時(shí),數(shù)人云CTO
十五年計(jì)算機(jī)行業(yè)從業(yè)經(jīng)驗(yàn),曾為紅帽 Engineering Service 部門內(nèi)部工具組 Team Leader,Docker/Mesos 社區(qū)代碼貢獻(xiàn)者?,F(xiàn)負(fù)責(zé)數(shù)人云云計(jì)算的研發(fā)及架構(gòu)設(shè)計(jì)工作,深入研究 Docker,Mesos 集群, 云計(jì)算等領(lǐng)域。
Docker提供了業(yè)界領(lǐng)先的容器引擎,基于 Apache 2.0 版權(quán)開放源代碼
允許應(yīng)用可以攜帶運(yùn)行環(huán)境在任意的主機(jī)上運(yùn)行(容器技術(shù))
2014年6月9日發(fā)布v1.0版本
實(shí)現(xiàn)了在主流 Linux 系統(tǒng)中可以使用 Docker容器
號(hào)稱“虛擬化2.0”的產(chǎn)物,去掉了hypervisor部分
容器更好的利用了硬件資源,輕量的執(zhí)行效率優(yōu)于傳統(tǒng)虛擬化
結(jié)合 DevOps 社區(qū)的最佳實(shí)踐,提升了應(yīng)用發(fā)布、部署的流程
迅速吸引開發(fā)人員和運(yùn)維人員的興趣,并大量使用
Docker 已經(jīng)在業(yè)界領(lǐng)軍企業(yè)的產(chǎn)品中被積極采納,已知的企業(yè)有:IBM、Microsoft、Google、Amazon、VMWare、Red Hat等等
Docker 公司已獲得超過10億美元的VC 投資
Docker 技術(shù)已發(fā)展有2年多時(shí)間,2016年開始走向成熟技術(shù)發(fā)展
Docker 在云計(jì)算時(shí)代的應(yīng)用1.Docker Engine: A “Hypervisor” for Containers
2.容器技術(shù)不是新概念,在 Unix 時(shí)代存在多年
3.容器技術(shù)在 Linux 技術(shù)棧中的分布
4.部署方式已經(jīng)轉(zhuǎn)變?yōu)?VMs 和 Images
VMs 和 Images 在云端場(chǎng)景大量使用
AWS Xen and Amazon Machine Images
SoftLayer Xen and Standard/Flex Images
Microsoft Azure – Customized Hyper-V and VM Images
Google Compute Engine – KVM
OpenStack – KVM
類似技術(shù)也在傳統(tǒng)數(shù)據(jù)中心采用
VMWare vSphere
Citrix Xen
KVM
Microsoft Hyper-V
5.Docker Containers vs. Traditional VMs
傳統(tǒng) VMs 包括有浪費(fèi)資源的 Guest OS,而 Docker通過分層共享通用的 OS 和類庫部分
基于集裝箱分發(fā)的成功經(jīng)驗(yàn),一個(gè)應(yīng)用容器是包含了一個(gè)應(yīng)用程序運(yùn)行時(shí)的完整部署單元,用來保證部署過程中自動(dòng)化、版本控制和快速部署的實(shí)現(xiàn)
應(yīng)用部署的難點(diǎn)主要集中在應(yīng)用的二進(jìn)制本身和應(yīng)用的依賴的部署(Java JRE,Ruby Gems,Python, App Server等等)
Docker images 包括了應(yīng)用依賴庫和應(yīng)用程序本身
Docker 的特點(diǎn)1.Dockerfiles:
描述了容器的組織內(nèi)容,以及在啟動(dòng)后執(zhí)行什么命令
通常一容器一進(jìn)程模式
Dockerfiles 應(yīng)該作為源碼的一部分放在代碼倉(cāng)庫中
2.Docker layers 是一層一層依賴堆疊在一起,每層只保存不一樣的內(nèi)容
3.鏡像倉(cāng)庫
4.DockerHub ,DockerCloud
Enterprise Technology Research通過6年數(shù)據(jù)統(tǒng)計(jì)得出 Docker 是最有投資價(jià)值的企業(yè)
Docker 的性能介紹IBM 研究院評(píng)測(cè)(2014)顯示 Docker 能達(dá)到和 KVM 同樣的性能,接近裸機(jī)的執(zhí)行性能
《An Updated Performance Comparison of Virtual Machines and Linux Containers》
Docker 的發(fā)展介紹1.DockerCon14 Europe宣布
Docker 編排服務(wù)
Docker Machine
Docker Swarm
Docker compose
Docker Hub Enterprise
2.Docker Machine是一個(gè)簡(jiǎn)化Docker安裝的命令行工具,通過一個(gè)簡(jiǎn)單的命令行即可在相應(yīng)的平臺(tái)上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。
3.Docker Swarm是 Docker原生的集群編排工具,它能管理多個(gè) Docker 主機(jī),組成一臺(tái)虛擬的容器集群主機(jī)
4.支持 etcd,consul,zookeeper 3種服務(wù)發(fā)現(xiàn)系統(tǒng)
5.支持集成到Bluemix,Mesos,Kubernetes,AWS, Azure
6.Docker Compose是一個(gè)可以簡(jiǎn)化多容器應(yīng)用組合的編排工具,通過使用Compose,你可以在一個(gè)配置文件中定義應(yīng)用的組件,包括容器、配置、連接、卷等,然后你可以通過一個(gè)簡(jiǎn)單的命令將所有的組件組合并運(yùn)行。
Docker 對(duì)應(yīng)用管理的影響1.因?yàn)?Docker 全新的設(shè)計(jì)理念,讓應(yīng)用必須重構(gòu)才能很好的在 Docker 上運(yùn)行。十二要素應(yīng)用和微服務(wù)架構(gòu)都是很好的指導(dǎo)方法
http://12factor.net/zh_cn/
http://www.slideshare.net/adrianco
http://martinfowler.com/articles/microservices.html
2.專注于Docker 的操作系統(tǒng)將受到關(guān)注,它被稱之為“極簡(jiǎn) OS”,這些操作系統(tǒng)提供如下關(guān)鍵特性:
通過隔離技術(shù)和精簡(jiǎn)的系統(tǒng)接口提升安全能力
鏡像變的更小,啟動(dòng)速度加快
提供事務(wù)級(jí)別組件升級(jí)和回滾
3.“極簡(jiǎn) OS”包括如下:
CoreOS
Red Hat’s Project Atomic
Ubuntu’s Snappy Ubuntu Core
RancherOS
Microsoft’s Nano Server
Docker 帶來的挑戰(zhàn)1.單臺(tái)主機(jī)上的容器之間網(wǎng)絡(luò)互聯(lián)可以很容易做到,但是當(dāng)容器需要跨越主機(jī)之間的網(wǎng)絡(luò)互聯(lián),復(fù)雜度就提高了。
2.通過選擇以下方案得到解決:
服務(wù)發(fā)現(xiàn)
Docker Swarm
Etcd
Consul
Zookeeper
軟件定義網(wǎng)絡(luò)(SDN)
Docker Networking
Weave
Coreos’ Flannel
Project Calico
3.企業(yè)特性在現(xiàn)代虛擬化平臺(tái)中很常見,但Docker 缺失,這些特性如下:
細(xì)粒度的管理控制權(quán)限
容器熱遷移
備份和恢復(fù)選項(xiàng)
超大規(guī)模部署的管理工具
審計(jì)和日志支持
符合安全規(guī)范
4.Docker 社區(qū)正在設(shè)法解決這些缺失,并且第三方廠商也在推出這些領(lǐng)域的解決方案
容器安全受到多方面的重視,潛在的漏洞都會(huì)得到關(guān)注,安全風(fēng)險(xiǎn)領(lǐng)域包括:
Docker engine daemon以 root 用戶運(yùn)行
缺乏安全參數(shù)
Docker API 入口
鏡像完整性簽名
容器可以執(zhí)行system calls
容器可以訪問主機(jī)文件系統(tǒng)
Docker 社區(qū)正在協(xié)作解決這些安全問題
在多租戶部署場(chǎng)景下安全問題關(guān)注度最高:
"These containers aren"t secure. They don"t have that kind of isolation. They"re sharing so much of their underlying operating system that they can"t be effectively secured, at least not to the kind of level of risk that we"d be comfortable running two different customers in containers side by side" – Microsoft Azure CTO Mark Russinovich
5.CoreOS 發(fā)布Rocket 引擎 v1.0
App Container Image
App Container Runtime
opencontainers/runc (libcontainer)
Docker 的成長(zhǎng)趨勢(shì)04/14/2015 – Docker Raises $95M Series D Round for Its Container Platform
Docker 正在構(gòu)建全平臺(tái)的容器服務(wù)支持
有策略的收購(gòu):Orchard,Kitematic,Socketplane,Tutum
通過企業(yè)合作增強(qiáng)企業(yè)特性
(IBM,Amazon,Google,Red Hat,VMWare,Microsoft,等等)
通過與 Microsoft 的合作,增加對(duì) Windows Containers 的支持
成為微服務(wù)架構(gòu)的默認(rèn)部署方式
成為 Images 和 Containers 的業(yè)界標(biāo)準(zhǔn)
Mesos基礎(chǔ)入門Mesos是Apache下的開源分布式資源管理框架,它被稱為是分布式系統(tǒng)的內(nèi)核。Mesos最初是由加州大學(xué)伯克利分校的AMPLab開發(fā)的,后在Twitter、Netflix、AirBnb、Autodesk、Apple 等得到廣泛使用,國(guó)內(nèi)有愛奇藝、360、小米、去哪兒等公司也在使用 Mesos 技術(shù)。
Mesos實(shí)現(xiàn)了兩級(jí)調(diào)度架構(gòu),它可以管理多種類型的應(yīng)用程序。第一級(jí)調(diào)度是Master的守護(hù)進(jìn)程,管理Mesos集群中所有節(jié)點(diǎn)上運(yùn)行的Slave守護(hù)進(jìn)程。集群由物理服務(wù)器或虛擬服務(wù)器組成,用于運(yùn)行應(yīng)用程序的任務(wù),比如Java、Mysql Cluster、Hadoop 等。第二級(jí)調(diào)度由被稱作Framework的“組件”組成。Framework包括調(diào)度器(Scheduler)和執(zhí)行器(Executor)進(jìn)程,其中每個(gè)節(jié)點(diǎn)上都會(huì)運(yùn)行執(zhí)行器。Mesos能和不同類型的Framework通信,每種Framework由相應(yīng)的應(yīng)用集群管理。Mesos Master協(xié)調(diào)全部的Slave,并確定每個(gè)節(jié)點(diǎn)的可用資源,聚合計(jì)算跨節(jié)點(diǎn)的所有可用資源的報(bào)告,然后向注冊(cè)到Master的Framework(作為Master的客戶端)發(fā)出資源邀約。Framework可以根據(jù)應(yīng)用程序的需求,選擇接受或拒絕來自master的資源邀約。一旦接受邀約,Master即協(xié)調(diào)Framework和Slave,調(diào)度參與節(jié)點(diǎn)上任務(wù),并在容器中執(zhí)行,以使多種類型的任務(wù),比如Hadoop和Cassandra,可以在同一個(gè)節(jié)點(diǎn)上同時(shí)運(yùn)行。
Mesos與K8s等技術(shù)的對(duì)比假如你剛?cè)腴T集群計(jì)算,那么Kubernetes將會(huì)是很好的出發(fā)點(diǎn);它快捷,易用,輕量的方式來處理集群導(dǎo)向開發(fā)的集成和體驗(yàn)。它提供了非常高瞻遠(yuǎn)矚式的可移植性,讓它得以支持多家提供商(微軟,IBM,紅帽,CoreOS,Mesosphere, Kismatic, VMware等等)。
Kubernetes是一個(gè)開源項(xiàng)目,由Google Cloud Platform組開發(fā),給全球的虛擬機(jī)帶來了容器集群管理的能力,當(dāng)然還包括裸機(jī)硬件。它能和當(dāng)代的操作系統(tǒng)很好的一起工作,例如:Ubuntu, RedHat, Project Atomic/CentOS, 或者CoreOS。這些系統(tǒng)提供了輕量的計(jì)算節(jié)點(diǎn)來受你托管。Kubernetes是用Golang語言寫的,它輕量、模塊化、可移植還有擴(kuò)展性。Google的Kubernetes開發(fā)組正在和數(shù)個(gè)不同背景的技術(shù)公司一起制定基于Kubernetes作為標(biāo)準(zhǔn)的計(jì)算集群的標(biāo)準(zhǔn)方案。這個(gè)想法就是借鑒Google在構(gòu)建分布式應(yīng)用上積累的經(jīng)驗(yàn)來幫助需要構(gòu)建分布式應(yīng)用的開發(fā)者。這些核心的理念包括以下一些基本概念:
? Pods --- 是連接在一起的容器組合并共享文件卷。它們是最小的部署單元,由Kubernetes統(tǒng)一創(chuàng)建、調(diào)度、管理。Pods是可以直接創(chuàng)建的,但推薦的做法是你使用replication controller,即使是創(chuàng)建一個(gè)Pod。
? Replication controllers --- 管理Pods的生命周期。它們確保指定數(shù)量的Pods會(huì)一直運(yùn)行,通過創(chuàng)建和殺掉Pods可以保證到這個(gè)效果。
? Labels --- 它被用來管理和選取基于鍵值對(duì)為基礎(chǔ)的對(duì)象組。
? Services --- 提供獨(dú)立、可靠名稱和地址的Pods集合。它就像一個(gè)基礎(chǔ)版本的負(fù)載均衡器。
所以,伴隨著Kubernetes,你將獲得一些簡(jiǎn)單、易用的即起即用性,可一致性和擴(kuò)展性。當(dāng)加入“分布式”這個(gè)術(shù)語到你管理的事情上,這個(gè)事情將是一個(gè)真正輕量的方式。在一個(gè)集群里運(yùn)行應(yīng)用程序,不再擔(dān)心多帶帶的主機(jī)。在這個(gè)例子中,一個(gè)集群是一個(gè)靈活的資源就像一個(gè)虛擬機(jī)。它是一個(gè)邏輯計(jì)算單元,你可以啟動(dòng)它,使用它,調(diào)整集群大小,關(guān)閉它,既快速也容易。
對(duì)于Mesos,這里有很多基本觀點(diǎn)的重疊定義,但是產(chǎn)品確實(shí)有一些不用的點(diǎn)在他們的生命周期之中,并且有一個(gè)亮點(diǎn)。Mesos是一個(gè)分布式系統(tǒng)內(nèi)核,編織不同類型的主機(jī)放在一起當(dāng)一臺(tái)邏輯計(jì)算電腦。它的出現(xiàn)是基于你擁有大量的物理機(jī)資源讓你能夠使用,來創(chuàng)建大型的靜態(tài)計(jì)算集群。很重要的事情是它能讓很多現(xiàn)代可擴(kuò)展的計(jì)算處理應(yīng)用能運(yùn)行的很好在Mesos集群之上(Hadoop, Kafka和Spark)。它非常棒的地方在于可以在同樣的基礎(chǔ)資源環(huán)境里同時(shí)可以運(yùn)行這些計(jì)算處理應(yīng)用,包括同時(shí)運(yùn)行微服務(wù)時(shí)代的容器類型的應(yīng)用。有些地方它確實(shí)比Kubernetes重,但是它越來越易用,這要?dú)w功于Mesosphere公司的團(tuán)隊(duì)貢獻(xiàn)。
現(xiàn)在讓這個(gè)事情更有趣的是Mesos已經(jīng)開始采用并加入更多Kubernetes的概念來支持Kubernetes API。假如你需要Mesos的特性,這樣會(huì)是一個(gè)網(wǎng)橋連接Mesos,以讓你的Kubernetes程序能到更多兼容性的特性(比如:高可靠Master,更多調(diào)度的概念,以及管理大量節(jié)點(diǎn)的能力)。并且它已經(jīng)很好的適配到生產(chǎn)環(huán)境中(Kubernetes仍然是一個(gè)預(yù)覽版測(cè)試階段,V1的調(diào)度將在1到2個(gè)月被發(fā)布出來)。
假如你已經(jīng)有了特殊的環(huán)境(Spark, Hadoop, Kafka等等),Mesos將給你一個(gè)框架,讓你插入這些系統(tǒng)到你的集群里,并且可以混合運(yùn)行一些Kubernetes程序。Mesos給你提供了一個(gè)安全閥,在你需要這些計(jì)算能力但社區(qū)還沒有提供實(shí)現(xiàn)的情況下可以實(shí)現(xiàn)支持。
假如你來自虛擬機(jī)的世界,或者傳統(tǒng)的服務(wù)器架構(gòu),Kubernetes將是很好的選則。Mesos需要一個(gè)自定義的"Framework"來支持例如運(yùn)行 MariaDB,但是Kubernetes的容器化應(yīng)用卻可以直接運(yùn)行,并不需要任何修改。這是一個(gè)進(jìn)入可擴(kuò)展容器集群的最佳辦法。
深入解析 Mesos 生態(tài),問題和發(fā)展方向2015年我去西雅圖參加 Mesos Conf 時(shí),會(huì)議規(guī)模在600多人左右,所以Mesos應(yīng)該是在2015年開始發(fā)展迅猛起來的?,F(xiàn)在Mesos社區(qū)貢獻(xiàn)代碼的主要是Mesosphere,Twitter,IBM和Intel 等,大多數(shù)committer都來自Mesosphere。但是,這個(gè)社區(qū)的組織非常穩(wěn)定,Mesosphere 并不會(huì)強(qiáng)制增加新 Feature,大家都是在一起討論過程中去實(shí)現(xiàn) Roadmap 中的新特性。讓我在參與過程中,可以很方便的和世界各地的開發(fā)者一起交流自己的觀點(diǎn)。大家交流的方式是按照 Apache 項(xiàng)目傳統(tǒng)的方式-郵件列表來組織的,只要按照 Apache 的開發(fā)模式,你可以很容易的融入到社區(qū)里面。只是需要很長(zhǎng)時(shí)間,你才能真正成為 Committer。這個(gè)也是 Apache 項(xiàng)目的一個(gè)特點(diǎn)。
Mesos的生態(tài)系統(tǒng)我也是在2015年才開始真正關(guān)注,我首先關(guān)注到Spark 的原生支持非常好,接著看到 Mesos 對(duì)大數(shù)據(jù)的整個(gè)生態(tài)圈是全面支持的。這個(gè)是 Mesos 社區(qū)的一個(gè)天然優(yōu)勢(shì)。然后對(duì)于各類應(yīng)用,業(yè)界也貢獻(xiàn)了很多好用的框架,比如 Marathon、Chronos、Spark、Kubernetes、Cassandra、Elasticsearch、Swarm 等等。所以,這個(gè)讓我有了很大的想象空間。這些Frameworks,我可以任意的組合和調(diào)配,完全滿足我對(duì)新功能的探索和定制工作。
目前我比較關(guān)注的點(diǎn)和當(dāng)前 Docker 有關(guān)系:Unified Container Mesos-2840,Mesos 之前是直接通過命令行來調(diào)用 Docker的。從之前的用戶反饋也大量反應(yīng)出用戶對(duì) Docker 使用兼容性的苦惱。所以,Mesos 的開發(fā)者在設(shè)想我們能不能把 Docker 的依賴去掉,自己實(shí)現(xiàn)一套 Docker client 端,和 Docker 的服務(wù)端實(shí)際上是通過 API 來約束。這個(gè)設(shè)計(jì)實(shí)現(xiàn)后,還可以同時(shí)支持 CoreOS 的 rkt 引擎。讓Mesos 支持的容器生態(tài)圈更加繁榮。
行業(yè)使用場(chǎng)景分享(包括秒殺等互聯(lián)網(wǎng)高并發(fā),以及生物、教育等領(lǐng)域)對(duì)于行業(yè)使用場(chǎng)景,主要是需要參考業(yè)界的使用案例。比如浙江移動(dòng)的 DCOS 在秒殺業(yè)務(wù)中的使用。去哪兒的 Mesos 日志處理模塊的處理。我們可以參考的案例非常多,足以支持我們對(duì) Mesos 在互聯(lián)網(wǎng)高并發(fā)、生物、教育等等行業(yè)找到最佳實(shí)踐。
對(duì)于秒殺業(yè)務(wù),大家都會(huì)把關(guān)注點(diǎn)集中在性能上。但是如果沒有一個(gè)分布式的架構(gòu),怎么可能發(fā)揮應(yīng)用的完整性能呢?這個(gè)時(shí)候 Mesos 這個(gè)框架就是一個(gè)很好的參考。它提供了一個(gè)分布式的 Core 框架模型。秒殺的場(chǎng)景下,讓應(yīng)用做成無狀態(tài)的水平擴(kuò)展來支撐流量成為可能。
分布式框架下,程序的組織方式也會(huì)被迫使做一些改變,慢慢往微服務(wù)架構(gòu)方向轉(zhuǎn)變。所以,秒殺業(yè)務(wù)本身可以有很多種解決方法,但是你可以選擇Mesos 來構(gòu)建這個(gè)池化的環(huán)境,讓業(yè)務(wù)流量被支撐。當(dāng)然微服務(wù)的改造如果沒有 Docker 這個(gè)標(biāo)準(zhǔn)的隔離組件,業(yè)務(wù)上是需要做很多工作才能支持微服務(wù)環(huán)境的。用了 Docker 之后,同一臺(tái)機(jī)器是可以安裝多份實(shí)例的,這個(gè)好處就是應(yīng)用本身是一個(gè)單體模型的程序,通過 Docker 來動(dòng)態(tài)的創(chuàng)建多實(shí)例。多個(gè)實(shí)例設(shè)計(jì)成無狀態(tài),并且交互也通過 REST API 來限制接口,這個(gè)時(shí)候,這個(gè)微服務(wù)模型就出來了。當(dāng)然,秒殺系統(tǒng)包含了隊(duì)列、數(shù)據(jù)庫、過濾規(guī)則引擎等模塊,如何合理的解構(gòu)出微服務(wù)模塊又是另一個(gè)應(yīng)用開發(fā)的話題,這里不表??偟膩碚f,Mesos+Docker 的技術(shù)引進(jìn)確實(shí)給秒殺系統(tǒng)的資源利用率提高了,業(yè)務(wù)結(jié)構(gòu)也變得更模塊化。方便的開發(fā)模型和動(dòng)態(tài)的資源利用是對(duì)秒殺業(yè)務(wù)系統(tǒng)的最直接的好處。
生物算是一個(gè)典型的分布式計(jì)算的業(yè)務(wù)場(chǎng)景,生物云計(jì)算最大的需求是算法的計(jì)算,但是這個(gè)計(jì)算需要耗費(fèi)的資源是非常高的。如何把原有的老算法程序跑在分布式環(huán)境下是一個(gè)難題。為了匹配這個(gè)業(yè)務(wù)場(chǎng)景,發(fā)現(xiàn) Mesos 是一個(gè)可靠的集群方案。注意,生物公司的算法程序已經(jīng)有了,涉及算法的復(fù)雜性,遷移過程是需要時(shí)間的,但生物的業(yè)務(wù)不能等這個(gè)遷移過程,這個(gè)需要有一個(gè)隔離環(huán)境來解決。這個(gè)時(shí)候,Docker 的優(yōu)勢(shì)就發(fā)揮出來了。Docker 是能隔離的,所以,對(duì)于老程序,你用 Docker 是可以容器化的,并且直接就可以把老程序丟到機(jī)器上跑。天然的隔離性讓一臺(tái)機(jī)器可以跑多個(gè)算法實(shí)例,實(shí)現(xiàn)資源的高利用率。除此之外,生物公司還可以繼續(xù)用 Spark 等大數(shù)據(jù)技術(shù)實(shí)現(xiàn)老算法的遷移,在不影響業(yè)務(wù)的情況下,還能自主創(chuàng)新。一套集群既可以跑老業(yè)務(wù)算法,又可以跑新業(yè)務(wù)算法,做到業(yè)務(wù)不中斷情況下更新技術(shù)棧的效果。
對(duì)于教育行業(yè),Mesos+Docker 的用處主要是提供一個(gè)固定的資源池。然后通過 Docker 的隔離封裝,給學(xué)員提供可以重復(fù)練習(xí)的實(shí)驗(yàn) Lab環(huán)境。對(duì)于環(huán)境,其實(shí) Docker 起到的作用是至關(guān)重要的。如果學(xué)員需要 Linux 主機(jī),通過啟動(dòng)一個(gè) Docker 容器就可以提供 Linux 環(huán)境。但目前支持的類型比較有限,最好是單容器的環(huán)境支持是最好的。
精彩問答:微信群 |《運(yùn)維前線》
Q1:想學(xué)習(xí)Mesos,Docker,有沒有比較好的學(xué)習(xí)線路,謝謝
A1:先從 Docker 學(xué)起,然后根據(jù)需要在使用 Mesos 搭建你的業(yè)務(wù)平臺(tái)
Q2:Docker允許在CentOS6是否穩(wěn)定?
A2:Docker 已經(jīng)不做支持。
Q3:Docker 管理大規(guī)模訪問量的服務(wù)器存在什么不足?
A3:目前瓶頸就是多緯度的管理,這方面 Mesos 可以支持更好一點(diǎn)。
Q4:“有些地方它確實(shí)比Kubernetes重,但是它越來越易用”。能否請(qǐng)嘉賓談?wù)劦降啄姆矫姹容^重?如何在實(shí)戰(zhàn)中規(guī)避這些問題?謝謝
A4:Mesos 支持大數(shù)據(jù)和容器,肯定重。實(shí)戰(zhàn)中我們也是摸索中實(shí)踐來看看。畢竟已經(jīng)有很多企業(yè)案例可以參考了。
Q5:用Docker來部署Hadoop集群是否可行,會(huì)不會(huì)因?yàn)槭侨萜魈兹萜鞫绊懶阅??目前在下正在研究將Hadoop集成到Docker容器中,這樣在離線環(huán)境可以快速部署Hadoop集群(我們現(xiàn)有業(yè)務(wù),需要部署很多這樣的集群,除了Docker有沒有其他的方式?)。
A5:可以做到快速部署 Hadoop,需要PaaS 層做調(diào)度。
Q6:Mesos+Docker 最近經(jīng)常踩的坑是啥?能稍微說下讓大家少走彎路
A6:目前最常見的問題就是系統(tǒng)兼容性,dm/aufs,但這些問題都是 Docker 本來就有的,我們通過實(shí)踐已經(jīng)取得很好的收益。
微信群 | 云實(shí)名
Q1:微軟的兩種容器(Windows Server Container、Hyper-V Container),對(duì)Docker有什么影響?
A1:我理解微軟的容器技術(shù)是和 Docker 公司合作一起推廣的,其實(shí)是助推了 Docker 的商業(yè)版圖。
Q2:容器是不是打破了運(yùn)行庫的共享性,原來在一臺(tái)電腦上安裝一套運(yùn)行庫就可以了,現(xiàn)在每個(gè)容器里都要安裝多帶帶的運(yùn)行庫了。我的理解對(duì)嗎?
A2:不需要,它可以復(fù)用運(yùn)行庫,因?yàn)?image layter 是分層的。
Q3:剛才PPT里說到了Docker的網(wǎng)絡(luò)環(huán)境需要解決方案,例如多個(gè)主機(jī)上的容器的互聯(lián),我知道Kubernetes是要借助Flannel或者Ovs的,不知道Mesos是怎么做的
A3:Mesos 也可以用 Flannel or Ovs,不過 Mesos 社區(qū)正在推 Calico。我這里使用Weave
Q4:Docker容器的隔離最大或者最深能到什么程度?
A4: Docker 1.10已經(jīng)可以完整隔離Kernel Namespace 層的資源。可以大膽使用 Docker 了。
Q5:我感覺好像除了共用一個(gè)內(nèi)核,其他都隔離了。不知道對(duì)不對(duì)
A5:現(xiàn)在真的可以這么理解了 Docker Rocks
Q6:如果我備份整個(gè)系統(tǒng)的話,Docker會(huì)被保護(hù)嗎?換句話說,Docker有哪些是常駐內(nèi)存的,有哪些是寫磁盤的?
A6:Docker 容器是一個(gè)進(jìn)程,所以都是寫到磁盤的。
QQ群
Q1:Docker 跟Openstack本質(zhì)區(qū)別是什么,有管理平臺(tái)么
A1:按照之前的發(fā)展之路,你會(huì)發(fā)現(xiàn),Docker 和 Openstack 是融合的。對(duì)于 Docker 的管理平臺(tái),目前 Docker 官方有 Docker Datacenter 版本提供管理
Q2:數(shù)人云在Mesos/Docker的商業(yè)支持上主要有什么看點(diǎn),或者說選擇數(shù)人云的理由是什么
A2:目前我們支持:
1) 自動(dòng)彈性伸縮--最大化提高資源利用率
2) 支持高并發(fā)--適用于企業(yè)大規(guī)模生產(chǎn)環(huán)境,實(shí)現(xiàn)百萬并發(fā)
3) OpenAPI--快速接入第三方服務(wù)無縫交互
Q3:如何看待Docker前段時(shí)間推出的Datacenter組件的定位呢?
A3:Datacenter 是 Docker 商業(yè)化的一次嘗試,目前來看,反應(yīng)非常好。Docker 公司也需要盈利。
Q4:Mesos集群中的網(wǎng)絡(luò)互連是怎么實(shí)現(xiàn)的?
A4:目前 Mesos 社區(qū)對(duì)網(wǎng)絡(luò)主要推薦試用 Calico,但 Docker 的 Weave也推薦你使用
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26560.html
摘要:分享實(shí)錄云計(jì)算技術(shù)源于互聯(lián)網(wǎng)公司,現(xiàn)在云計(jì)算已經(jīng)是下一代企業(yè)級(jí)的發(fā)展趨勢(shì)。如何做云計(jì)算一直是云計(jì)算技術(shù)的領(lǐng)導(dǎo)者?;ヂ?lián)網(wǎng)公司的快速發(fā)展,已經(jīng)印證了云計(jì)算技術(shù)和云原生應(yīng)用相比傳統(tǒng)構(gòu)架的巨大優(yōu)勢(shì)。 今天小數(shù)又給大家?guī)硪黄韶洕M滿的分享——來自KVM社區(qū)線上群分享的實(shí)錄,分享嘉賓是數(shù)人云CEO王璞,題目是《云計(jì)算與 Cloud Native》。這是數(shù)人云在KVM社區(qū)群分享的第一彈,之后還有數(shù)...
摘要:年肖德時(shí)先生加入,擔(dān)任內(nèi)部工作組。老肖語錄是肖德時(shí)先生推出的個(gè)人公眾號(hào)欄目,他利用這個(gè)公眾號(hào)記錄自己創(chuàng)業(yè)路上的點(diǎn)點(diǎn)滴滴,不時(shí)會(huì)有精彩的技術(shù)感悟與分享,歡迎大家關(guān)注。 我今天看到一篇網(wǎng)友分享的 php 環(huán)境下的Docker持續(xù)集成案例。筆者大膽的試用后嘗到了容器技術(shù)的甜頭,也在文中提出了一個(gè)沒有解決的困惑。 原來他是把代碼放在容器外面,通過掛載目錄的方法把代碼加到容器里面運(yùn)行的。這樣雖然...
摘要:基本可以代表從容器進(jìn)入企業(yè)應(yīng)用到如今大量落地有了更深入的了解。這次大會(huì)在這個(gè)背景下邀請(qǐng)了海內(nèi)外的容器技術(shù)專家前來探討學(xué)習(xí),如果大家是全程參與和學(xué)習(xí)的,肯定會(huì)滿載而歸。 一輪秋影轉(zhuǎn)金波,又是一年一度的中秋佳節(jié),在這大吃月餅的美好日子里,小數(shù)祝大家中秋快樂! 大家是否對(duì)剛剛結(jié)束的CNUTCon2016意猶未盡呢?數(shù)人云CTO肖德時(shí)將他全程參會(huì)的體驗(yàn)與感想整理成文,作為中秋禮物,為大家奉上...
摘要:月日數(shù)人云在上海舉辦金融沙龍,邀請(qǐng)上交所和近二十家來自銀行保險(xiǎn)證券的技術(shù)專家一同探討容器技術(shù)在金融業(yè)中的最佳實(shí)踐。數(shù)人云肖德時(shí)在會(huì)上將傳統(tǒng)金融行業(yè)通過容器可以解決的四大問題做了逐一解讀。如何動(dòng)態(tài)的分配,就是剛才上交所介紹的一些治理的方法。 7月29日數(shù)人云在上海舉辦金融沙龍,邀請(qǐng)上交所和近二十家來自銀行、保險(xiǎn)、證券的IT技術(shù)專家一同探討容器技術(shù)在金融業(yè)中的最佳實(shí)踐。數(shù)人云CTO肖德時(shí)在...
摘要:馬拉松會(huì)匹配每個(gè)和提供的資源,然后通過將任務(wù)下發(fā)下去。對(duì)外暴露的就是負(fù)載均衡的某個(gè)服務(wù),后面自動(dòng)將流量轉(zhuǎn)發(fā)到某個(gè)容器的端口上。還有一直辦法是用內(nèi)網(wǎng)的,這個(gè)會(huì)維護(hù)現(xiàn)有的容器列表端口,并且返回任意一個(gè)的端口,頁實(shí)現(xiàn)了負(fù)載均衡和服務(wù)發(fā)現(xiàn)功能。 演講嘉賓 數(shù)人云COO 謝樂冰 在德國(guó)工作十年,回國(guó)后加入惠普電信運(yùn)營(yíng)商部門,擁有多年項(xiàng)目經(jīng)驗(yàn)和創(chuàng)業(yè)公司工作經(jīng)驗(yàn)。在數(shù)人云負(fù)責(zé)產(chǎn)品售前和運(yùn)營(yíng),專注行...
閱讀 1259·2021-11-11 16:54
閱讀 1780·2021-10-13 09:40
閱讀 976·2021-10-08 10:05
閱讀 3536·2021-09-22 15:50
閱讀 3741·2021-09-22 15:41
閱讀 1892·2021-09-22 15:08
閱讀 2376·2021-09-07 10:24
閱讀 3603·2019-08-30 12:52