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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。