BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

New Relic开源其Docker部署工具Centurion

| 作者 Carlos Sanchez 关注 0 他的粉丝 ,译者 郭蕾 关注 9 他的粉丝 发布于 2014年7月13日. 估计阅读时间: 2 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

New Relic开源了其在内部生产环境中使用的Docker部署工具Centurion。Centurion可以从Docker registry中构建容器,并用正确的环境变量、主机容量映射、端口映射将他们运行在一组主机上,另外Centurion还支持滚动部署。

New Relic的项目经理Karl Matthias在DockerCon上宣布基于MIT许可开源Centurion。Centurion项目以Ruby gem的方式组织,并使用Rake任务语法内建的DSL读取配置文件,不过很快它就会支持从etcd中读取配置。Centurion的DSL包括定义要部署的镜像、要部署的Docker服务器、环境变量、容器容量以及端口的相关指令,同时它还支持定义多个环境,比如模拟环境、生产环境。

用于分布式容器环境的Centurion包含多个命令:

  • 滚动部署到一组Docker服务器rolling_deploy:一次启动或停止一个容器以确保应用的负载均衡。部署时,每个容器都会进行健康检查以保证应用正确启动。默认情况下,它会向应用的根路径发送一个GET请求,并期望应用能返回一个200范围内(译者注:2XX都算成功)的有效响应状态码。
  • 部署到一组Docker服务器deploy:硬停机,然后在指定的主机上启动容器。对于那些在任何时段都要可用的应用来说,不推荐使用。
  • 在主机上部署一个Bash控制台deploy_console:在容器中已存在的环境下启动一个命令行shell。Dockerfile 中的 CMD 指令被替换为 /bin/bash ,使用主机列表中第一个主机。
  • 列出特定项目的服务器的所有标签list:running_container_tags:列出目前所有的标签以及标签下运行的机器。同样地列出所有主机的唯一标签列表,当部署出现问题时,这一列表对确认部署的状态很有帮助。
  • 列出运行当前项目的所有容器list:running_containers:返回配置中每个 Docker服务器上运行项目的所有容器的列表。
  • 列出registry镜像list:返回项目的registry上所有的镜像。

该项目正在添加一些新的功能,比如为配置和服务发现集成 etcd 、证书验证以及服务器池的动态主机分配。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT