成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

解讀 Linux 系統 Keepalived 健康檢查機制

系統 Linux
在進行負載均衡時,一般都會部署一個健康檢查工具,確保后端real server是正常的,可以提供服務的,避免出現后端real server 已經宕機或服務不可用時,負載均衡器扔將請求分發到real server,影響整體業務訪問。

在進行負載均衡時,一般都會部署一個健康檢查工具,確保后端real server是正常的,可以提供服務的,避免出現后端real server 已經宕機或服務不可用時,負載均衡器扔將請求分發到real server,影響整體業務訪問。健康檢查的方式有很多,可以自行部署腳本,當然當前用的比較多的就是keepalived服務了。keepalived的健康檢查方式有三種,tcp_check、http_check、misc_check。

keepalived配置簡述

keepalived主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的 keepalived只有一個配置文件keepalived.conf,里面主要包括以下幾個配置區域,分別是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server。

yum install keepalived -y

配置文件:

! Configuration File for keepalived



# vi /etc/keepalived/keepalived.conf



# 全局配置 主要是配置故障發生時的通知對象以及機器標識

global_defs {



    notification_email {

        r_xl@xl.com    # 設置報警郵件接收地址,需要開啟 sendmail 服務

    }



    notification_email_from s_xl@xl.com    # 設置郵件的發送地址

    smtp_server 192.168.2.241    # 設置通知的 SMTP Server 地址

    smtp_connect_timeout 30      # 設置通知的 SMTP Server 的超時時間



    router_id LVS_DEVEL_1        # 路由ID,標識本節點的字符串,郵件通知時會用到



}



# 自定義VRRP實例健康檢查腳本 keepalived只能做到對自身問題和網絡故障的監控,Script可以增加其他的監控來判定是否需要切換主備

vrrp_script chk_sshd {



    script "killall -0 sshd"    # 示例為檢查sshd服務是否運行中



    interval 2         # 檢查間隔時間

    weight -4          # 檢查失敗降低的權重



}





# VRRP實例 定義對外提供服務的VIP區域及其相關屬性

vrrp_instance VI_1 {



    state MASTER           # 狀態只有 MASTER 和 BACKUP 兩種,并且要大寫,MASTER 為工作狀態,BACKUP 是備用狀態

    interface eth0         # 節點固有IP(非VIP)的網卡,用來發VRRP包

    virtual_router_id 51   # 虛擬路由標識,同一個 vrrp_instance 的 MASTER 和 BACKUP 的 vitrual_router_id 需要一致

    priority 100           # 優先級,同一個 vrrp_instance 的 MASTER 優先級必須比 BACKUP 高

    advert_int 1           # MASTER 與 BACKUP 負載均衡器之間同步檢查的時間間隔,單位為秒



    authentication {       # 設置認證

        auth_type PASS     # 認證方式,支持 PASS 和 HA

        auth_pass 1111     # 證密碼為明文,同一 vrrp 實例 MASTER 與 BACKUP 使用相同的密碼才能正常通信

    }



    virtual_ipaddress {    # 虛擬IP地址(VIP),可以有多個地址,每個地址占一行

        192.168.12.200

    }



    track_script {         # 自定義健康檢查腳本

        chk_sshd           # 配置上面自定義的vrrp腳本調用名

    }

}



# 設置虛擬服務器

virtual_server 192.168.12.200 6500 {     # 指定虛擬IP地址和服務端口



    delay_loop 6             # 服務健康檢查周期,6秒

    lb_algo rr               # 負載均衡調度算法,一般用wrr、rr、wlc

    lb_kind DR               # 負載均衡轉發規則。一般包括DR,NAT,TUN 3種

    persistence_timeout 5    # 會話保持時間。把用戶請求請求間隔在未超過保持時間時,一直分發到某個服務節點

    protocol TCP             # 轉發協議 有TCP和UDP兩種



    # 配置真實服務器

    real_server 192.168.2.222 6500 {    #指定IP和端口



        weight 1       # 權重,數值越大,權重越高



        # 健康檢查方式 常見有 TCP_CHECK, HTTP_GET, SSL_GET, MISC_CHECK(自定義腳本)

        TCP_CHECK {               # 通過TcpCheck方式判斷RealServer的健康狀態

            connect_timeout 10    # 連接超時時間

            nb_get_retry 3        # 重連次數

            delay_before_retry 3  # 重連時間間隔

            connect_port 6500     # 檢測端口

        }



    }



    # 配置真實服務器

    real_server 192.168.2.222 6500 {    #指定IP和端口



        weight 1      # 權重,數值越大,權重越高



        # 健康檢查方式 常見有 TCP_CHECK, HTTP_GET, SSL_GET, MISC_CHECK(自定義腳本)

        TCP_CHECK {               # 通過TcpCheck判斷RealServer的健康狀態

            connect_timeout 10    # 連接超時時間

            nb_get_retry 3        # 重連次數

            delay_before_retry 3  # 重連時間間隔

            connect_port 6500     # 檢測端口

        }   

    }   

}

