思源基于Docker和OpenStack的私有云平台实践
思源基于Docker和OpenStack的私有云平台实践
2016-01-19 10:35:33 来源:36大数据
抢沙发
2016-01-19 10:35:33 来源:36大数据
摘要:本次分享从以下三方面进行:使用Docker对OpenStack平台压力测试实践、使用Docker加速Sahara-Hadoop、Docker在 Nova项目的使用和实践。
关键词:
Docker
OpenStack
3. Docker 加速 Sahara
Sahara是OpenStack中 “大数据即服务”的项目,支持Hadoop、Spark、CDH 5.x等。通过Heat编排可以使用KVM或者Docker作为计算资源。我们测试使用了Hadoop的服务,通过运行KVM和Docker的测试,Docker在启动速度、资源利用率、以及性能开销上具有优势,我这里简单罗列一下测试对比。
基本测试环境:
服务器:2台 24Core 128G memory
hadoop: 1.2
job:*streaming MapperReduce
集群规模10
KVM测试数据
Docker测试数据
说明:
不同的配置参数,不同的MapReduce程序,Hadoop计算的时间都不相同,这里只是给出在相同环境下Docker和KVM建的差别。
Docker的测试数据是在Container内部的。
4. Docker Nova项目
这个是大家争议最大的项目,不过对于我们平台来说,服务云化这是第一步。需要其他开发团队逐步熟悉面向容器的开发以及我们对Docker本身逐步的摸索,才敢真正把环境切换到Kubernetes/Mesos上来,进而推进Magnum。借用京东鲍永成的那句话:”让能够接受新世界的团队慢慢先适应“。
通过Nova API调度Nova Compute生产 Nova instance,而Nova instance的类型由具体配置的hypervisor Driver来决定,这里我们设置Docker作为Driver就可以让Nova Compute节点生产Docker。Nova Docker项目来自于社区,我们结合社区代码进行了一定量的修改,并且在镜像定制,具体使用上有一些自己不同的方式。
承载业务方面:
Nova Docker这块目前最主要的是Tomcat的服务,Docker用于搭建java tomcat运行环境 dockerfile中将jdk和tomcat安装好,之后Docker启动后通过ansible-playbook 个性化修改Tomcat配置,推送war包至远程容器.
镜像方面:
引入Supervisor作为进程管理器。
设计了3层的镜像管理格式,最底层为最小化系统,中间层引入了公司yun源,入侵检测设置、ssh/pam等安全设置。 上层可以最小化的实现APP的环境版本管理。支持了Tomcat/Cloudinit/Hadoop的完全或者初步测试使用。
设计了Docker的hostname、dns、网卡名称每次都重置的问题,提供固化机制。
Container实现了支持类似于物理机的FirstBoot和init机制。
Glance管理Docker镜像和Docker快照镜像。
计算方面:
支持Compute节点配置的超分,Docker节点能够超分相对KVM更多的CPU/MEM等资源。
Nova配置文件设置cpushare、cpuset、cpumix三种cpu的管理模式,可以针对不同模式的Container环境来设置CPU模式。
nova 配置为主机预留CPU,保证Container不会侵占预留资源。
上层镜像开机随机生成用户UID,避免映射到宿主机相同的UID。
NOVA 配置不同的Docker API版本。
快照、快照恢复、迁移等基本实现。
支持通过flavor配置元数据,生成一组类似于Kubernetes 的pod。
存储:
使用Direct LVM代替 Docker默认loop模式,增强稳定性。
初步支持了Container挂卷的Feature。
依据不同的OpenStack Aggregate 设置不同的Contianer存储空间。
网络:
Docker使用OpenStack的网络组建Neutron网络提供Vlan服务。
Docker配置ovs直连和混在模式。
Docker支持安全组的添加、删除、查询、更新等操作。
Switch APR Proxy 老化时间过问题,开机发送free arp。
虚拟网卡TSO的自动关闭。
解决Docker的hostname、dns、网卡名称每次都重置的问题,提供固化机制。
网络限流。
第四十一届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:pingxiaoli
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。