devops 容器管理平台 rancher 简介

chenhengjie123 for PPmoney · 发布于 2017年11月13日 · 最后由 MeYoung 回复于 2017年11月15日 · 779 次阅读
本帖已被设为精华帖!

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

什么是 rancher

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

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

rancher 的特色

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

  • 平台部署方便。管理 docker 的平台本身也基于 docker 部署。只要你有 docker ,一句命令就完成平台的部署了。

  • 平台扩展方便。通过 agent 机制,一句 docker 命令完成 agent 部署,快速增加你的物理机。同时也支持 AWS 等云主机, 2.0 版本甚至还支持 K8s 。

  • 服务部署方便。通过应用商店,2步完成应用部署,而且还是像 docker-compose 那样各个中间件独立编排,可以随时扩容的哦。

  • 自带账户权限。相比 K8s 没有账号管理,rancher 自带账号权限体系。账号可以独立创建,也可以很方便地接入 ldap 等账号体系。对于公司使用是一大利器。

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

rancher 部署

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

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

  • 部署 master

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

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

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复
104 seveniruby 将本帖设为了精华贴 11月14日 03:48
4093

赞,感觉好棒的产品,深感于自己眼界的窄小,和你们的距离差距太大了。。。。。。

4060

这个很6

7574

支持一下

2f4afb

这个很赞

12369

666666.

果然平台不一样,技术领先太多了。。

7606

牛逼,有时间实践一下。之前搞k8s的时候就听说rancher在做容器平台, 之后有机会我也研究一下能不能跟k8s结合起来

605
4093diao2007 回复

哈哈,这个也是我们研发老大推荐我才知道的。公司内部对于新技术响应还是挺快的。

605
7606ycwdaaaa 回复

赞~

605
7574mikezhou 回复

谢谢支持😊

445

666666 刚开始碰 docker 学习了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册