健康檢查類型

TCP_CHECK
TCP_CHECK { # 通過TcpCheck判斷RealServer的健康狀態

    connect_timeout 10    # 連接超時時間
    nb_get_retry 3        # 重連次數
    delay_before_retry 3  # 重連時間間隔
    connect_port 6500     # 檢測端口
}

2.HTTP_GET

HTTP_GET {

        url {

            path check/200.jsp  # 檢查的uri地址

            digest 1362a91278f0806aa1d33e1e26d67763 # 用keepalived自帶的genhash生成,/usr/bin/genhash -s rsIP -p port -u uri

        }

        connect_timeout 3   # 鏈接超時時間

        nb_get_retry 3   # 重連次數

        delay_before_retry 3  # 重連時間間隔

        connect_port 6500  # 檢測端口

    }

3.MISC_CHECK

keepalived.conf配置:

MISC_CHECK {

        misc_path "/etc/keepalived/misc_check.sh http://192.168.2.222:6500/check/200.jsp"    # 外部程序或者腳本的路徑和參數

        misc_timeout 10   # 腳本執行的超時時間

        misc_dynamic    #動態權重標志。腳本返回0則檢測成功權重不變,返回1表示失敗權重設置為0

    }

腳本示例:

#!/bin/bash

# ./misc_check.sh http://192.168.2.222:6500/check/200.jsp



if [ $# -ne 1 ]; then

    echo "Warning: command param error."

    exit 1

else

    CHECK_URL=$1

    CMD=`/usr/bin/curl -I ${CHECK_URL} 2>/dev/null | grep "200 OK" | wc -l`



    if [ ${CMD} -eq 1 ]; then

            echo "Succ: Check proxy ${CHECK_URL} is succeed."

        exit 0



    else

        echo "Fail: check proxy ${CHECK_URL} is failed."

        exit 1

    fi

fi
責任編輯:華軒 來源: 微技術之家
相關推薦

2017-08-25 10:20:46

Docker容器機制

2023-05-09 07:34:25

Docker健康檢查方式

2023-03-02 07:20:10

GRPC服務健康檢查協議

2023-03-03 08:19:35

KubernetesgRPC

2023-03-01 08:33:37

gRPC健康檢查代碼

2021-07-15 10:25:15

集群節點檢查

2022-02-28 07:40:23

Nacos注冊中心客戶端

2020-12-07 06:29:13

SpringBoot

2023-10-14 15:36:14

PodKubernetes

2012-02-15 00:01:34

2022-09-07 09:19:49

Docker健康檢查

2021-01-15 05:38:28

ASPHttp端口

2021-04-18 10:34:28

Spring Clou郵件釘釘

2021-09-18 16:10:48

Spring BootJava微服務

2024-02-19 08:01:59

服務微服務授權

2021-07-05 06:51:41

Nacos微服務源碼

2021-09-21 16:31:56

Windows 11微軟PC健康檢查工具

2024-10-31 15:16:35

2023-02-18 13:34:14

Nacos健康檢查機制

2023-03-07 07:49:06

Kubernetes容器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线播放中文字幕 | 久久激情视频 | 久久欧美高清二区三区 | 午夜在线观看视频 | 精品国产一级 | 91在线一区 | 国产aa | 中文字幕的av | 亚洲国产成人av好男人在线观看 | 成人免费在线电影 | 欧美日韩一区二区三区在线观看 | 精品国产欧美一区二区 | 插插插干干干 | 亚洲欧美激情国产综合久久久 | 国产成人精品一区二区三区在线 | 一区二区国产在线 | 国产美女一区二区 | 欧美另类视频在线 | www.成人.com | 狠狠色综合久久丁香婷婷 | 日韩精品免费 | 亚洲一区二区av | h在线免费观看 | 欧美高清一区 | a视频在线观看 | 日韩在线观看中文字幕 | 国产乱码精品一区二区三区忘忧草 | www.亚洲一区二区 | 亚洲日本视频 | 久久精品亚洲精品国产欧美 | 精品久久久久久久 | www国产亚洲精品 | 在线亚洲欧美 | 国产一级在线 | 国产中文字幕在线 | 国产在线精品一区 | 99re在线| 中文字幕一区在线观看视频 | 欧美一卡二卡在线观看 | 俺去俺来也www色官网cms | 日韩精品一区在线 |