基于 Docker-K8s 的 Web 集群專案
- 前言
- 為什么要做這個專案?
- 專案名稱:基于 Docker-K8s 的 Web 集群專案
- 一、專案環境
- 二、專案描述
- 三、專案網路拓撲圖
- 四、專案步驟
- 1.規劃整個集群的架構
- 2.管理集群
- 3.制作鏡像,編譯安裝
- 4.資料一致性
- 5.測驗
- 6.排錯和整理
- 五、總結和心得
前言
為什么要做這個專案?
1.容器是打包和運行應用程式的好方式,在生產環境中,你需要管理運行應用程式的容器,并確保不會停機,
2.Kubernetes 為你提供了一個可彈性運行分布式系統的框架, Kubernetes 會滿足你的擴展要求、故障轉移、部署模式等
3.Kubernetes 旨在支持極其多種多樣的作業負載,包括無狀態、有狀態和資料處理作業負載, 如果應用程式可以在容器中運行,那么它應該可以在 Kubernetes 上很好地運行,
專案名稱:基于 Docker-K8s 的 Web 集群專案
一、專案環境
docker 1.13 Centos7.6.1810
nginx: 1.18
服務器數量:7臺(配置:2G 1核)
二、專案描述
實作一個高可用的負載均衡的web服務器集群,底層采用k8s管理的docker集群來提供web服務,大量使用容器來完成web服務的擴展性,高可用性,
三、專案網路拓撲圖

四、專案步驟
1.規劃整個集群的架構
前端使用 nginx 做負載均衡,采用 keepalived 實作高可用,
后端使用k8s 來實作web 容器負載均衡和高可用,
2.管理集群
后端采用k8s來管理整個docker 集群,4個節點的k8s集群,每個docker 宿主機需要啟動10個容器,總共啟動40個容器來提供web服務,
3.制作鏡像,編譯安裝
制作自己的nginx的容器的鏡像,定制nginx.conf內容(網頁根目錄等),編譯安裝nginx,指定引數(安裝路徑,https,狀態統計等配置)
4.資料一致性
使用nfs服務為所有的docker節點提供相同web資料,實作資料一致性,在所有的docker宿主機上創建使用nfs服務器的資料卷,然后所有的docker nginx容器使用PV和PVC和NFS融合,達到所有的容器都使用相同的資料,
5.測驗
對整個集群的穩定性和擴展性進行壓力測驗
6.排錯和整理
排錯和故障解決,整理專案檔案,書寫博客
五、總結和心得
1.通過整個專案的完成,對于docker的技術理解會更加深刻,使用docker的集群解決方案會比傳統的集群解決方案更加方便和便捷,對于拓展性會更加強大,
2.docker內部的高可用和負載均衡,之前做的swarm的集群專案,可能對于負載均衡方面并不是很深刻,現在通過k8s的專案會更加透徹一些,對于master和node方面和專案的框架,邏輯會更加清晰一點,
3.對于做實驗的程序中出現的一些故障和報錯問題,可以自己動手去查詢官方檔案去解決問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/298630.html
標籤:其他
上一篇:??手把手教你做一個愛情保溫軟體??——python封裝.exe檔案+爬蟲(每日情話系列)
下一篇:校園網內網穿透,搭建校園網vpn
