天云软件技术沙龙,带你近距离了解Docker等容器技术!

在数据爆炸的今天,企业对互联网应用的要求一方面是速度,要求可以快速迭代,适应市场需求变化;另一方面是稳定性,在面对用户量不断增长以及软件应用不断更新的情况下,可以依然保持业务持续不中断。这也是云计算发展的一个方向,用户可以不必自己部署、安装基层应用,因为可以直接交给云平台实现。而在这方面,Docker是一个尤其典型的应用!关于Docker等容器技术,你究竟了解多少?其使用场景都有哪些呢?9月24日,由DockOne社区和天云软件联合主办的容器技术沙龙在北京IC咖啡举办,由各位技术大咖带你近距离了解Docker!

作为一个标准的中间件,Docker相当于云计算的“集装箱”,承载着后端的各种技术,并且可以保障多个技术同时运行的速度。技术人员只需关注将自己开发好的代码、技术放在Docker镜像里面,而运维人员也只需关注让这种标准化的Docker在平台上运行起来即可。

首先,中国电信云计算公司研发工程师张其栋给大家带来“中国电信基于Mesos+Docker的运维自动化在CDN中的实践”的主题演讲。

张其栋首先表示,使用Mesos+Docker的大背景是中国电信云公司的CDN架构。之所以采用这样的架构,是因为后期的业务范围比较大,用户比较广,后期的设备量会达到几万台,如果用传统的思路进行运维,对于运维的压力太大。

张其栋认为容器技术有自动化部署、持续集成、敏捷开发和提高开发效率、弹性调度、资源复用等优势。他表示,中国电信在选择了Docker之后,首先是实现业务软件的容器化。比如直播转码业务软件实现容器化。在实现了业务容器化之后,就需要选择编排软件。中国电信最终选择的是Apache的Mesos。另外,他给出了选择Mesos的如下几个原因:一是相对比较成熟;二是数据分析相关软件跟Mesos结合起来更容易。

当然在Docker落地过程中也遇到了一些问题,张其栋表示中国电信在落地Docker的过程中确实也遇到过一些坑,当然他也给出了自己的解决建议:

1、Docker默认共享内存太小,普通权限无法更改。我们给了最高权限。现在新版本Docker已经支持更改共享内存了,在测试环境里可以用新命令去更改。后期会把最高权限去掉,使用命令行进行共享内存的更改。

2、Docker最高权限会把容器107G存储给写满,写满之后,再生成一个容器可以成功,但是运行不起来。有两个方法,一个是更改107G存储,变成2T或者4T的大硬盘,不能从根源上解决问题。还有一个办法,从业务软件上避免这个问题,把日志尽量往小写,另外把日志映射出来。

3、直播转码和切片无法获取CP方给的组播流。解决方案是给容器HOST模式,性能上没有损失,但用网络比较多。

4、修改防火墙后,Docker网络环境不通。修改防火墙后重启防火墙,之前运行起来的镜像,再次运行时网络是不通的。现在的解决方案是规避它,在使用镜像的时候,先把防火墙所有的配置参数调好,不要重启防火墙。

北京天云融创软件技术有限公司研发总监刘春阳主要负责公司容器化以及平台化产品的规划和设计。他给大家带来主题为“企业应用容器化的痛点、坑和解决之道”的演讲。主要分享了针对企业级的平台性的产品设计过程当中,可能会面临什么样的需求,面临什么样的问题,包括天云软件本身所采取的一些技术选型。

他认为,在电信领域,Docker有着自己的特殊性。首先电信行业里面有运营商企业,然后是应用提供商,然后是资源提供商,这三个是分离的。管理方对于资源提供方,应用提供方都有要求,因此要求业务要能敏捷,要能快,尽快适应他们的需求。其次是业务要稳定;最后是高效率。而容器技术给以上三方带来了改变,利用容器,可以利用行程中的程序逻辑,可以用标准的协议交付第三方,使彼此之间角色没有重叠现象资源提供者可以无差别的对待资源。其次,利用容器技术,可以在Docker放货柜混合编排,混合部署,促进平台的统一性。另外,通过利用标准化的容器技术,促进研发流程的自动化和应用模式化。

