类似Rancher这种的容器管理和编排工具,它可以很快地让每个组织获得高效的弹性集群管理能力。当前技术世界的发展形势就是让开发人员从繁琐的应用配置和管理中解放出来,使用容器镜像来处理复杂的程序运行依赖库的需求,保证代码运行环境的一致性。
基于Docker和Rancher来运行弹性集群的一大关键点,就是运行Rancher高可用模式。本文将在介绍Rancher Server的几种部署方式的基础上,重点演示如何部署Rancher HA 环境,文末还有视频链接,可直接观看Demo视频噢(划重点)!
单节点
基础环境需求
主流最新操作系统(ubuntu/centos),docker 版本推荐 1.12.6
Server 配置
1
|
docker run -d --restart=unless-stopped -p
8080
:
8080
rancher/server
|
单节点+独立数据库
基础环境需求
主流最新操作系统(ubuntu/centos);docker 版本推荐 1.12.6;推荐Mysql 5.5以上版本
DB 配置
1
2
3
|
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'
;
|
Server 配置示例,如:
1
|
docker run -d --restart=unless-stopped -p
8080
:
8080
-p
9345
:
9345
rancher/server:v1.
6.2
--db-host
42.62
.
51.26
--db-port
3306
--db-user cattle --db-pass cattle --db-name cattle
|
Rancher HA 环境部署
基础环境需求
主流最新操作系统(ubuntu/centos);docker 版本推荐 1.12.6;推荐Mysql 5.5以上版本;OS中自带的 HAproxy 包即可满足
DB 配置
1
2
3
|
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'
;
|
Server配置示例,如:
1
|
docker run -d --restart=unless-stopped -p
8080
:
8080
-p
9345
:
9345
rancher/server:v1.
6.2
--db-host
42.62
.
51.26
--db-port
3306
--db-user cattle --db-pass cattle --db-name cattle --advertise-address
42.62
.
83.4
|
注:
参数--advertise-address 后为当前主机 IP
如果更换 -p 8080:8080 主机端口参数,请添加--advertise-http-port <host_port>参数
HAproxy配置文件示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
global
maxconn
4096
ssl-server-verify none
defaults
mode http
balance roundrobin
option redispatch
option forwardfor
timeout connect 5s
timeout queue 5s
timeout client 36000s
timeout server 36000s
frontend http-in
mode tcp
#bind *:
443
ssl crt /etc/haproxy/certificate.pem
bind *:
8080
default_backend rancher_servers
acl is_websocket hdr(Upgrade) -i WebSocket
acl is_websocket hdr_beg(Host) -i ws
use_backend rancher_servers
if
is_websocket
backend rancher_servers
server websrv1
42.62
.
83.5
:
8080
weight
1
maxconn
1024
//Rancher server IP:Port
server websrv2
42.62
.
83.4
:
8080
weight
1
maxconn
1024
//Rancher server IP:Port
|
如果你觉得文档阅读不够清晰直观,不妨观看Rancher的技术专家录制的视频,为你演示如何部署Rancher HA环境吧!
原文来源:Rancher Labs
本文转自 RancherLabs 51CTO博客,原文链接:http://blog.51cto.com/12462495/1944956