设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

2015开篇Docker Meetup:从技术概念到商业实践

2015-1-19 11:04| 发布者: joejoe0332| 查看: 3466| 评论: 0|原作者: 周小璐|来自: CSDN

摘要: 1月18日,2015国内首次Docker Meetup走进UCloud总部,邀请到了联科集团联席合伙人吴秉宗、Linux内核专家万林涛、Cisco高级工程师杨章显、UCloud高级技术专家罗成对等Docker领域的技术大牛,为大家带来Docker与Joyent ...

  自2013年3月20日Docker出现在开发者眼前,到现在不到两年时间。“Docker已经从一个伟大的idea变为一项伟大的技术,而且从一项伟大的技术转变为一个伟大的生态系统,甚至正在从一个伟大的生态系统转变为一项伟大的运动。”犹记得在2013年的Docker峰会上,开发者们还在讨论Docker是什么;而到了2014年的阿姆斯特丹峰会,与会者已经在分享它的实施案例了。


  然而,Docker的商业化前景却一直受到不少业内人士的诟病。从技术概念,到产品研发再到商业实践,Docker能否顺利跨越这几道门槛呢?


  1月18日,2015国内首次Docker Meetup走进UCloud总部,邀请到了联科集团联席合伙人吴秉宗、Linux内核专家万林涛、Cisco高级工程师杨章显、UCloud高级技术专家罗成对等Docker领域的技术大牛,为大家带来Docker与Joyent的融合、Docker在P2P互联网金融应用实施、Kubernetes系统架构介绍、Docker与数据库应用等与商业实践密切相关的Docker话题。他们的分享能让我们对这一问题有更新的认识。


应用程序容器Docker与基础设施容器Joyent SmartMachines的融合


  首先,联科集团的联席合伙人吴秉宗,作为Joyent在大中华地区的代表,分享了“应用程序容器与基础设施容器的融合”的最新情况,优势及JoyentSmart Cloud Technology高性能云技术的主要概念。

  Joyent是美国三大公有云提供商之一,这也是一家“任性”的公司,曾经把Twitter这个大客户“请”出了自己的平台,原因就是Twitter提供的服务不稳定,而且拒不接受改进建议,Joyent认为这会影响其服务质量的声誉。

  目前,Joyent对Docker的支持是基于KVM的,未来会提供基于SmartOS的Docker服务。Joyent的SmartOS基于illumos,而illumos是SUN被Oracle收购后,OpenSolaris分裂出来的版本。Joyent希望SmartOS成为Docker的最佳运行场所。吴秉宗介绍并举例说明了Docker+SmartOS的以下三个优势:

  • 高可扩展性——垂直扩展;
  • 无重启地扩展存储及内存RAM;
  • 卓越性能,利用ARC缓存成就优越的磁盘I/O


DockerDevops流程中的使用


  点融网运维技术主管万林涛,以点融P2P互联网金融应用为例,介绍Docker在点融网Devops流程中的重要作用。着重讲解Docker对简化开发环境配置、应用快速部署、生产环境弹性运维的实战细节。

  目前点融网在开发、测试整个生产流程都在使用Docker,为什么选择Docker?基于以下几个诉求:

  • 希望能充分利用硬件资源的能力;
  • 希望能简化配置,一次配置,多处复用;
  • 希望能按需部署,点融网属于互联网金融行业应用,对应用的弹性有较高要求;
  • 互联网金融行业对安全有较高的要求,希望能够基于一个安全的环境。

  而Docker性能较高,容易上手,在后续还有助于将P2P服务SaaS化。


Docker在点融的使用情况


  点融网除去防火墙、Load Blance和数据库外,都已经实现了Docker化。因为Load Blance不需要经常重复配置和动态管理。



  在CI流程中,点融网是这样使用Docker的:Git做管理代码,Jenkins做编译,Docker将代码打包成image文件,最后交付给Runtime环境运行。


谈到Docker在生产环境中是不是Ready的问题,万林涛的回答是肯定的:

  • 首先,Docker架构简单,已经达到了比较稳定的状态;
  • 在Docker1.2之后,添加了Monitor的角色,可以随时监测进程;
  • Docker的沙盒机制,也为安全性提供了保证;
  • Docker还提供了完整的API和library,能够很简单地去集成和开发应用。


Docker的经验

  • Docker默认的存储是Loop Device的方式,万林涛推荐把Volum直接放在disk上,可以突破性能和存储量大小的限制;
  • 推荐通过环境变量来实现配置,可以简化后续的配置变更;
  • 注意精简Docke images,可以节省很多不必要的资源消耗;


Docker的问题

  • 每次Docker更新时服务都会中断,不能无中断更新。好消息是这个issue已经被提交给Docker的CEO,坏消息是早就提交了,但一直没被解决;
  • 权限控制的粒度太大,当普通用户被加入到一组group中时,就会具备所有的权限,这样的设计对不够安全。点融目前的做法是host OS对普通用户不开放;
  • User Mapping:UID实际在host上并不存在,日志等无法记录;
  • 官方的Image镜像不太稳定,万林涛在这里推荐了几个国内的镜像服务:DaoCloud.iodocker.cndockerpool.com
  • 网络虚拟化和Docker的结合做得还不够好;




Kubernetes系统架构介绍


  Cisco高级工程师杨章显,首先介绍了Kubernetes的基本信息,Kubernetes是Google开源的容器集群管理工具,具有轻量、简单、适用度广、可扩展和自我修复等特点。

  Kubernetes中有几个核心概念,理解了它们就能大概理解Kubernetes的核心架构:


Kubernetes的架构

  • Pod:Docker容器的集合,可以通过Kubernetes创建、调度、管理;
  • BoundPod:运行在主机上的容器集合;
  • ReplicationController:Pod的集合,Replicas副本,确保任何时候指定数量Pod在运行,管理Pod的生命周期;
  • Services:一系列Pod的单一访问portal,服务IP,服务端口,负载均衡器;
  • Labels/Selector:键值对,用于管理和选择一组对象;

  杨章显在这几个概念的基础上介绍了Kubernetes的系统架构,Kubernetes由哪些组件构成,各个组件的主要功能以及各个组件之间如何通信、协同工作。


Docker与数据库的应用结合


  UCloud高级技术专家罗成对,带来的演讲内容是Docker与数据库的应用结合。早在2013年,UCloud就开始践行Docker。针对UCloud自身业务的快速增长和业务数据的暴涨,UDB产品本身具备高可用、高扩展性,所以内部业务将Docker化的UDB作为首选。按需申请、极速部署非常完美得解决了业务带来的存储压力。目前UDB集群运行稳定,内部有几千个docker容器提供数据服务和网络服务,完美地支撑公司云平台,支持众多产品线。

  罗成对最后分享了实践中一些宝贵经验以及Docker的优缺点,笔者认为很有借鉴意义:


经验

  • Image方面:保证来源干净可靠(推荐官网),并不是被引用越多的镜像越可靠;利用Dockerfile安装必要工具;要有合理的版本维护;
  • 操作系统:内核版本和Docker要适配;cgroups挂载点;最大文件数,限制DB的连接数等等;
  • 数据卷持久化数据:设置合理的读写权限;

  安全性是很多人一直关注的问题,罗成对认为Docker已经提供了足够好的安全特性,如果对安全要求极高,还可以从以下几个方面进行进一步改进:

  • 网络设置:自定义网桥,限制docker0;内网隔离;禁止暴露端口;配置DNS等;
  • 安全加强:启用SELinux/GRSEC,启用能力机制,注意某些超级权限;
  • DockerDaemon防护:禁止宿主机根目录映射,禁止滥用root权限。


Docker的问题及应对措施

罗成对主要介绍了以下几个问题及应对措施:

  1. Service异常:出现停服、自动重启(概率极低)的问题,造成container存活状态存在不确定性,应对措施是实时监控dockerservice;
  2. 数据卷读写异常:rw变ro(小概率事件),造成映射目录无法写入,应对措施是重启container;
  3. Docker版本升级异常:向下不兼容,造成已存images消失,这种情况只能预防,保持存量机器不升级;
  4. Dockercgroup异常,会造成资源使用超配额,导致OOM,应对措施是实时监控资源使用率。


  本次Docker Meetup,笔者最大的感受就是大家已经都在实践中使用Docker,分享的内容越来越实际了,相信2015年我们会看到国内更多的实践应用,也会有更多相关的初创企业涌现出来,2015年会是Docker在国内真正落地的一年!


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部