刘春阳认为,容器现在面临的挑战主要有以下两个:

1、标准不统一。至少目前来说,容器的标准相对统一,但是容器平台管理的标准至少有三家在,标准不统一,导致大家在使用过程当中,技术选型的时候会有挑战。

2、容器的技术涉及到资源,涉及到应用内部,所以它具有一定的轻量性,不是交付虚机就可以。因此容器要解决个问题,否则就没有办法做模式化,而不做模式化的话,平台的很多东西都无法构建。

当当网个性化推荐组项目负责人肖骁主要为大家分享了关于当当网个性化推荐组应用Docker进行应用部署以及小团队试水Docker的的若干经验,分享主要包括:现有应用Docker化的过程和结合Jenkins的自动化构建。他的演讲主题是 “当当网Docker应用实践”。

肖骁告诉我们,要是把程序放在容器里,程序至少是无状态的,不能依赖于宿主机的一切环境和目录等。Docker以后,代码流水线管理,提高开发效率。

而用Docker把现有的程序Docker化,需要注意哪些东西呢?

1、镜像构建。一定要从Dockerfile生成,如果不从Dockerfile生成,以后更新、回滚是很麻烦的。

2、避免依赖过深。不要在基础镜像上加太多产生其他的镜像,最多是三四层。一层是base镜像,再往上是工具,再往上一层就是自己的程序,再多就比较乱。

3、发布。使用Docker可以用很标准的过程做上线、回滚或者是升级。

4、日志管理。如果把日志放在容器里,容器销毁了,日志就没有了。要把日志实时保留,有一种办法是把日志放在宿主机,完全不依赖宿主机的任何环境。肖骁建议放一些日志收集等。

5、环境变量。指定里面的环境变量,应用再去环境变量。这是Docker启动的时候用这个,如果上集群的话,这个稍微麻烦一点。

6、配置中心。用数据库,把配置放在里面都可以。用Docker的话,在里面改配置文件,再启动的时候,配置文件就没有了,有个简单的方法就是配置文件,给每一个版本配置文件都打一个容器。

7、网络管理。 现在主要是用Host,网络性能最好用Bridge,现在如果用自定义的话,可以建多个像Docker0这样的网络,可以为容器之间连接和隔离。

他说,如果自己团队想用Docker的话,运行环境、内核版本、操作系统的发行版本,这些都是有要求的。

1、镜像载荷要求。一个现有的比较成熟的架构应用,要放到Docker里要考虑是不是依赖宿主机的环境,包括本地的IP和本地目录等。

2、数据中心过大。 数据中心过大时采用折中的方法,先往上扔一个空数据,后台第一次启动的时候,如果容器里面没有数据的话,自己就下了,这可能也是一个折中的办法。

3、镜像管理、版本控制。如果提交一个镜像,包括版本号等,必须要有比较严格的规定,格式和定义必须要仔细规定一下,要不然就会乱。

相信不少人都想知道,在异构技术栈、5种语言、500+个微服务(包括Task)、网状调用关系状况下,如何做到一键构建测试环境,并同时支持50个Feature独立测试却互不影响? 折800的架构师刘凯以 “用Docker&K8s构建自动化测试环境”为主题的演讲为大家做了妙答:用Docker + Kubernetes实现一键构建测试环境。按需拉起容器,按需部署,按照关联计算,拉起关联的服务。

但是,在使用Docker + Kubernetes过程中需要解决如下问题:

1、变异构为同质。不同的语言部署方式是不一样的, 必须用一个方式,代码上传的时候,自带环境、版本和库。那么用什么样的部署方式把异构的语言变成同步呢? 提供一个统一的接口可以构建、传输、部署。

2、配置管理。要自动化部署,一键拉起几百个服务和几十个服务,要知道相互的关系,要连什么服务,要怎么配置,必须做到自动化配置。要加一个存储,要加一个ES,必须在ES上建索引等。

