OpenStack將提供對Docker的支援
Docker 簡介
- 自動化打包和部署任何應用
- 建立一個輕量級私有PaaS雲
- 搭建開發測試環境
- 部署可擴充套件的Web應用
Docker 發展迅速, 它的貢獻者PaaS雲提供商 https://dotcloud.com 2014年1月份獲得了B輪1500萬美元融資,Docker社群(https://www.docker.io/)也比較活躍,Docker中文社群(http://www.dockboard.org/)最近也在國內多個城市相繼成功舉行Docker meet up。關於docker更多詳細介紹詳見 http://www.openstack.cn/p828.html
Docker與Nova整合
在OpenStack Havana版本中,Docker透過在Nova中以driver的形式與OpenStack的整合,這種實現把Docker容器當作虛擬機器來使用。程式碼連結為 https://github.com/openstack/nova/tree/stable/havana/nova/virt/docker
但在香港OpenStack設計峰會上決定從Nova專案移出Docker driver,放入StackForge專案開發。Openstack的每個專案起初都在StackForge 培育,然後申請進入Incubated專案,考察期滿且透過技術委員會投票正式成為Openstack整合專案。OpenStack 專案中Docker driver的主要維護者給出的解釋是:“關於這個driver我們已經收到積極的反饋,缺少與Cinder、Neutron的整合是我們面臨的障礙,在 StackForge中,允許我們快速迭代開發,持續整合新功能,以便在OpenStack Juno 版本中重新引入” 所以從Icehouse版本開始,Docker driver 程式碼樹為https://github.com/stackforge/nova-docker
下面是Nova Docker driver 與OpenStack整合流程圖。
Nova Docker driver 嵌入一個微小的HTTP 客戶端 與 Docker內部REST API 通訊,使用HTTP API 來控制Docker容器與獲得容器資訊。透過配置Glance,Docker 就能從Glance獲得跟上傳映象。關於Docker與Nova整合詳細配置方法,請詳見https://wiki.openstack.org/wiki/Docker
Docker與Heat整合
在OpenStack中,社群更傾向於使 用Heat來協調使用Docker,而不是在Nova中把它當作一種hypervisor 使用。 Nova Docker driver這種方式有些缺點,例如,標準的API 擴充套件使用虛擬機器特有的功能,但這些功能對於Docker並不適用,而且把Docker當作虛擬機器來使用,Nova很難利用Docker有用的功能,例如連線容器(主要指Docker容器間通訊),基於以上的原因,Heat是更好的選項。
Heat在OpenStack 中提供資源協調功能,與AWS 的 CloudFormation 相容,允許使用者上傳描述資源的模版。使用Heat的外掛機制,使用者可以基於傳統OpenStack部署方式部署跟管理Docker容器。Heat 外掛已經被OpenStack 社群接受,將包含在Icehouse版本中。程式碼連結為https://github.com/openstack/heat/tree/master/contrib/docker
下面的例子顯示如何使用Heat來協調使用Docker
description: Single compute instance running cirros in a Docker container. resources: my_instance: type: OS::Nova::Server properties: key_name: ewindisch_key image: ubuntu-precise flavor: m1.large user_data: #include https://get.docker.io my_docker_container: type: DockerInc::Docker::Container docker_endpoint: { get_attr: [my_instance, first_address] } image: cirros
在上面的例子裡,我們只需要新增更多類似”my_docker_container“的片段,就可以建立多個容器並把它們連線起來,它們將不受限於OpenStack API,可以充分利用Docker Remote API。
結束語
Docker相對於虛擬機器由較高的資源利用率,可以秒級部署, 跨平臺打包部署應用。在眾多PaaS平臺產品中發展迅速,獲得社群認可與支援,與多個知名專案合作整合。 而與Heat專案的整合,為打通IaaS,PaaS 平臺提供了很好的途徑。期待Docker在OpenStack Juno版本中與OpenStack Heat專案的更好整合。
作者:@郭長波, EasyStack工程師
相關文章
- Spring框架5.1將提供對Java 11的支援Spring框架Java
- OpenStack整合DockerDocker
- RestFaces提供了對JSF的書籤支援RESTJS
- 對於OpenStack ,Docker1.0意味著什麼?Docker
- Google Chrome 將增加對 HTTP Exchanges 的支援GoChromeHTTP
- Chrome 將延長對 Windows 7 的支援ChromeWindows
- Openstack的Heat服務api支援HTTPSAPIHTTP
- Mozilla 的 Firefox Nightly 不再對 TLS 1.0/1.1 提供支援FirefoxTLS
- 客戶管理系統對小企業提供的五點支援
- 最新Linux核心將提供Infiniband架構全面支援(轉)Linux架構
- Kubernetes 1.24 將結束對 dockershim 的支援Docker
- OpenStack Cinder元件支援的塊儲存裝置表元件
- 提供程式不支援 DatabaseExistsDatabase
- 微軟將對Win10創造者更新PC版將加入對CellularSetting CSP的支援微軟Win10
- OpenStack JUNO版本釋出——支援Spark和NFVSpark
- OpenStack學習系列之十二:安裝ceph並對接OpenStack
- Docker映象、Spark支援多表...Apache SeaTunnel 2.3.8版本將帶來的驚喜DockerSparkApache
- Mozilla Firefox和Google Chrome即將放棄對FTP的支援FirefoxGoChromeFTP
- 和舊版Edge瀏覽器說再見!微軟將不再提供技術支援瀏覽器微軟
- 16.10.21Docker最新動態 VMware舉白旗:vSphere、vRealize、VSAN都將支援DockerDockerVR
- 微軟將在資料庫軟體中增加對java的支援 (轉)微軟資料庫Java
- Frp內網穿透搭建,家庭主機對外提供介面,支援ssh訪問FRP內網穿透
- jQuery對Ajax的支援jQuery
- TeXmacs對中文的支援Mac
- 為 Java EE 應用提供的 9 種 Docker 方法JavaDocker
- Smaug成OpenStack社群官方專案,提供資料保護介面標準
- 【docker專欄4】使用docker安裝nginx提供web服務DockerNginxWeb
- 微軟即將停對Windows 7 服務已不再提供驅動簽名微軟Windows
- 擁抱開源,浪潮將OpenStack之路踐行到底!
- 為Deepfake檢測研究提供資料支援
- PHP提供Oracle支援增加oci8模組PHPOracle
- 為語音標註提供資料支援
- Docker(33)- 如何修改 docker 容器的埠對映Docker
- 淺談Docker的安全性支援(上篇)Docker
- 淺談Docker的安全性支援(下篇)Docker
- Java 8 終於支援 Docker!JavaDocker
- Spring 對JDBC的支援SpringJDBC
- Spring 對Ajax的支援Spring