前天发了个朋友圈,说 rancher 搭建 jenkins 和 sonar 效率超高,结果发现有挺多人感兴趣的, @ycwdaaaa 也鼓励我写一篇文章介绍一下。所以有了这篇文章的存在。
时间有限,无法写得很深很全,大家权当入门了解即可。

什么是 rancher

官方介绍:Rancher 是一个开源的企业级全栈化容器部署及管理平台。已有超过 1900 万次下载,4000+ 生产环境的应用。

简单的说,就是一个可以让你通过 web 界面管理 docker 容器的平台。定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排功能。

rancher 的特色

能够做到这么流行,总归有几板斧头的。rancher 的几个比较突出的点有:

更详细的信息,建议查看官方中文站点:https://www.cnrancher.com

rancher 部署

此处以平时自己摆弄为例,以一个 master + 一个 agent 的形式部署,不使用 HA 。

如果想了解更多部署方式,建议查看官方文档:http://rancher.com/docs/rancher/latest/en/installing-rancher/installing-server/

master 对系统基本没有要求,部署在 mac 或者 windows 上都行。

# 数据库数据内置。缺点是如果容器损坏了,数据就不可恢复
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

# **推荐**数据库数据外置。即使容器坏了,数据还在,重新再建一个容器即可
docker run -d -v <host_vol>:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server

agent 用到比较多的 docker 特性,建议使用 linux 机器。我用的是 ubuntu 16.04。

agent 的启动命令可以在界面上自动生成,唯一需要填写的是 agent 所在主机的 ip 地址。

这两步做完,rancher 就可以投入使用咯!

rancher 应用商店使用

rancher 的应用商店是它的杀手级功能。通过应用商店,只需要 2 步界面操作就可以完成一个应用的部署。

以 sonarquebe 为例:
第一步,选择应用。点击 sonarquebe 下面的【查看细节】按钮

第二步,点击启动。当然如果有需要的话,也可以选择下服务版本。其它配置如无特殊需要,一般不需要改动。

然后 sonar 服务就创建出来了。

访问地址,可以点击负载均衡的 Ports 链接,直接打开。

注意:如果是首次创建,agent 需要花几分钟下载镜像,具体耗时取决于网速。

相信聪明的朋友已经猜到了。应用商店除了官方自带的应用,我们自己也可以配置自己的应用商店哦。以后临时部署一个新的测试服务,直接 2 步解决。

更多

除了这些基本功能,rancher 还有很多功能。基础的有容器日志查看、shell 访问、资源占用监控等,扩展的还有多环境管理、多主机服务部署管理等。同时对容器的各种操作,也都可以通过 rancher-cli 、 rancher-compose 命令行工具或者其自带的 http api 进行控制。

扩展一下,还可以通过容器替换 +http api 调用,做到快速重置数据库数据的效果(数据库数据内容事先放好到镜像中)。这对于一些经常需要 清空 - 重新初始化数据库的操作(例如跑自动化测试前重置数据库),可以节省下不少初始化数据耗费的时间。同时,数据库数据也通过镜像的版本管理,初步获得了版本管理。


↙↙↙阅读原文可查看相关链接,并与作者交流