項目描述
模擬企業(yè)里的web項目需求,最終目的是構(gòu)建一個高性能高可用的web集群系統(tǒng)。部署lvs負(fù)載均衡系統(tǒng)和keepalived高可用軟件,后端使用nginx做web服務(wù)器,同時搭建內(nèi)部的一套基于prometheus的監(jiān)控系統(tǒng)。使用ansible實現(xiàn)整個集群系統(tǒng)的自動化運(yùn)維工作。
項目環(huán)境
ceotos7 nginx1.25.3 node_exporter-1.4.0 keepalived 1.3.5
nfs4 prometheus-2.43.0 grafana-9.1.2
項目步驟
1、 構(gòu)建項目架構(gòu)圖
2、安裝部署6臺虛擬機(jī),做好網(wǎng)絡(luò)初始化工作
靜態(tài)配置6臺虛擬機(jī)的ip地址:(注意:配置后,service network restart刷新網(wǎng)絡(luò)服務(wù))
關(guān)閉防火墻服務(wù),selinux功能等
3、在兩臺服務(wù)器上部署nginx web服務(wù)以及使用基于域名的虛擬主機(jī)功能,配置2個虛擬主機(jī)分別對應(yīng)兩個網(wǎng)站,安裝vts模塊,了解nginx負(fù)載和訪問情況
1、到nginx官方網(wǎng)站上下載鏡像,解壓
curl -O https://nginx.org/download/nginx-1.25.3.tar.gz
tar xf nginx-1.25.3.tar.gz
2、編寫nginx安裝腳本
3、將腳本scp到web2機(jī)器上,編譯安裝
scp onekey_install_nginx_2023_summer.sh 192.168.196.163:/root
source onekey_install_nginx_2023_summer.sh
4、基于域名的虛擬主機(jī),兩個虛擬主機(jī)對應(yīng)兩個網(wǎng)站
5、了解nginx的負(fù)載和訪問情況
4、配置lvs(DR模式)+keepalived實現(xiàn)整個集群高可用和負(fù)載均衡
在兩臺LB負(fù)載均衡器上安裝keepalived和ipvsadm
yum install keepalived ipvsadm -y
1、在2臺負(fù)載均衡服務(wù)器上的keepalived里實現(xiàn)雙vip配置
2、查看vip效果
3、在DR調(diào)度器上配置負(fù)載均衡策略
在lb1和lb2上執(zhí)行腳本
4、在后端的realserver上配置vip和arp毒化功能
執(zhí)行腳本
5、安裝nfs服務(wù)器,共享網(wǎng)頁目錄
1、在網(wǎng)絡(luò)綜合服務(wù)器,web1,web2上安裝nfs服務(wù)
yum install nfs-utils -y
在web1和web2上,不需要啟動nfs服務(wù),主要是使用nfs服務(wù)器共享的文件夾,需要掛載nfs文件系統(tǒng)
2、刷新服務(wù),輸出共享目錄
3、新建共享目錄/web和復(fù)制web1上的html目錄過來
然后將web1上以前新建的2個網(wǎng)站的網(wǎng)頁都scp到nfs的共享目錄/web下
4、在web1和web2都掛著nfs共享的目錄到html目錄下
5、設(shè)置web1和web2開機(jī)自動掛著nfs共享目錄
6、安裝ansible服務(wù)器,設(shè)置好主機(jī)清單,配置免密通道,方便批量自動化運(yùn)維
1、在網(wǎng)絡(luò)綜合服務(wù)器上安裝ansible自動化運(yùn)維工具
2、在ansible服務(wù)器和其他的服務(wù)器之間建立免密通道(單向信任關(guān)系)
注意:ansible.cfg 是ansible的配置文件
hosts 里面定義主機(jī)清單
Roles 基于角色的playbook存放的文件夾
中括號里的web是一個分組的名字,我們可以在這個分組里添加很多需要去管理的機(jī)器的ip地址。
3、在ansible服務(wù)器和其他的服務(wù)器之間建立免密通道(單向信任關(guān)系)
生成密鑰對
4、上傳公鑰到其他服務(wù)器
例:web1
5、測試免密通道是否成功
6、測試ansible服務(wù)器能否控制所有的服務(wù)器
7、安裝Prometheus服務(wù),給每個集群里的節(jié)點(diǎn)服務(wù)器安裝node_exporter,再安裝 grafna出圖展示監(jiān)控效果
1、源碼安裝
2、修改解壓后的壓縮包名字
3、臨時和永久修改PATH變量,添加prometheus的路徑
4、把prometheus做成一個服務(wù)來進(jìn)行管理,非常方便日后維護(hù)和使用
5、重新加載systemd相關(guān)的服務(wù),識別Prometheus服務(wù)的配置文件,設(shè)置開機(jī)啟動
6、訪問Prometheus 的web server
7、安裝exporter
將node-exporter傳遞到所有的服務(wù)器上的/root目錄下
編寫在其他機(jī)器上安裝node_exporter的腳本
讓systemd進(jìn)程識別node_exporter服務(wù)
設(shè)置開機(jī)啟動
啟動node_exporter
在ansible服務(wù)器上執(zhí)行安裝node_exporter的腳本
在Prometheus服務(wù)器上添加被監(jiān)控的服務(wù)器
在windows的瀏覽器訪問http://192.168.196.159:9090/targets
8、安裝grafana出圖展示
因為這里在做項目的過程種已經(jīng)導(dǎo)入grafana模板,所以直接進(jìn)入dashboard界面展示視圖效果
8、部署堡壘機(jī),設(shè)置防火墻,設(shè)置tcp wrapps,只允許堡壘機(jī)訪問內(nèi)部服務(wù)器并且發(fā)布內(nèi)網(wǎng)的web服務(wù)器和堡壘機(jī)
1、Tcp wrappers 的配置(允許堡壘機(jī)ssh訪問)
將web集群里的web1和web2,LB1和LB2上進(jìn)行tcp wrappers的配置,只允許堡壘機(jī)ssh進(jìn)來,拒絕其他的機(jī)器ssh過去
對web組的機(jī)器配置tcp wrappers防火墻
對lb組的機(jī)器配置tcp wrappers防火墻
測試是否生效,只允許堡壘機(jī)ssh過去
2、防火墻+路由器的配置
在防火墻服務(wù)器上編寫腳本,實現(xiàn)snat和dnat功能,并且開啟路由功能
永久開啟路由功能
讓內(nèi)核讀取配置文件,開啟路由功能
編寫腳本發(fā)布堡壘機(jī)
查看腳本的執(zhí)行結(jié)果
9、進(jìn)行SNAT和DNAT,堡壘機(jī)發(fā)布測試
測試SNAT功能
測試DNAT功能
到windows真實機(jī)器上測試
堡壘機(jī)測試文章來源:http://www.zghlxwxcb.cn/news/detail-830827.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-830827.html
到了這里,關(guān)于基于lvs+keepalived+nginx的web高性能集群項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!