rancher-HA快速搭建


                                                                                       Rancher-Kebernetes安裝文檔
 
版本:
rancher: V1.6
docker:  V1.12.3
mysql:    mysql
 
HA部署的要求:
 
一、rancher server節點:
1、8G或者16G及以上
 
二、rancher agent節點要求:
1、支持docker的linux系統,Ubuntu,REHL/Centos7
2、docker版本建議是v1.12.3(其他版本可能會出現kubernetes的UI無法顯示),docker的storage driver不支持默認的 devicemapper using loopback,需要改為overlay或者overlay2
3、9345,8080端口要求各節點互相訪問
4、不建議使用selinux組件
5、各節點內存至少1GB以上
 
三、數據庫MYSQL:
1、MYSQL內存至少1GB,版本5.7
2、默認一個rancher server 需要50個mysql的連接,例如:3個節點的Rancher則需要至少150個連接
3、高性能磁盤
4、HA集群需要mysql主從
 
my.cnf要求:
  • 每個Rancher Server節點需要50個連接 (例如:3個節點的Rancher則需要至少150個連接)
  • MYSQL配置要求
    • 選項1: 用默認COMPACT選項運行Antelope
    • 選項2: 運行MySQL 5.7,使用Barracuda。默認選項ROW_FORMAT需設置成Dynamic
 
 
防火墻要求:
 
 
 

 
架構圖:
 
 

 
安裝布署:
 
1、在線布署。(因為涉及拉取鏡像,因此可能慢一點)
 
1.1- mysql布署 (mysql主主結構)
      用ansible在兩台mysql同時執行以下腳本,注意需要修改一下node節點的IP,如
      ansible mysql -m script -a "/root/ansible-shell/mysql_master.sh"
     
      詳情,可以查看我的另外一個腳本,搭建的話,我這里就跳過了!
 
1.2 - MYSQL導入數據庫
 
mysql -e "CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';"
mysql -e "GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'Cattle@123';"
mysql -e "GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'Cattle@123';"
mysql -e "flush privileges;"
 
database: cattle
user: cattle
password: Cattle@123

 
2- Rancher-server安裝布署(各節點)
 
2.1--安裝指定docker版本 (所有節點)
        刪除原有Docker
       systemctl  stop docker
        yum -y remove docker
     
       安裝RPM包
       rpm -ivh docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm  docker-engine-1.12.3-1.el7.centos.x86_64.rpm  docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm
 
    檢查Docker版本
    docker -v
    Docker version 1.12.3, build 6b644ec
     
    修改docker的儲存方式和指定鏡像庫
    在/usr/lib/systemd/system/docker.services啟動項裡面修改為 =overlay --insecure-registry=10.134.171.55
    如下圖:
   
    
   重新加載並啟動docker
   systemctl  daemon-reload 
   systemctl start docker
 
2.2-安裝rancher-server
 
假設:節點分別是192.168.1.10,192.168.1.11,192.168.1.12,mysql數據庫是192.168.1.15
分別在節點上執行
 
docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:stable \
--db-host 192.168.1.15 --db-port 3306 --db-user cattle --db-pass Cattle@123 --db-name cattle \
--advertise-address   192.168.1.10
 
docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:stable \
--db-host 192.168.1.15 --db-port 3306 --db-user cattle --db-pass Cattle@123 --db-name cattle \
--advertise-address   192.168.1.11
 
docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:stable \
--db-host 192.168.1.15 --db-port 3306 --db-user cattle --db-pass Cattle@123 --db-name cattle \
--advertise-address   192.168.1.12
 
 
2.3 --內網離線情況下,請把rancher server的鏡像包,上傳后,再執行以上命令。
 
 

3- HA-proxy布署
 
3.1-安裝布署
安裝包
yum -y install  haproxy.x86_64
 
修改配置
vim /etc/haproxy/haproxy.cfg   ,修改<rancher_server_1_IP>就可以了

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
  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_1_IP>:8080 weight 1 maxconn 1024
  server websrv2 <rancher_server_2_IP>:8080 weight 1 maxconn 1024
  server websrv3 <rancher_server_3_IP>:8080 weight 1 maxconn 1024

 
啟動haproxy
systemctl start haproxy
systemctl enable haproxy
 
3.2-高可用方案:
 
安裝keepalive, 把haproxy-1和haproxy-2實現高可用,得到訪問VIP
 

4、登錄rancher-server頁面,進行環境配置,初次登陸默認是沒有密碼的
 
4-1,配置kubernetes環境
 
點擊 添加環境。每個環境都有自己的名字和描述,你可以選擇你要使用的環境模板
 
 
 
點擊創建,完成kubernetes的環境創建!
 
 
4-2: 獲取添加主機的鏈接
 
 左上角環境管理,切換到剛剛創建的K8S環境,點擊下面的添加主機:
 
在打開的頁面,復制下面的鏈接
 
 
4.3- 在各個agent端里面執行上面的命令
 
4.4- 基礎架構==>點擊主機,查看增加agent的狀態
 
4.5-所有容器啟動后,點擊kebernetes==>儀錶板,查看kebernete集群信息
 
   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM