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或其它邊緣軟件做統一出口代理

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

 


免責聲明!

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



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