Rancher-Kebernetes安裝文檔
版本:
rancher: V1.6
docker: V1.12.3
mysql: mysql
HA部署的要求:
1、rancher server節點:
一、8G或者16G及以上
2、rancher agent節點要求:
一、支持docker的linux系統,Ubuntu,REHL/Centos7
二、docker版本建議是v1.12.3(其餘版本可能會出現kubernetes的UI無法顯示),docker的storage driver不支持默認的 devicemapper using loopback,須要改成overlay或者overlay2
三、9345,8080端口要求各節點互相訪問
四、不建議使用selinux組件
五、各節點內存至少1GB以上
3、數據庫MYSQL:
一、MYSQL內存至少1GB,版本5.7
二、默認一個rancher server 須要50個mysql的鏈接,例如:3個節點的Rancher則須要至少150個鏈接
三、高性能磁盤
四、HA集羣須要mysql主從
my.cnf要求:
防火墻要求:
架構圖:
安裝佈署:
一、在線佈署。(由於涉及拉取鏡像,所以可能慢一點)
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.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
四、登錄rancher-server頁面,進行環境配置,初次登錄默認是沒有密碼的
4-1,配置kubernetes環境
點擊 添加環境。每一個環境都有本身的名字和描述,你能夠選擇你要使用的環境模板
點擊創建,完成kubernetes的環境創建!
4-2: 獲取添加主機的連接
左上角環境管理,切換到剛剛建立的K8S環境,點擊下面的添加主機:
在打開的頁面,複製下面的連接
4.3- 在各個agent端裏面執行上面的命令
4.4- 基礎架構==>點擊主機,查看增長agent的狀態
4.5-全部容器啟動後,點擊kebernetes==>儀錶板,查看kebernete集羣信息