一、概述
Rancher和k8s都是用來作為容器的調度與編排系統。但是rancher不僅能夠管理應用容器,更重要的一點是能夠管理k8s集群。Rancher2.x底層基於k8s調度引擎,通過Rancher的封裝,用戶可以在不熟悉k8s概念的情況下輕松的通過Rancher來部署容器到k8s集群當中。
為實現上述的功能,Rancher自身提供了一套完整的用於管理k8s的組件,包括Rancher API Server, Cluster Controller, Cluster Agent, Node Agent等等。組件相互協作使得Rancher能夠掌控每個k8s集群,從而將多集群的管理和使用整合在統一的Rancher平台中。Rancher增強了一些k8s的功能,並提供了面向用戶友好的使用方式。
k8s雖然有dashboard,但是功能沒有Rancher強大。因此,企業內部,可以用Rancher來管理k8s集群。
二、安裝Rancher
版本選擇
Rancher有分為v1和v2版本,都是提供容器調度與編排,不同之處在於在k8s盛行之前有許多人都搞過容器編排,所以rancher v1上會有幾種不同的編排模式,例如cattle ,swarm,kubernetes。從這里可以看出Rahcner v1時代,它給自己的定位是各種編排工具的上層,也就是k8s的上層,然后你再通過它去管理k8s。
因為k8s后來發展得勢不可擋,所以Rancher v2應運而生,移除了其他類型的編排工具,只剩下k8s。
v1版本的dockerhub地址:
docker pull rancher/rancher:stable
這里下載的是穩定版本
環境介紹
系統 | k8s版本 | docker | ip | 主機名 | 配置 |
centos 7.6 | 1.18.1 | 19.03.5 | 10.212.20.94 | k8s-master | 2核4G |
centos 7.6 | 1.18.1 | 19.03.5 | 10.212.20.240 | k8s-node01 | 2核4G |
centos 7.6 | 無 | 19.03.5 | 10.212.20.213 | rancher-master | 2核4G |
安裝Rancher
docker run -d --restart=always --name rancher -p 80:80 -p 443:443 rancher/rancher:stable
查看日志
# docker logs -f rancher
等待幾分鍾,沒有日志輸出了,表示已經啟動好了。
訪問頁面
https://10.212.20.213
注意:這里必須要用http。即使你用http訪問,它還是會強制跳轉到https
第一次訪問時,顯示的是英文。提示默認的admin密碼不安裝,需要設置一個復雜性密碼。
這里直接默認了,如果你需要使用域名方式,請根據實際情況更改。
切換中文
登錄之后,點擊右下角的語言。默認是英文
切換為中文

三、導入k8s集群
注意:已經有一個k8s集群了,只需要導入即可。
添加集群
選擇導入
輸入test,點擊導入
這里選擇最后一個,因為我是ip方式訪問的,https訪問是不受信任的。注意:自簽證書,也是不受信任的。
只有花錢購買的證書,才是受信任的,可以選擇中間的那個。
登錄k8s-master主機,執行命令:
curl --insecure -sfL https://10.212.20.213/v3/import/xxpv9dfjtkfwcxcmh475khx2mcscs6mfhmqmbznbkcrf2mkq77l5nm.yaml | kubectl apply -f -
等待幾分鍾,查看pod
# kubectl get pods -n cattle-system NAME READY STATUS RESTARTS AGE cattle-cluster-agent-bf7cbffdd-rqmmw 1/1 Running 0 18s cattle-node-agent-8fnsq 1/1 Running 0 5s cattle-node-agent-bqrk9 1/1 Running 0 15s
確保狀態為Running
點擊集群,確保狀態為Active
點擊集群test,效果如下:
點擊導航欄的主機,效果如下:
本文就介紹到這里了,其他功能,請參考中文文檔。