Docker的負載均衡

2021-08-28 19:16:09 字數 1137 閱讀 5671

在預設網路模型中,容器每次重啟後,ip會發生變動,在乙個大的分布式系統保證ip位址不變是比較複雜的事情

ip頻繁發生變動,動態應用部署無法預知容器的ip位址,client端如何發現server端的訪問端點?

解決方案

核心空間 lvs/ipvs

使用者空間 nginx

使用者空間 haproxy

測試步驟:

1.在伺服器中搭建乙個nginx伺服器並啟動,具體過程可參考 這裡不在建立

2.在docker中從源中拉一下nginx的官方映象,docker pull nginx,留著備用

3.在本地目錄新建兩個資料夾,我這裡的新建在/mydata/test1,/mydata/test2/

4.分別在兩個test資料夾中新建index.html來標誌,在第乙個html中輸出this is nginx1,在第二個html中輸出this is nginx2,

5.通過docker執行兩個nginx伺服器的容器,並分別將靜態目錄對映到我們剛剛建立的目錄中

[root@catchtouch test2]# docker run --name nginx-test -d -p 8080:80 -v /mydata/test1:/usr/share/nginx/html nginx #第乙個,將8080埠對映到容器中的80埠

[root@catchtouch test2]# docker run --name nginx-test1 -d -p 8081:80 -v /mydata/test2:/usr/share/nginx/html nginx #第二個,將容器中的8081埠對映到容器中的80埠

6.修改宿主機中的nginx的配置檔案

在http{}中新增如下**

upstream myweb

7.進入conf.d目錄,修改default.conf(conf.d中沒有此檔案可以新建,檔名隨意,字尾必須是.conf)

location /
8.儲存後退出,重啟伺服器:systemctl restart nginx

9.通過瀏覽器輸入當前網域名稱,並重新整理頁面,有時輸出nginx1,有時輸出nginx2,配置成功

至此,乙個簡答的負載均衡模型配置完成

docker容器間的負載均衡

場景 第一次寫文章有點害怕,心理慌慌的,寫得不好的或是不對的,還請指點。在最近一次開發過程中遇見這個這樣的問題 在面臨突發性大量使用者湧進系統的時候,伺服器的資源使用並不高,cpu使用率28 左右,記憶體的使用率40 左右但是依然會造成系統卡頓,請求超時等問題。百思不得其解頭髮都快抓掉完了 系統也未...

docker演示nginx負載均衡

背景 在上篇docker演示nginx反向 基礎上繼續 1.分別編寫load balancing 8000.py load balancing 8001.py指令碼 注意指令碼對應埠分別為8000 8001 usr bin python3 coding utf 8 from flask import...

Docker容器實現Nginx的負載均衡

準備工作 docker 主機 192.168.1.10 tomcat latest tomcat1 tomcat latest tomcat2 nginx latest nginx 準備好nginx 和 tomcat 映象 root localhost docker images repositor...