Rancher概覽和server安裝

* Rancher概覽
Rancher是一個開源的企業級容器管理平臺。通過Rancher,企業再也不必自己使用一系列的開源軟件去從頭搭建容器服務平臺。Rancher提供了在生產環境中使用的管理Docker和Kubernetes的全棧化容器部署與管理平臺。

Rancher由以下四個部分組成:

基礎設施編排
Rancher可以使用任何公有云或者私有云的Linux主機資源。Linux主機可以是虛擬機,也可以是物理機。Rancher僅需要主機有CPU,內存,本地磁盤和網絡資源。從Rancher的角度來說,一臺雲廠商提供的雲主機和一臺自己的物理機是一樣的。

Rancher爲運行容器化的應用實現了一層靈活的基礎設施服務。Rancher的基礎設施服務包括網絡, 存儲, 負載均衡, DNS和安全模塊。Rancher的基礎設施服務也是通過容器部署的,所以同樣Rancher的基礎設施服務可以運行在任何Linux主機上。

容器編排與調度
很多用戶都會選擇使用容器編排調度框架來運行容器化應用。Rancher包含了當前全部主流的編排調度引擎,例如Docker Swarm, Kubernetes, 和Mesos。同一個用戶可以創建Swarm或者Kubernetes集羣。並且可以使用原生的Swarm或者Kubernetes工具管理應用。

除了Swarm,Kubernetes和Mesos之外,Rancher還支持自己的Cattle容器編排調度引擎。Cattle被廣泛用於編排Rancher自己的基礎設施服務以及用於Swarm集羣,Kubernetes集羣和Mesos集羣的配置,管理與升級。

應用商店
Rancher的用戶可以在應用商店裏一鍵部署由多個容器組成的應用。用戶可以管理這個部署的應用,並且可以在這個應用有新的可用版本時進行自動化的升級。Rancher提供了一個由Rancher社區維護的應用商店,其中包括了一系列的流行應用。Rancher的用戶也可以創建自己的私有應用商店。

企業級權限管理
Rancher支持靈活的插件式的用戶認證。支持Active Directory,LDAP, Github等 認證方式。 Rancher支持在環境級別的基於角色的訪問控制 (RBAC),可以通過角色來配置某個用戶或者用戶組對開發環境或者生產環境的訪問權限。

下圖展示了Rancher的主要組件和功能:
Rancher概覽和server安裝

* Rancher Server安裝
準備linux主機:centos7 (docker環境)
主機IP:192.168.18.113(Rancher服務器)
主機IP:192.168.18.114

Docker安裝

添加yum源:

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

yum緩存更新,安裝docker-engine。

$ sudo yum update (不更新Linux內核系統,不操作)
$ sudo yum install -y docker-engine

啓動docker。

systemctl start docker.service
systemctl enable docker.service

Rancher服務器啓動(單容器部署)

#Rancher單容器部署無需考慮數據庫(rancher使用內部數據庫,測試環境使用)。
$ sudo docker run -d --restart=always -p 8080:8080 rancher/server

#Rancher單容器部署使用外部數據庫Link。
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server --db-host xxx --db-port 3306 --db-user username --db-pass password --db-name dbname

#rancher/server:latest最新版,rancher/server:stable穩定版生產環境建議使用此版本。

$ sudo docker run -d --restart=always -p 8080:8080 rancher/server
# 顯示 Rancher 服務器的容器 ID,替換containerid
$ sudo docker ps
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
b1164aef82ff        rancher/server      "/usr/bin/entry /u..."   9 minutes ago       Up 9 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   vigorous_wing
# 顯示並查看 Rancher 服務器的日誌
$ sudo docker logs -f containerid
docker logs -f b1164aef82ff

啓動 Rancher 服務器可能需要花幾分鐘時間。這取決於下載 Rancher Server鏡像的速度(sudo docker run -d --restart=always -p 8080:8080 rancher/server,目前很慢,花了一個晚上自己下載)。當日志中顯示 “…. Startup Succeeded, Listening on port…” 以後,Rancher UI 圖形界面現在就能正常訪問。

