1. 介绍
Rancher 是一个容器管理的完整解决方案,并且即将成为一个完整的容器管理平台。了解rancher的功能可以看下官方的提供的介绍视频 Rancher Overview 。注意看该视频需要科学上网。


详细的rancher使用建议查看 rancher官方文档


2. 安装
2.1 下载镜像
# server
docker pull rancher/server
2.2 部署mysql
因为rancher需要使用mysql,所以需要启动mysql容器


docker pull mysql
docker run -d  --name mysqldb -e MYSQL_ROOT_PASSWORD=wkm  mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
首先进入mysql bash


docker run -it --link mysqldb:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
进入mysql创建用户给rancher用


> CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
> GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
> GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
2.2 部署 server
使用以下方式执行容器


# Launch on each node in your HA cluster
$ docker run -d --restart=unless-stopped -p 8080:8080  rancher/server \
     --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle \
     --advertise-address <IP_of_the_Node>
我这里实验时,将server部署到了10.45.10.32和10.45.10.33这两台上了,例如10.45.10.32这台上执行的命令如下:


# 注意这里的db host使用容器本身的IP,通过docker inspect xxx来获取
docker run -d --name rancher-server --restart=unless-stopped -p 8080:8080  rancher/server \
     --db-host 172.17.0.2  --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle \
     --advertise-address 10.45.10.32
启动rancher server容器后,用docker logs rancher-server来查看是否正常启动。正常启动后效果如下:




然后就可以通过IP来访问rancher的WEB管理中心了。




右下角可以换成中文




3. 集成管理swarm
rancher功能十分强大,能集成各种第三方,当然也包括swarm。虽然该功能还处于experimental,不过swarm这么流行,相信很快就能发布正式版。这里作为测试使用,我们直接用该特性。


3.1 创建swarm环境


然后再点击下方的add environment




创建一个swarm环境




切换到该环境,我创建的swarm环境名字为rancher_swarm




3.2 添加主机
PS: 注意每个环境有自己对应的主机集群。默认是default环境。上面切换到我们创建的SWARM集群,所以在新环境添加主机。注意SWARM集群至少需要3台主机。


点击基础架构里面主机来添加主机:




点击下方的添加主机




设定需要加入的HOST IP,根据图形界面提供的提示操作即可。主要操作就是在各个node上启动rancher/agent容器,按照图形界面上的提示启动




3.3 将主机加入swarm集群
虽然前面创建了主机,不过将node加入集群的操作,仍然需要命令解决。首先在swarm manager所在节点上查看JOIN集群的命令,然后在需要被加入的节点上执行命令。


4. 更多功能
rancher功能非常多,可以轻松部署企业级应用。各种图形展示也十分友好。例如可以展示容器之间的拓扑这点就非常好。更多功能读者可以自己参考官方文档了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