前言:html
本文使用 Centos 7.x 進行操做,Rancher 官方推薦使用 Ubuntu。nginx
Docker 對內核要求 大於 3.10,你可使用 uname -r 檢測系統內容版本。web
經過 Rancher,能夠很方便地對多個主機進行管理,實現負載均勻、集羣、分佈式構架、故障轉移、狀態監控等。docker
寶塔官網提供了詳細的安裝教程,針對不一樣系統有不一樣安裝方式,下面只提供部分安裝代碼。shell
詳細請移步 https://www.bt.cn/bbs/thread-19376-1-1.htmlubuntu
打開服務器 shell 終端安全
Centos 安裝命令:bash
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin 安裝命令:服務器
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
等待一段時間後,會出現控制面板地址和帳號密碼
樣例以下:架構
Bt-Panel: http://<您的 CVM IP 地址>:8888 username: qbqd**** password: eeed**** #記下你的帳號密碼
打開面板地址,輸入帳號密碼進行登錄。
注:
阿里雲、騰訊雲等有安全組限制,可能須要添加 8888
端口,給予訪問權限。
經過寶塔面板的 Docker管理器 ,能夠很方便地獲取、提交鏡像,推送已修改的鏡像,對本地的容器進行管理,一切可視化操做,還能單獨對容器打開終端,進行命令操控。
1,登錄寶塔面板後,點擊左側導航欄的 「軟件管理」,找到 Docker 進行安裝。
2,安裝完畢後,打開 Docker 管理器(可在 「軟件管理」 中找到)。
3,點擊鏡像管理,添加阿里雲鏡像帳號
填寫帳號,須要你的 阿里雲RAM訪問控制(子帳號)、鏡像倉庫、命名空間。
可到如下地址查看或建立,再填寫到寶塔面板
命名空間
https://cr.console.aliyun.com/cn-shenzhen/namespaces
鏡像倉庫
https://cr.console.aliyun.com/cn-shenzhen/repositories
鏡像加速器
https://cr.console.aliyun.com/cn-shenzhen/mirrors
RAM訪問控制
https://ram.console.aliyun.com/overview
5分鐘內便可完成。
Rancher 是一個開源的企業級容器管理平臺。經過 Rancher,企業不再必本身使用一系列的開源軟件去從頭搭建容器服務平臺。
Rancher 提供了在生產環境中使用的管理 Docker 和 Kubernetes 的全棧化容器部署與管理平臺。
固然,使用Rancher,帶來了管理上的方便,也是會稍微下降服務器的性能的,可是這點影響,能夠忽略不計。
1,在 shell 終端 輸入命令安裝 Rancher
sudo docker run -d --restart=always -p 8080:8080 rancher/server
注:
Rancher 默認使用了端口 8888
2,訪問 Rancher 面板
打開 http://ip:8080,便可訪問你的面板,若是沒法訪問,請查看 下一步。
因爲安全組和防火牆限制,須要在雲服務商實例安全組和寶塔面板開放 8080 端口,才能正常訪問。建議直接放行 1-9000 範圍的端口,後面仍然須要開放幾個端口,直接開放一個範圍,後面就沒必要再一個個添加。
4,查看容器、鏡像
打開 寶塔面板 的 「軟件管理」-Docker管理,能夠查看到正在運行的容器和本地鏡像,利用寶塔面板很方便地能夠對 Docker 進行操控。能夠嘗試把鏡像推送到阿里雲倉庫。
打開所有應用列表,查看狀態,healthcheck 、ipsec (除了 myapp )等是系統服務,若是出現下面的狀況(顯示紅色、出現感嘆號),請檢查是否開放了 500、4500 端口,而後手動啓動運行。
咱們安裝的 Rancher ,其實是 Server 端,經過 Rancher,能夠完成集羣管理、分佈式架構。
1,打開了 Rancher,首先要添加管理員帳號
點擊頂部導航欄的 ADMIN,選擇 Access Control ,在出現的多個圖標中,選擇 LOCAL,而後添加帳號密碼。
2,試試切換中文
Rancher 底部有語言切換功能,修改成中文,方便後面的講解。
3,添加主機
要使用 Rancher,至少要一個主機,能夠是當前主機的自己。
點擊 Rancher 面板頂部導航欄的 」基礎構架「 - 」主機「,而後 添加主機。
這一步,無需修改或進行其餘什麼配置,頁面下方會出現一端腳本代碼,把這段代碼複製到終端 shell 運行。待 shell運行完畢,點擊 Rancher 頁面的」關閉「,必定要記得 點擊關閉。
4,出現了主機
這時候便可看到以及添加的主機,能夠對容器進行監控、修改啦~~~
這裏添加的是 」Custom「 ,你也能夠添加 Azure 等主機。
5,使用儀表盤查看主機狀態
在主機列表,點擊實例名,便可加入儀表盤。
這一步主要以 Nginx 爲例,經過建立 Nginx 服務器,學會使用 Rancher、相關功能的使用,對其餘應用使用相似方式手動部署。
1,放行 4500 端口、500 端口
4500、500 是 Rancher 系統服務須要
2,在 Rancher 中添加應用
點擊導航欄的 」應用「 - 」所有「 ,頁面會出現應用列表。
點擊 」添加應用「 ,名稱爲 myapp
3,在剛剛建立的應用中,添加服務
這裏填寫的端口,公開端口即 Docker 向外公開的端口,私有容器端口是容器內其應用的端口。
因爲這裏不對 nginx 服務器進行更多處理,因此端口能夠隨便填,只要公開端口沒有被佔用便可~
兩個端口的關係至關於
docker run -p 8080:8080 ... ...
4,添加負載均勻
在 myapp 應用管理界面,點擊 」添加服務「 -> 」添加負載均勻「 ,端口填寫 80/80 ,此端口用於外網訪問 Docker 容器內的應用、實現多臺主機的負載均勻。經過使用 負載均勻功能 ,負擔 nginx 服務的流量。不要設置爲 8080 等,否則會出現訪問失敗。此功能也是把容器應用暴露到外網的功能,經過外網能夠直接訪問到應用。
必定要選擇目標,選擇要暴露的應用。
這裏選擇 80 做爲端口,由於開發者使用 nginx 部署網站,網站訪問應當使用 80 端口。固然,也能夠隨意使用其餘端口。
5,訪問 nginx
打開 http://ip:80 或直接訪問 http://ip
便可訪問
6,集羣負載均勻
經過添加外部服務,再添加負載均勻,重複兩個步驟,能夠實現集羣的負載均勻。這裏再也不嘗試。
在這裏注意負載均衡與外部服務的區別,
這裏與第五步 的 Nginx 無關,爲了便於理解、避免端口占用,咱們把建立的 myapp 刪除。
筆者做爲 .NET 學習者,固然要搞一下ASP.NET Core了~~~。
1,添加新的應用,名爲 webapp
2,添加服務
鏡像源填寫 microsoft/dotnet-samples:aspnetapp
這個鏡像爲微軟官方提供的 ASP.NET Core 默認模板鏡像,固然,你也能夠把本身的應用打包後推送鏡像到倉庫,再使用 Rancher 建立容器。
端口爲 5000,是由於 ASP.NET Core 默認使用 5000 端口,咱們乾脆也用這個。沒實際意義,沒必要關注這一點。
3,添加負載均勻
4,訪問網站
訪問 http://ip:80 或直接訪問 你的ip
Kubernetes 是 Google 開源的容器集羣管理系統。
其設計目標是在主機集羣之間提供一個可以自動化部署、可拓展、應用容器可運營的平臺。
Kubernetes 一般結合 docker 容器工具工做,而且整合多個運行着docker容器的主機集羣,Kubernetes不只僅支持 Docker,還支持 Rocket,這是另外一種容器技術。
(直接抄來的,哈哈哈哈~~~)
推薦文章
http://blog.51cto.com/13941177/2165668
#文章手把手,很是詳細地講解使用Rancher 安裝 K8s,部署集羣、配置節點,對主機進行管理、部署Web應用
Vs2017 以上,已經爲 ASP.NET Core 添加 Docker 支持
咱們能夠更方便地進行開發,實現跨平臺、微服務構架等。
筆者 推薦文章 http://www.javashuo.com/article/p-mgubprch-bg.html
# 詳細講解了 ASP.NET Core 項目如何添加 Docker 支持,並打包成鏡像推送到倉庫,在服務器上建立容器並運行應用。