添加主機
添加運行Rancher服務器容器的主機。而在實際的生產環境中,建議使用專用的主機來運行Rancher服務器。
另一臺主機IP:192.168.18.114已經安裝好docker。

點擊圖形界面的 Infrastructure 標籤來添加主機,然後您將會看到 Hosts 頁面。Rancher 會提示您選擇一個 IP 地址。這個 IP 地址必須可以被所有即將添加的主機訪問到。
添加 Rancher 服務器主機自身,因此我們可以忽略這個提示信息。點擊 Save ;
Rancher概覽和server安裝

進入默認的Custom 選項頁面,可以得到運行 rancher/agent 容器的命令。在每臺需要添加到rancher控制檯的主機上運行 rancher/agent。

Rancher 提供的用於添加主機的命令如下:

$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11`
http://192.168.18.113:8080/v1/scripts/273C726DB6B906917F5B:1514678400000:7Do96pJNElcw1OYHz1aGuiQKe

Rancher概覽和server安裝

在運行 Rancher 服務器的主機上運行 rancher/agent 容器命令。

在 Rancher 的頁面中點擊 Close 按鈕後,您會被返回到 Infrastructure -> Hosts 頁面。在一兩分鐘後,這個主機將自動出現在這裏。
Rancher概覽和server安裝

使用圖形界面創建一容器
進入 Applications -> Stacks 頁面,如果這裏還沒有服務,你可以點擊 “Add Service” 按鈕。你可以輸入一個類似 “firstcontainer” 的名字。您現在使用默認配置並點擊 Create 。Rancher 將開始在這個主機上啓動兩個容器。一個容器是您所創建的名爲_first_container ;另外一個容器是Network Agent,這是個由 Rancher 創建的系統容器,它用來處理擴主機聯網和健康檢查等任務。

不管你的主機是什麼 IP 地址,first_container 和 Network Agent 將會的到 10.42.. 網段的 IP 地址。Rancher 已經創建了能在不同主機之上的讓所有容器可以相互通信的覆蓋網絡。

如果你點擊 first_container的下拉菜單,你可以執行各種動作,例如:停止容器,查看日誌,或者進入容器的控制檯。

Rancher概覽和server安裝

使用docker原生命令創建一容器
Rancher 會顯示所有在主機上的容器,即使有些容器是在圖形界面之外創建的。在主機的 shell 命令行裏創建一個容器。阿里雲鏡像倉庫中pull下來。
$ docker run -it --name=container-tomcat-qa registry.cn-hangzhou.aliyuncs.com/xmbaby-test/test-tomcat

在Rancher圖形界面中,你將看到container-tomcat-qa在你的主機上出現!
Rancher概覽和server安裝

如果通過退出命令行來退出(ctrl+C)用命令方式創建的容器,在 Rancher 圖形界面中將立刻顯示這個容器的狀態爲停止。
Rancher概覽和server安裝

Rancher 可以對帶外發生的事件作出反應,並把當前的顯示狀況如實地整合在它的視圖中。

如果你查看容器container-tomcat-qa的 IP 地址,你會注意到他不在 10.42.. 網段中。它的 IP 地址是通過 Docker 後臺服務獲得的。這是通過命令行方式創建容器的正常的結果。

如果希望通過命令行創建的容器依然具有 Ranger 覆蓋網絡的網絡地址呢?我們所需要做的就僅僅是在命令中加一個標籤。
$ [root@rancher-qa ~]# docker run -it --label io.rancher.container.network=true --name=container-tomcat-qa11 registry.cn-hangzhou.aliyuncs.com/xmbaby-test/test-tomcat

標籤 io.rancher.container.network 讓我們通過命令行傳遞了一個通知,這樣 Rancher 會爲把容器配置爲連接到覆蓋網絡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章