Rancher:https://www.cnrancher.com/

是一个开源的企业级全栈化容器部署及管理平台。

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

rancher 的特色

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

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

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

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

rancher 安装

  • 部署 master

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

  

 # 下载容器
  docker pull rancher/server 
  # 数据库数据内置。缺点是如果容器损坏了,数据就不可恢复
  

  命令行参数解释:
  docker run 的 -d 参数标示在后台运行, --restart=always 容器如果异常停止自动重启。-p 8080:8080 把 Rancher 服务器的UI 对外服务(容器内)的端口 8080 ,绑定到到宿主机的
  8080 端口。 后面跟的镜像名 rancher/server ,Docker 会首先检查本地有没有这个镜像,如果没有,Docker 会去 Docker Hub 将这个镜像下载下来,并且启动。

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

  用浏览器打开 Rancher 服务器容器 UI 界面

  http://192.168.50.151:8089

  

Rancher 服务器配置

添加账号

  首次登录,还没有配置访问权限,为了安全期间,首先点击上面的 ACCESS CONTROL 来新建一个本地账号和密码。

  

  点击 Enable Local Authentication,打开本地验证,下次就需要输入用户名和密码才能登录了。

添加主机

  主机是 Rancher 工作的节点,类似服务器虚拟化的 Hypervisor,我们现在做 All-in-one 测试,将宿主机添加到 Rancher 节点主机。

  

  

  选择 APPLICATIONS 下面的 Add Host,弹出的界面选择 Custom,将页面第 4 步出现的内容复制粘贴下来。拿到宿主机的命令行执行。

部署 agent

  将上述的命令拷贝到宿主机粘贴执行,agent 用到比较多的 docker 特性,建议使用 linux 机器。我用的是 centos7

  agent 的启动命令可以在界面上自动生成,唯一需要填写的是 agent 所在主机的 ip 地址会自动下载 rancher/agent 镜像并运行。等待下载完毕。查看一下进程,多出一个 rancher/agent 的进程,并且已经运行。此时再回网页查看 Web 控制台界面,查看 Host 添加之后的结果。

  

可以看到已经多了一台活动主机(宿主机),上面运行一个 Rancher Server 容器,就是 Rancher 服务器自己。如果你有其他主机,也可以添加其他主机进来。

通过 Web UI 运行容器

  现在通过图形界面来运行容器,而不是通过命令行。

  

 添加容器

在 INFRASTRUCTURE 标签选择 CONTAINERS,选择 Add Container

  1 输入 first_container 作为容器名称

   2 使用默认的 Ubuntu 14.04.3 镜像

   3 点击Create 按钮

  

经过几秒钟可以看到多出一个 first_container 容器和一个 Network Agent。first_container作为本测试创建的容器。

  1 在新建的 Ubuntu 容器的菜单上点击向下按钮

  2 在Web 页面中选择运行 Shell 选项

  以后就可以在此操作容器了。如果您偏爱 CLI 命令行,可以直接到宿主机的命令行操作。

rancher 应用商店使用

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

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

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

 

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

 

 

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

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

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

更多

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

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

Docker 容器管理:rancher的更多相关文章

  1. docker 容器管理常用命令

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...

  2. docker 容器管理上

    Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...

  3. Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

    搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...

  4. Docker系列三:Docker容器管理

    Docker容器管理 1. 单一容器管理 1) 容器的启动 $ docker run --name gitlab-redis -d --volume /srv/docker/gitlab/redis: ...

  5. docker容器管理及网络管理

    防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...

  6. docker容器管理-含静态Ip(10)

    docker run命令详解 docker run -t #表示分配一个伪终端 -i #表示让容器的标准输入打开,不跟这个参数容器启不来 -d #后台运行 -P #dockerfile中EXPOSE ...

  7. Docker学习第二天(Docker容器管理)

    简介 emmmm Docker 容器管理 推荐文章:容器技术概述 run里面的子选项 1.使用run命令创建容器 docker container run -it ubuntu /bin/bash / ...

  8. 四、docker容器管理

    一.docker容器管理 1.1 容器查看-ps命令 显示本地容器列表,但是默认不显示关闭的容器,只显示运行中的容器,除非加上命令选项 -a 用法:docker ps [-a 显示所有容器,默认只显示 ...

  9. Docker容器管理平台Rancher高可用部署——看这篇就够了

    记得刚接触Rancher时,看了官方文档云里雾里,跟着官网文档部署了高可用Rancher,发现不管怎么折腾都无法部署成功(相信已尝试的朋友也有类似的感觉),今天腾出空来写个总结,给看到的朋友留个参考( ...

随机推荐

  1. bootstrapValidator 表单验证

    官网下载地址:http://plugins.jquery.com/bootstrapValidator/ html代码 <!DOCTYPE html> <html> <h ...

  2. Lua 中 number 转换各种进制,以及string串转number

    原文地址:http://blog.csdn.net/david_dai_1108/article/details/71699449 --region : NumConvert.lua --Date : ...

  3. mysql备份小记

    常用备份工具是mysql自带的mysqldump,mysqldump -u root -p密码 dbname >d:\test.sql      ------------备份某个库mysqldu ...

  4. Cakephp中使用JavaScriptHelper来引入js文件

    页面的head部分的内容在Cakephp中主要是有htmlhelper来进行控制的,而js部分则是由JavaScripthelper来进行控制的,在controller里面设置好:var $helpe ...

  5. [转]spring 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)

    SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用Maven和Gradle开发项目的,下载就非常麻烦,下给出Spring Framework jar官方直接下载路径: h ...

  6. swift--歌曲播放示例

    使用MPMoviePlayerController我们可以是进行音乐播放,如下图: 接口的话,我是自己在本地上搭建了个服务器,自己请求自己

  7. 为什么GPL是更好的开源许可证?

    1. 让我从一件新闻讲起. 2009年,计算机业界发生了一件大事:甲骨文公司以74亿美元收购SUN公司. 消息宣布后,有一个人坚决反对这笔交易.他叫Michael Widenius,是数据库软件MyS ...

  8. C语言中的static关键字

    C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错.伴随着不同源文件变量和函数之间的相互 ...

  9. Extended VM Disk In VirtualBox or VMware (虚拟机磁盘扩容)

    First, Clean VM all snapshot, and poweroff your VM. vmdk: vmware-vdiskmanager -x 16GB myDisk.vmdk vd ...

  10. form提交表单没接收到$_POST

    分享一个最近做项目遇到的奇葩经历: 很奇怪的,我在弄一个表单提交的时候,后台验证就报了非post提交错误 我就郁闷了,我form明明写的method为post,不可能是非post错误啊 经历反应测试, ...