类似Rancher这种的容器管理和编排工具,它可以很快地让每个组织获得高效的弹性集群管理能力。当前技术世界的发展形势就是让开发人员从繁琐的应用配置和管理中解放出来,使用容器镜像来处理复杂的程序运行依赖库的需求,保证代码运行环境的一致性。
基于Docker和Rancher来运行弹性集群的一大关键点,就是运行Rancher高可用模式。
1、基础环境需求
软件要求:
--主流最新操作系统(ubuntu/centos);
--docker 版本推荐 1.12.6;
--推荐Mysql 5.5以上版本;
--OS中自带的 HAproxy 包即可满足。
机器要求(虚拟机或物理机皆可):
--2台Rancher Server Master(安装docker);
--2台Rancher Node(安装docker);
--1台MySql数据库;
--1台HaProxy。
2、DB 配置
2.1 安装MySql
如果没有MySql,请安装!
2.2 创建数据库和授权
#创建cattle数据库
CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
#为cattle设置密码和授权
GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
3、Rancher Server安装
在每个需要加入Rancher Server HA集群的节点上,运行以下命令:
$docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 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>
注:
--参数–advertise-address后为当前主机 IP;
--db-port:为数据库端口
--db-host:为数据库IP
--db-user:为数据库用户名
--db-pass:为数据库密码
--db-name:为数据实例
--如果更换 -p 8080:8080 主机端口参数,请添加–advertise-http-port <host-port>参数
4、HAproxy配置文件示例如下:
backend rancher_servers
server websrv1 42.62.83.5:8080 weight 1 maxconn 1024 //Rancher
server IP:Portserver websrv2 42.62.83.4:8080 weight 1 maxconn 1024 //Rancher server IP:Port