1. 程式人生 > 其它 >Rancher1.6安裝和使用

Rancher1.6安裝和使用

  

一 下圖是rancher官方的1.6示意圖

  簡介

    本文介紹的1.6版本不是基於kubernetes編排引擎,而是Rancher自己的Cattle。

  Cattle 可以編排docker-compose型別的檔案,這種方式適合容器入門者使用,也可以適合中小規模範圍容器編排使用,它的優點是使用簡單不需要學習Kubernetes那麼複雜的知識,不過它也很穩定,已經在我們舊生產環境執行好幾年。

二 安裝rancher1.6

  

  1 安裝資料庫

    容器執行,您也可以二進位制或RPM或其它方式安裝。

  docker run --name mysql-data -v /data:/var
/lib/mysql -e MYSQL_ROOT_PASSWORD="123456789" -p 3306:3306 -d mysql:5.6

  2 分別在兩臺機器上安裝rancher

     這裡演示的是高可用叢集,如您不需要也可以安裝單個節點,容器啟動時對映8080埠在宿主機

  docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server \ --db-host 172.16.100.93 --db-port 3306 --db-user root --db-pass 123456789 --db-name cattle \ --advertise-address 172.16
.100.91

    因為是高可用,前端需要一個proxy來代理這兩個rancher節點(這裡採用haproxy)

    同樣是容器啟動

docker run -d --restart=unless-stopped --name haproxy  -p 8888:8888 -p 28080:28080 -v /server/config/haproxy:/usr/local/etc/haproxy:ro haproxy:1.7

    haproxy的配置檔案

global  
    chroot /usr/local  
    daemon  
    nbproc 1   
    pidfile /opt/haproxy/logs/haproxy.pid  
    ulimit
-n 65536 #spread-checks 5m #stats timeout 5m #stats maxconn 100 ########預設配置############ defaults mode tcp retries 3 #兩次連線失敗就認為是伺服器不可用,也可以通過後面設定 option redispatch #當serverId對應的伺服器掛掉後,強制定向到其他健康的伺服器 option abortonclose #當伺服器負載很高的時候,自動結束掉當前佇列處理比較久的連結 maxconn 32000 #預設的最大連線數 timeout connect 5000ms #連線超時 timeout client 30000ms #客戶端超時 timeout server 30000ms #伺服器超時 timeout check 2000 #心跳檢測超時 log 127.0.0.1 local0 err #[err warning info debug] listen stats #監控 mode http bind 0.0.0.0:8888 stats enable stats uri /stats stats realm Global\ statistics stats auth admin:admin frontend http-in mode http bind *:28080 #bind *:8080 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 mode http option httpchk HEAD /login HTTP/1.0 server websrv106 172.16.100.91:8080 weight 1 maxconn 1024 check server websrv107 172.16.100.92:8080 weight 1 maxconn 1024 check

  3 訪問,訪問haproxy地址

http://ha-proxy-host-ip:28080

  

  4 配置 Rancher Work節點主機

    安裝好docker。並配置好docker配置檔案引數:/etc/docker/daemon.json,如果您不知道如何配置可參考官方文件。

    配置好系統核心引數,可參考官方文件優化。

  5 管理Rancher

    登入Rancher介面,新建您的環境(環境都是相互獨立隔離的,每個環境中可以新增您的work主機"工作負載主機")

    這是我的例子:

    

    

    新增好環境後,進入您的某個環境中,新增工作負載主機

    

    

    新增主機標籤,並複製文字,到您的工作負載主機黏貼這段文字後會自動拉取agent映象,並註冊到Rancher該環境中(可能拉取映象時間較久,需要耐心等待)

    

    正確註冊後,主機已經顯示在改環境中

    

   6 測試執行一個demo

      測試一個容器,輸入映象地址

    

    掛載卷,支援nfs(需要先安裝nfs外掛)、本地、其它儲存需要安裝外掛支援

    掛載方式:  /儲存伺服器:/容器路徑

    

    排程機器,可以選擇某個主機,也可以按標籤排程(標籤填寫我們加入主機時候填寫的標籤,也可以在host頁面檢視主機的標籤)

    

    其它引數(安全/主機:可限制該容器的許可權和cpu記憶體使用,密文:可用該方式管理密碼,標籤:如果主機限制了只有符合標籤的容器才能在上面執行,那麼標籤項您就要給該容器加上,否則主機將不允許您的該容器執行)

    

     訪問:

      訪問主機的8888埠(該埠對映在主機上,已經暴露在主機埠,所以可以直接訪問)

      http://主機ip:8888

  7 如何用統一的編譯節點發布埠

    以上方法將會在主機上暴露無數的埠,如果執行大量的容器將不好管理,如何做到工作負載主機上執行容器叢集內部網路,在某個邊緣節點上暴露埠訪問呢?

    可以用Rancher自帶的Haproxy或其它邊緣軟體做統一出口代理

    詳情安裝方式和使用方式,如果有需要後期我可以補上,看看小夥伴是否需要 ^_^