来自OSCON上最受欢迎Docker演讲的五个技巧
本文介绍了上个月OSCON大会有关Docker最受欢迎的一个分享:真实线上环境的Docker技巧。分享者是一名运维工程师叫Bridget,她所在的公司DramaFever在2013年10月开始在线上环境部署使用Docker。然而那个时候,Docker官网还挂着“请勿在线上环境使用”的警示条。从2013年到现在,DramaFever积累大量Docker线上使用的实际经验。这些经验的分享,吸引了大量的与会者,当天会场爆满,组织者只好请Bridget第二天再讲了一遍。可见这个分享还是蛮有价值,这篇博文介绍的有些过于简单,有兴趣的话,可以直接去读她的演讲稿或者当天的视频。
上个月在波特兰举行的OSCON开源大会上,有关Docker和容器的分享最令人印象深刻的,一定会是Bridget Kromhout的“线上环境使用Docker,真实不炒作”。整个会场爆满,只剩下站的地方,后来者都被挤到门外面。组织者只好请Bridget第二天再讲了一遍。
毫无疑问,Docker非常非常的火,Bridget带来她对DevOps和容器化的深度经验:她是一名运维工程师,博主,演讲者,明尼阿波利斯DevOps日的组织者,也是”被捕获的DevOps“频道的主持人。
Bridget的公司,DramaFever,自2013年10月开始在线上环境使用Docker,那个时候Docker官网上还写着警示语:"不要在线上环境使用Docker"。DramaFever是一家流媒体视频公司,起初播放韩国的肥皂剧,现在给docclub.com和shudder.com提供额外的视频服务。目前有来自70个内容提供商的15000集电视剧,将近2000万的观看者。高峰时刻,公司要处理来自不同的终端每秒上万次的请求--观看者会经常在节目中间切换终端设备。
为了能够满足上述需要且提供好的用户体验,DramaFever将原先单体的Python应用拆分成了微服务。整个团队在AWS上面运行服务,主网站使用Python,微服务用Go语言。DramaFever依赖Docker来提供持续的开发和部署。
在线上环境改用Docker的过程中,Bridget和她的团队学到了很多教训。下面五个主要的经验,是她在OSCON上分享的。
1.小心Docker Registry过度负载
DramaFever开始它的容器旅程之时,Docker还没有私有的Registry,但是他们对这点很不满意:Registry在 Docker中成为不被控制的单点故障源。DramaFever网站当时依赖于Jenkins机器上部署的单个Registry服务器,可是,当多于20 个机器需要使用时,Registry就出故障了。现在DramaFever的每台EC2机器(甚至笔记本)上都会运行着一个私有的registry容器,并辅以AWS S3作存储。这个解决方案不需要占用很多的资源,而且能解决机器扩充的瓶颈。
2.编制自己的基础镜像
为了保证Docker的镜像是最新的,DramaFever的运维团队每周都会尝试更新“基础镜像”,包括不频繁的依赖变化,比如Ubuntu包依赖或者Python的依赖文件等等。其他的部分都是基于这些镜像,所以启动会非常快。
3.避免有问题的线上推送
一定要确保没有人知道在线上环境能够执行 docker push 命令的账号和密码。我们要保证这些命令只会在Jenkins服务器触发。这样可以避免在没有其他人在场的情况下,发生有问题的线上环境推送。
4.记得清理
容器和镜像都会占用大量的硬盘空间。如果Docker源码区空间被用光,“非常非常糟糕的情况就会发生,甚至会导致硬盘的损坏”,Bridget解释道。她建议每天执行一个脚本来移除停掉且无标识的容器和镜像。
5.注意你的系统时间
AWS S3服务对你的系统时间非常在意。不幸的是,尽管boot2docker这款应用可以让Docker运行在Windows和MacOS环境,但如果你的笔记本开始休眠,这个应用将不能正常工作,因为虚拟机里的系统时钟会停滞。这时,任何AWS API请求会得到RequestTimeTooSkewed的错误。为了解决这个问题,所有DramaFever的工具都包含这行代码:
- ` boot2docker ssh sudo date --set \"$(env TZ=UTC date '+%F %H:%M:%S')\"
这是一个已知的问题,boot2docker正在修正。
Bridget的观点对于正在考虑线上使用Docker的人来说,非常有价值。你可以浏览一下她的演讲稿,读读她的博客文章。
其中最重要的是,虽然Docker很伟大,不过也没那么神奇。容器提供了一些非常酷的且引人注目的优点,但是就如同任何新技术一样,Docker需要我们尽职研究,以确保它会正常工作,并满足特定环境的需求。
Tori Wieldt是New Relic的攻城狮激励师,她写博客,在New Relic的用户组演讲,并给New Relic开发者提供建议和培训。之前她一直在科技界,是一名系统管理员,技术作家和销售。
本文作者:Henry Huang
来源:51CTO

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
VMware公司揭开NSX半边面纱,旨在推动DevOps能力
NSX-T将网络虚拟化功能引入云原生应用世界。 正如T先生所言,“我可怜那些尝试对接容器,但却没有精确虚拟网络控制能力的傻瓜。” VMware公司已经公布了一款全新NSX网络虚拟化产品,即“NSX-T”。 根据我们的理解,其中这个“T”代表的应该是“变压器(transformers)”,代表着VMware公司希望借助这款产品将NSX的能力引入容器与微服务。NSX-T亦能够处理多种虚拟机管理程序,而不像NSX的另一子品牌NSX-V那样与vSphere紧密对接。 为了理解虚拟巨头发布NSX-T的原因,我们应当首先着眼于其发展历史。这款产品的根源来自NSX-MH(即‘多虚拟机管理程序’),这一NSX类方案基于VMware公司于2012年收购自软件定义网络先锋厂商Nicira的源代码,虚拟巨头也正是借此踏足虚拟网络市场。在Nicira公司发展的数年当中,其并无意以VMware为中心进行产品设计,因此相关方案能够支持多款虚拟机管理程序。VMware公司目前虽然仍继续发布NSX-MH,但却于去年打造出NSX-T 1.0,旨在帮助真正拥有此类需求的客户解决问题。 如今该公司决定在1.1版本当中对代码...
- 下一篇
从超大规模云服务提供商处学习效率
企业数据中心团队可以从超大型云服务提供商那里学习到相应的重要的经验教训。与此同时,企业还应重新思考其冗余策略,并考虑采用诸如像SDN这样的技术来帮助提高效率。 现如今,在数据中心领域,超大规模云服务提供商所带来的效率和自动化程度的提高也已经开始逐渐转为向传统的数据中心普及了。 从最新的冷却技术到自动化配置的一切都是为了提高普通企业数据中心的效率,并帮助降低成本。 Vantage数据中心的首席运营官,亚马逊网络服务(AWS)基础设施运营前任副总裁Chris Yetman表示:“您企业正在获得起草效应,就像您在参加一场赛跑一样。跑得快的在前面领跑,落在后面的每个竞争者也都在这样的氛围下奋起直追。” 同理,那些落后、因仍在采用旧的运维方式而陷入困境的数据中心IT领导者们可以从超大规模云服务提供商那里学习经验,并吸取教训。数据中心设施咨询机构Uptime Institute的IT优化和战略副总裁Todd Traver表示,今天的许多企业组织机构都在努力地做出关键决策。 他说:“最大的益处来自于领导层占据了强硬立场的企业组织机构,并已制定了相应的机制,以追踪利用和目标。” 反思冗余策略 直到大约...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS8编译安装MySQL8.0.19
- Linux系统CentOS6、CentOS7手动修改IP地址
- 设置Eclipse缩进为4个空格,增强代码规范
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度