乐趣区

Rancher-HA高可用集群部署文档

Rancher HA 高可用集群部署文档

一.前期准备工作

1.rancher server 节点:

1).8G 或者 16G 及以上(测试环境你又 3 个 G 就够了)
2). server 节点此次操作将会占用 8080,9435 端口(如果这两个端口已经被占用可以自定义其他端口)。
3). 版本:rancher: V1.6

2.rancher agent 節點要求:

1). docker 版本建议是 v1.13.1,其实用其他版本也可以了,反正我用 yum 直接装的可以用。
2). 9345,8080 端口要求各节点互相访问同 server 节点要求,保证端口统一即可。
3). 各节点内存至少 1GB 以上最好不要出现跳崖式的差异。

3. 数据库 MYSQL:

1).推荐选用 mysql-5.7 和 mariadb(懒人推荐 mariadb)
2). mysql 正式环境最好做个主从或者双主集群

4. 各节点机器信息

Rancher-servier:
192.168.120.9
192.168.120.176

Rancher-agent:
192.168.120.9
192.168.120.176
192.168.120.17

Haproxy:
192.168.120.17

Mysql:
192.168.120.17

部署架构图:

Rancher HA 高可用集群部署文档

因为单纯是测试玩的,每台机器内存都不高,数据库和 haproxy 装在一起了。

二.Mysql 安装及配置



192.168.120.17:(selinux,firewall 关闭)#安装 mariadb 数据库服务器
yum install -y mariadb mariadb-server

 #设置开机启动,并启动数据库服务器

chkconfig mariadb on

service mariadb start

#查看 mysql 相关的命令

mysql

 #MySQL 安全加固,设置 root 密码

mysql_secure_installation

 #登录 mysql 数据库

mysql -u root -p

 #使用文档中的 MySQL 命令,创建数据库,设置数据库访问权限 

三.Rancher-Server 节点安装


192.168.120.9:docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 docker.io/rancher/server:latest --db-host 192.168.120.17 --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle --advertise-address 192.168.120.9

192.168.120.176:docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 docker.io/rancher/server:latest --db-host 192.168.120.17 --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle --advertise-address 192.168.120.176

#不要尝试加“--name”参数,docker 容器的名字是随机的镜像里不支持这个参数,这个是根据镜像来的不是每个帖子都能用,这里咱们使用的 rancher-server 镜像是 v1.6.24

当出现如下问题时:(去掉—name 参数即可)/usr/bin/entry: line 119: exec: --: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
/usr/bin/entry: line 119: exec: --: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
/usr/bin/entry: line 119: exec: --: invalid option

四.Haproxy 安装及配置


192.168.120.17:yum -y install haproxy

[root@bogon ~]# vim /etc/haproxy/haproxy.cfg
[root@bogon ~]# cat /etc/haproxy/haproxy.cfg
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 http

bind *:8080
default_backend rancher_servers

http-request set-header X-Forwarded-Proto https if {ssl_fc}
http-request set-header X-Forwarded-Ssl on if {ssl_fc}

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 192.168.120.9:8080 weight 1 maxconn 1024
server websrv2 192.168.120.176:8080 weight 1 maxconn 1024

测试:
浏览器访问 192.168.120.17:8080

五.安装 Rancher-agent 并添加 host

点击上图复制按钮,将复制的命令在需要添加的主机中执行,添加后效果 2 图
#host 的名字是调取 Linux 主机的 hostname

退出移动版