转载于https://blog.csdn.net/csdn_duomaomao/article/details/78771731
Rancher Server HA的高可用部署实验-学习笔记
一、机器规划
二、数据库服务器的安装
三、Rancher Server HA1的安装
四、Rancher Server HA2的安装
五、HAProxy 负载均衡器的安装
六、注册主机(工作主机)
七、参考链接(视频)
本文主要以Rancher培训视频为基础,做了学习笔记,方便自己日后查看。Rancher Server HA Demo视频:http://v.youku.com/v_show/id_XMjg2NTE3MDI2OA
一、机器规划
1、MySQL数据库服务器: 42.62.83.6
2、RancherServerHA1:42.62.83.5
3、RancherServerHA2:42.62.83.4
4、HAProxy负责均衡主机:42.62.83.3
5、RancherAgent主机:42.62.83.2
二、数据库服务器的安装
#安装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命令,创建数据库,设置数据库访问权限
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';
三、Rancher Server HA1的安装
#使用文档中的命令,在HA1主机上,
#启动RancherServer容器RancherHA1
docker run -d \
--restart=unless-stopped \
--name RancherHA1 \
-p 8080:8080 \
-p 9345:9345 \
rancher/server:v1.6.10 \
--db-host <IP_of_the_MySQL_Server> \
--db-port 3306 \
--db-user cattle \
--db-pass cattle \
--db-name cattle \
--advertise-address <IP_of_the_Rancher_Server_HA1>
#查看容器运行的状态:
docker logs -f RancherHA1
#使用谷歌浏览器访问RancherServer的8080端口
http://<IP_of_the_Rancher_Server>:8080
四、Rancher Server HA2的安装
#在HA2主机上,启动RancherServer容器RancherHA2
docker run -d \
--restart=unless-stopped \
--name RancherHA2 \
-p 8080:8080 \
-p 9345:9345 \
rancher/server:v1.6.10 \
--db-host <IP_of_the_MySQL_Server> \
--db-port 3306 \
--db-user cattle \
--db-pass cattle \
--db-name cattle \
--advertise-address <IP_of_the_Rancher_Server_HA2>
五、HAProxy负载均衡器的安装
#在两台Rancher Server主机之前,
#使用F5等外部负载均衡器,来实现HA访问,
#也可以使用HAProxy软件的方式来实现HA,
#对外1个IP分担到2个RancherServer上。
#本实验就是使用一台主机安装HAProxy软件来实现负载均衡的
#下面在Ubuntu系统上安装HAProxy
sudo apt-get install haproxy
#根据官方提供的HAProxy配置文件进行修改:
#网址:
#配置文件为/etc/haproxy/haproxy.cfg
#修改bind部分,禁用443端口,启用8080端口
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 *:443 ssl crt /etc/haproxy/certificate.pem
bind *:8080
default_backend rancher_servers
# Add headers for SSL offloading
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 <rancher_server_HA1_IP>:8080 weight 1 maxconn 1024
server websrv2 <rancher_server_HA2_IP>:8080 weight 1 maxconn 1024
server websrv3 <rancher_server_HA3_IP>:8080 weight 1 maxconn 1024
#启动HAProxy服务
haproxy -f /etc/haproxy/haproxy.cfg &
#查看8080端口是否已经在监听中
netstat -antlp |grep 8080
#通过HAProxy的IP:8080端口登录到RancherServer
http://<HAProxy_IP>:8080
六、注册主机(工作主机)
#向RancherServer中注册主机时,
#使用的“主机注册地址”是<HAProxy_IP>:8080
#不是RancherServerHA1的也不是HA2的
七、参考链接:
Rancher Server HA Demo视频
http://v.youku.com/v_show/id_XMjg2NTE3MDI2OA
来源:oschina
链接:https://my.oschina.net/u/4390386/blog/3993112