3、服务管理。如何做服务注册、服务发现、如何做负载均衡。不同类型的服务,启动以后,位置是不一样的,HTDP服务要对外挂IP,要注册到外面的负载均衡里面,应用层面的服务是不需要这样做的。

4、监控。如果测试时,测不通,报告异常、超时,必须能在竖状结构里面知道哪个节点报错,如果从最前端一层一层向下排查,将会非常耗时。失败了用红点标出来,然后告诉失败原因是什么。请求发不过去,是什么原因,图形数据怎么来?采用更加激进的做法:整个测试环境,把所有包抓下来,知道源IP以及调度内容是成功还是失败,从而分析所有容器节点的调度关系是成功还是失败,这些数据配合服务依赖关系,完全可以把数据贯到监控数据上,这样一来就知道哪个节点进来了,有什么错,有多长时间。

5、兼容性。Docker化以后,怎么把之前没有Docker化的服务和流程融入到里面,Docker研发流程要做相应的改造。接口和数据库要兼容。

6、编排部署。上线、开发时先更新哪个服务,再更新哪个服务,加一个配置,然后改数据库等等。这么复杂的事情,如果没有合理的编排是很难做到自动化的。用DAG的方式去描述部署计划,通过拖拽的方式表达要干什么。

7、隔离。一键拉起测试环境同时还要做到按需拉取,要对服务之间的调度关系做隔离。在隔离区里面,每个来源IP不一样,第一个隔离区的来源IP,把请求转到相应的隔离区里面。

8、依赖关系。服务之间调度链很深,如果不对调度链关系进行管理,很难知道被拉起的是什么服务。向上找依赖分析,把依赖的服务一起部署。把500个服务的依赖关系都清算出来,放在一个服务库里面,能看到相互依赖关系。

9、统一命名。看起来没有技术含量,但是在做自动化部署和自动化测试时是非常关键的。

本文作者:谭盼雨

来源:51CTO

时间: 2024-10-21 08:56:35

天云软件技术沙龙,带你近距离了解Docker等容器技术!的相关文章

专访阿里云易立:从实践积累到需求沉淀,容器技术必将引领主流

2017杭州云栖大会详情请戳这里! 容器技术是目前云计算领域最受关注的方向之一.阿里云在2015年底推出了容器服务,之后在2016年云栖大会上宣布和Docker建立合作关系,今年阿里云和Docker公司的合作全面开花结果.易立作为阿里云资深技术专家,目前在阿里云负责云应用服务,并主要关注容器技术.开发者工具和开源生态领域的产品和技术.随着容器.集群调度.微服务等开源技术的发展,在本次访谈中,易立详细介绍了阿里云在容器技术和Cloud Native生态建设上思考与探索. 阿里云资深技术专家易立 容

【阿里在线技术峰会】易立:从Docker到容器服务 ——Docker 云端实践之路

本文主要从Docker的编排技术,Docker在一个大规模生产环境中的使用开始切入,围绕Docker应用的深化,像谷歌,AWS,阿里云都推出了这样的容器服务,分享并分析了新的概念--Container as a Service,着重讲解了微服务支持和DevOps,并谈及了容器服务解决了哪些问题,最后介绍了Docker的最新发展趋势. 直播视频:点此进入 PDF下载:点此进入 以下为整理内容: Docker编排技术 大家都已经了解了Docker是什么样的技术,Docker是标准化的构建.交付.运维

Docker和容器技术很火,却未能入CIO法眼

不足半数世界500强CIO受访者称其公司正在采用容器技术,表明该项技术并未能在大型企业中大展拳脚,那么为什么更多的IT高管没有拥抱Docker和CoreOS呢? 容器在开发者中风靡一时,它们采用开源软件创建,测试和运行应用程序.但这项由Docker和CoreOS提供的技术并没能入大多数世界500强CIO的法眼,其对获得大型企业采用率似乎是长路漫漫.专家表示,随着CIO将传统环境替换为云基础设施并遵循agile 和DevOps法则重塑它们的IT部门,这种情况将发生改变. 虚拟化技术以实现公司在单一

Docker兴起 容器技术大量应用于生产环境

针对310名IT经理的一项调查显示,在过去一年里,有96%的企业在生产IT环境中使用容器,而且,选择Docker作为容器引擎的企业占有压倒性数量优势,占到94%. 这项调查是由ClusterHQ发起,在DevOps.com上进行的,这里是调查的主要结果,这次调查发现了一些积极的成果,既有业务层面的,也有IT部门的. 首席信息官Paul Rubens提供了容器的最佳定义:"简单来说,一个容器包括了一整套的运行时环境:应用程序,再加上所有它所需要的库和其他的二进制文件,以及运行它所需要的配置文件,将

【阿里云资讯】Docker首个国内合作商,阿里云何以认定容器技术将成主流?

阿里成Docker首个国内合作商 10月13日,在2016杭州·云栖大会上,全球知名的容器技术公司Docker与阿里云宣布达成战略合作,双方将在容器服务领域进行紧密合作,阿里云称其将为客户提供更加先进的云上应用管理服务.双方称在开源容器技术以及其发展方向共同努力,为客户提供本地化Docker的企业级支持和咨询服务. Docker自问世三年来,社区不断壮大,项目升温之迅猛在开源社区中并不多见,并受到IT业内的广泛关注.不过,Docker在国内真正的大规模应用仍然不多,目前国内Docker的使用状况

云管理平台提供商“天云软件”完成数千万元A轮融资

近日,云管理平台提供商天云软件宣布获得了数千万元A轮融资,由深创投领投,南京亚信谷联合.北京云基地等投资机构跟投.据介绍,此次融资所筹得资金将主要用于产品研发.市场拓展. 天云软件旗下主要有两款产品:IaaS层面的云平台管理软件SkyForm CMP,和PaaS层面的系统管理软件SkyForm ECP(企业弹性计算平台). 在IaaS层的IT资源管理方面,SkyForm CMP除了集成了对vSphere.OpenStack.CloudStack等虚拟机的管理功能,还支持对主流小型机服务器与X86

百度第十六期技术沙龙:探索持续交付的魅力

中介交易 SEO诊断 淘宝客 云主机 技术大厅 互联网是一个更新换代很快的行业,尤其是在新兴商业模式.产品和应用不断爆发时,变革意味着机会,时间决定着命运.如何在较短的开发周期内将产品发布上线,不仅是提升用户体验.赢得用户的砝码,更是衡量一家互联网企业竞争力的重要指标.持续交付由于关注于构建.部署.测试和发布过程,并让企业获得快速推出产品并优化用户体验的能力,因此备受业界关注. 2011年7月23日,由全球最大的中文搜索引擎公司百度发起的第十六期技术沙龙在北京京仪大酒店二层召开.来自各大互联网企

百度技术沙龙一周年成绩斐然 “开放”驱动中国互联网

中介交易 SEO诊断 淘宝客 云主机 技术大厅 自从人类社会的发端开始,技术就与每个人息息相关,一刻也没有离开过.互联网等先进技术的诞生更加让人们坚信技术是社会进化的决定性力量.未来,我国互联网发展要从"大国"走向"强国",技术仍是最主要的驱动力. 作为全球最大的中文搜索引擎,百度一直引领发展潮流,不断致力于互联网进入开放时代.技术沙龙正是百度参与并推动互联网技术开放交流的重要举措.据悉,百度技术沙龙(http://salon.baidu-tech.com)自201

移动搜索@百度技术沙龙 一键直达业界最权威的技术分享盛会

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 如果你是一个程序员,那你不可能没听说过百度技术沙龙,作为国内最早的技术开放交流活动,百度技术沙龙每月都会组织一次技术开放交流分享,至今已经举办了54期.4年多的时间里,无数程序员从这里"偷师"成功,最终走上了代码界的巅峰. 如今,百度技术沙龙要把高端.前沿和技术分享发挥的更加极致,百度技术沙龙直达号将于近日上线,届时,一个完整的技术分享盛会会被全部搬进你的手机里. 据悉,直达号是服务提供商在百度移动平台的官方服务账号.基于移动搜索