概念:
ipvs (IP Virtual Server)實(shí)現(xiàn)了傳輸層負(fù)載均衡,也就是我們常說的4層LAN交換,作為 Linux 內(nèi)核的一部分。ipvs運(yùn)行在主機(jī)上,在真實(shí)服務(wù)器集群前充當(dāng)負(fù)載均衡器。ipvs可以將基于TCP和UDP的服務(wù)請求轉(zhuǎn)發(fā)到真實(shí)服務(wù)器上,并使真實(shí)服務(wù)器的服務(wù)在單個(gè) IP 地址上顯示為虛擬服務(wù)。
ipvs vs. iptables
我們知道kube-proxy支持 iptables 和 ipvs 兩種模式, 在kubernetesv1.8 中引入了 ipvs 模式,在 v1.9 中處于 beta 階段,在 v1.11 中已經(jīng)正式可用了。iptables 模式在 v1.1 中就添加支持了,從 v1.2 版本開始 iptables 就是 kube-proxy 默認(rèn)的操作模式,ipvs 和 iptables 都是基于netfilter的,那么 ipvs 模式和 iptables 模式之間有哪些差異呢?
ipvs 為大型集群提供了更好的可擴(kuò)展性和性能
ipvs 支持比 iptables 更復(fù)雜的復(fù)制均衡算法(最小負(fù)載、最少連接、加權(quán)等等)
ipvs 支持服務(wù)器健康檢查和連接重試等功能
ipvs 依賴 iptables
ipvs 會(huì)使用 iptables 進(jìn)行包過濾、SNAT、masquared(偽裝)。具體來說,ipvs 將使用ipset來存儲(chǔ)需要DROP或masquared的流量的源或目標(biāo)地址,以確保 iptables 規(guī)則的數(shù)量是恒定的,這樣我們就不需要關(guān)心我們有多少服務(wù)了
LVS調(diào)度算法:
1. 輪叫調(diào)度 rr
這種算法是最簡單的,就是按依次循環(huán)的方式將請求調(diào)度到不同的服務(wù)器上,該算法最大的特點(diǎn)就是簡單。輪詢算法假設(shè)所有的服務(wù)器處理請求的能力都是一樣的,調(diào)度器會(huì)將所有的請求平均分配給每個(gè)真實(shí)服務(wù)器,不管后端 RS 配置和處理能力,非常均衡地分發(fā)下去。
2. 加權(quán)輪叫 wrr
這種算法比 rr 的算法多了一個(gè)權(quán)重的概念,可以給 RS 設(shè)置權(quán)重,權(quán)重越高,那么分發(fā)的請求數(shù)越多,權(quán)重的取值范圍 0 – 100。主要是對rr算法的一種優(yōu)化和補(bǔ)充, LVS 會(huì)考慮每臺(tái)服務(wù)器的性能,并給每臺(tái)服務(wù)器添加要給權(quán)值,如果服務(wù)器A的權(quán)值為1,服務(wù)器B的權(quán)值為2,則調(diào)度到服務(wù)器B的請求會(huì)是服務(wù)器A的2倍。權(quán)值越高的服務(wù)器,處理的請求越多。
3. 最少鏈接 lc
這個(gè)算法會(huì)根據(jù)后端 RS 的連接數(shù)來決定把請求分發(fā)給誰,比如 RS1 連接數(shù)比 RS2 連接數(shù)少,那么請求就優(yōu)先發(fā)給 RS1
4. 加權(quán)最少鏈接 wlc
這個(gè)算法比 lc 多了一個(gè)權(quán)重的概念。
5. 基于局部性的最少連接調(diào)度算法 lblc
這個(gè)算法是請求數(shù)據(jù)包的目標(biāo) IP 地址的一種調(diào)度算法,該算法先根據(jù)請求的目標(biāo) IP 地址尋找最近的該目標(biāo) IP 地址所有使用的服務(wù)器,如果這臺(tái)服務(wù)器依然可用,并且有能力處理該請求,調(diào)度器會(huì)盡量選擇相同的服務(wù)器,否則會(huì)繼續(xù)選擇其它可行的服務(wù)器
6. 復(fù)雜的基于局部性最少的連接算法 lblcr
記錄的不是要給目標(biāo) IP 與一臺(tái)服務(wù)器之間的連接記錄,它會(huì)維護(hù)一個(gè)目標(biāo) IP 到一組服務(wù)器之間的映射關(guān)系,防止單點(diǎn)服務(wù)器負(fù)載過高。
7. 目標(biāo)地址散列調(diào)度算法 dh
該算法是根據(jù)目標(biāo) IP 地址通過散列函數(shù)將目標(biāo) IP 與服務(wù)器建立映射關(guān)系,出現(xiàn)服務(wù)器不可用或負(fù)載過高的情況下,發(fā)往該目標(biāo) IP 的請求會(huì)固定發(fā)給該服務(wù)器。
8. 源地址散列調(diào)度算法 sh
與目標(biāo)地址散列調(diào)度算法類似,但它是根據(jù)源地址散列算法進(jìn)行靜態(tài)分配固定的服務(wù)器資源。
ipvsadm參數(shù):
添加虛擬服務(wù)器 語法:ipvsadm -A [-t|u|f] [vip_addr:port] [-s:指定算法] -A:添加 -t:TCP協(xié)議 -u:UDP協(xié)議 -f:防火墻標(biāo)記 -D:刪除虛擬服務(wù)器記錄 -E:修改虛擬服務(wù)器記錄 -C:清空所有記錄 -L:查看 添加后端RealServer 語法:ipvsadm -a [-t|u|f] [vip_addr:port] [-r ip_addr] [-g|i|m] [-w 指定權(quán)重] -a:添加 -t:TCP協(xié)議 -u:UDP協(xié)議 -f:防火墻標(biāo)記 -r:指定后端realserver的IP -g:DR模式 -i:TUN模式 -m:NAT模式 -w:指定權(quán)重 -d:刪除realserver記錄 -e:修改realserver記錄 -l:查看 通用: ipvsadm -ln:查看規(guī)則 service ipvsadm save:保存規(guī)則
負(fù)載均衡器端:
安裝LVS [root@lb01 ~]#yum -y install ipvsadm [root@lb01 ~]#ipvsadm 添加綁定VIP [root@lb01 ~]#ip addr add 192.168.0.89/24 dev eth0 label eth0:1 配置LVS-DR模式 [root@lb01 ~]#ipvsadm -A -t 192.168.0.89:80 -s rr //創(chuàng)建一個(gè)DR,并指定調(diào)度算法采用rr。 [root@lb01 ~]#ipvsadm -a -t 192.168.0.89:80 -r 192.168.0.93 -g //添加RS [root@lb01 ~]#ipvsadm -a -t 192.168.0.89:80 -r 192.168.0.94 -g //添加RS
Real-Server端
配置測試后端realserver 配置httpd省略 [root@realserver-1 ~]#curl 192.168.0.93 #測試realserver-1網(wǎng)站是否正常 192.168.0.93 [root@realserver-2 ~]#curl 192.168.0.94 #測試realserver-2網(wǎng)站是否正常 192.168.0.94 綁定VIP到lo網(wǎng)卡 [root@realserver-1 ~]#ip addr add 192.168.0.89/32 dev lo label lo:1 #由于DR模式需要realserver也有VIP 抑制ARP [root@realserver-1 ~]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@realserver-1 ~]#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce [root@realserver-1 ~]#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@realserver-1 ~]#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
客戶端測試
[root@test ~]#curl 192.168.0.89 192.168.0.93 [root@test ~]#curl 192.168.0.89 192.168.0.94
鏈接:https://www.cnblogs.com/hongdada/p/9758939.html
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40275 -
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
負(fù)載均衡
+關(guān)注
關(guān)注
0文章
110瀏覽量
12364
原文標(biāo)題:IPVS負(fù)載均衡
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論