Rancher Server HA的高可用部署實驗-學習筆記
轉載於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配置文件進行修改:
#網址:
http://rancher.com/docs/rancher/v1.6/en/installing-rancher/installing-server/basic-ssl-config/#example-haproxy-configuration
#配置文件為/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
Rancher Server HA的高可用部署實驗-學習筆記