寶塔面板 + Rancher + 阿里雲鏡像倉庫 + Docker + Kubernetes,添加集羣、部署 web 應用

目錄
  一,安裝寶塔面板(V 6.8)
  二,使用寶塔安裝 Docker,配置阿里雲容器服務
  三,安裝 Rancher (Server)
  四,管理 Rancher、添加集羣
  五,添加 Rancher 應用、服務,與 Nginx
  六,ASP.NET Core 應用部署
  七,相關文章推薦
前言:

本文使用 Centos 7.x 進行操作,Rancher 官方推薦使用 Ubuntu。

Docker 對內核要求 大於 3.10,你可以使用 uname -r 檢測系統內容版本。

通過 Rancher,可以很方便地對多個主機進行管理,實現負載均勻、集羣、分佈式構架、故障轉移、狀態監控等。

一,安裝寶塔面板(V 6.8)
寶塔官網提供了詳細的安裝教程,針對不同系統有不同安裝方式,下面只提供部分安裝代碼。

詳細請移步 https://www.bt.cn/bbs/thread-19376-1-1.html

打開服務器 shell 終端

Centos 安裝命令:

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,配置阿里雲容器服務
通過寶塔面板的 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 (Server)
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,即可訪問你的面板,如果無法訪問,請查看 下一步。

3,允許端口

由於安全組和防火牆限制,需要在雲服務商實例安全組和寶塔面板開放 8080 端口,才能正常訪問。建議直接放行 1-9000 範圍的端口,後面仍然需要開放幾個端口,直接開放一個範圍,後面就不必再一個個添加。

4,查看容器、鏡像

打開 寶塔面板 的 “軟件管理”-Docker管理,可以查看到正在運行的容器和本地鏡像,利用寶塔面板很方便地可以對 Docker 進行操控。可以嘗試把鏡像推送到阿里雲倉庫。

四,管理 Rancher、添加集羣
打開全部應用列表,查看狀態,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,使用儀表盤查看主機狀態

在主機列表,點擊實例名,即可加入儀表盤。

五,添加 Rancher 應用、服務,與 Nginx
這一步主要以 Nginx 爲例,通過創建 Nginx 服務器,學會使用 Rancher、相關功能的使用,對其他應用使用類似方式手動部署。

1,放行 4500 端口、500 端口

4500、500 是 Rancher 系統服務需要

2,在 Rancher 中添加應用

點擊導航欄的 ”應用“ - ”全部“ ,頁面會出現應用列表。

點擊 ”添加應用“ ,名稱爲 myapp

3,在剛剛創建的應用中,添加服務

名稱輸入 nginx,
鏡像輸入 nginx ,當然你也可以選擇 nginx 版本,填寫形式跟 Docker 鏡像形式一致,
兩個端口輸入 8090 ,
其他地方不用填,點擊 ”創建“ 即可。
這裏填寫的端口,公開端口即 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,集羣負載均勻

通過添加外部服務,再添加負載均勻,重複兩個步驟,可以實現集羣的負載均勻。這裏不再嘗試。

在這裏注意負載均衡與外部服務的區別,

負載均衡需要配置服務自身的端口,
而外部服務需要爲其配置,其他鏈接服務所暴露出的端口,即其他主機暴露出來的公用端口

六,ASP.NET Core 應用部署
這裏與第五步 的 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

七,相關文章推薦
1,使用 Kubernetes
Kubernetes 是 Google 開源的容器集羣管理系統。

其設計目標是在主機集羣之間提供一個能夠自動化部署、可拓展、應用容器可運營的平臺。

Kubernetes 通常結合 docker 容器工具工作,並且整合多個運行着docker容器的主機集羣,Kubernetes不僅僅支持 Docker,還支持 Rocket,這是另一種容器技術。

(直接抄來的,哈哈哈哈~~~)

推薦文章

http://blog.51cto.com/13941177/2165668

#文章手把手,非常詳細地講解使用Rancher 安裝 K8s,部署集羣、配置節點,對主機進行管理、部署Web應用

2,本地 ASP.NET Core 應用容器化
Vs2017 以上,已經爲 ASP.NET Core 添加 Docker 支持

我們可以更方便地進行開發,實現跨平臺、微服務構架等。

筆者 推薦文章 https://www.cnblogs.com/FireworksEasyCool/p/10218384.html

詳細講解了 ASP.NET Core 項目如何添加 Docker 支持,並打包成鏡像推送到倉庫,在服務器上創建容器並運行應用。

一個逗逗的大學生

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