本文為您介紹建立、綁定、解除綁定和釋放邊緣高可用虛擬IP的相關操作。
HAVIP配置樣本
建立邊緣高可用虛擬IP
登入邊緣節點服務ENS控制台。
在左側導覽列選擇。

在高可用VIP頁面,單擊建立高可用VIP,配置以下參數。
配置
說明
執行個體名稱
高可用VIP的名稱。長度為2~128個字元,必須以大小寫字母或中文開頭,不能以
http://和https://開頭,可以包含數字、半形冒號:、底線_或者連字號-。有序尾碼
在同一節點一次建立多個高可用VIP執行個體時,執行個體名稱尾碼會從
-1開始有序遞增,例如:ENSHAVIP-1,ENSHAVIP-2。地區
地區:選擇要建立高可用VIP的邊緣節點。
數量:每個節點建立高可用VIP的數量。
專用網路:選擇高可用VIP所屬的專用網路。
交換器:選擇高可用VIP所屬的交換器。
說明在控制台可同時建立多個邊緣節點的高可用VIP,且高可用VIP只支援在VPC網路下建立。
建立成功後,您可以在高可用VIP列表頁查看建立的HAVIP。
綁定邊緣高可用虛擬IP
高可用VIP可以綁定到ENS執行個體、彈性網卡執行個體上,也可以綁定Elastic IP Address被公網訪問。
ENS執行個體綁定HAVIP
在高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊綁定資源。
在彈出的對話方塊,選擇要綁定的ENS執行個體或彈性網卡,單擊确定。
說明所綁定的執行個體必須和當前高可用VIP執行個體處於同一交換器下。
綁定類型為彈性網卡時,彈性網卡需要綁定到計算執行個體後才能夠被選擇,否則無法與HAVIP綁定。
Elastic IP Address綁定HAVIP
在高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊公網IP。
在彈出的對話方塊,選擇要綁定的公網IP(一次只能綁定一個邊緣彈性公網執行個體),單擊确定。
解除綁定邊緣高可用虛擬IP
在高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊解除綁定資源。
在彈出的對話方塊,選擇要解除綁定ENS執行個體或彈性網卡(一次只能解除綁定一個執行個體),單擊确认。
解除綁定ENS執行個體,只有狀態為運行中或已停止時才能解除綁定。
解除綁定彈性網卡執行個體,只有狀態為可用和已綁定時才能解除綁定。
釋放邊緣高可用虛擬IP
釋放高可用VIP前,請確保沒有綁定任何雲資源,否則無法釋放。
在高可用VIP列表頁,找到目標高可用VIP執行個體,在操作列單擊釋放。
在彈出的對話方塊,單擊确定。
Keepalived配置參考
本樣本以雙機主備為例,介紹作業系統為CentOS的ENS執行個體如何安裝Keepalived。推薦使用V1.2.15及以上版本的Keepalived。
如有多台備用 ENS 執行個體,需在各 ENS 執行個體的unicast_peer中聲明所有對端執行個體的 IP。可前往Keepalived GitHub瞭解更多資訊。
主伺服器配置
登入ENS執行個體
執行
yum install keepalived安裝Keepalived。執行
vim /etc/keepalived/keepalived.conf編輯keepalived.conf檔案。本樣本僅展示需修改部分,請結合具體執行個體修改keepalived.conf檔案配置。請勿直接複製本樣本覆蓋已有keepalived.conf檔案。
! Configuration File for keepalived vrrp_instance VI_1 { strict_mode off # 關閉strict 模式以允許單播 state MASTER # 設定為主執行個體 interface eth0 # 綁定VIP的網卡,本樣本配置為eth0 virtual_router_id 51 # 主備叢集的virtual_router_id;同一VPC下的不同主備叢集需要配置不同的virtual_router_id nopreempt # 設定非搶佔模式 priority 100 # 設定優先權,數字越大,優先順序越高;本樣本配置優先順序為100,將本執行個體設定為主執行個體 advert_int 1 # 心跳報文發送間隔,單位為秒。設定過小,易受網路抖動影響,可能發生頻繁倒換和暫時雙主(即腦裂)。設定過大,可能導致主執行個體故障後,主備切換時間長。 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 192.168.0.25 # 本執行個體的私網IP地址,本樣本配置為192.168.0.25 unicast_peer { 192.168.0.26 # 對端執行個體的私網IP地址,本樣本配置為192.168.0.26;如有多台備用ENS執行個體,需聲明所有對端執行個體的IP,每個地址單獨佔一行,無需逗號或其他分隔字元。 } virtual_ipaddress { 192.168.0.24 # 虛擬IP地址,配置為HaVip的IP地址,本樣本為192.168.0.24 } garp_master_delay 1 # 當切為主執行個體後多久更新ARP緩衝,單位為秒 garp_master_refresh 5 # 發送ARP報文的時間間隔,單位為秒 track_interface { eth0 # 綁定VIP的網卡,本樣本配置為eth0 } }執行
systemctl start keepalived啟動 Keepalived。
備伺服器配置
登入備 ENS 執行個體。
執行
yum install keepalived安裝Keepalived。執行
vim /etc/keepalived/keepalived.conf編輯keepalived.conf檔案。本樣本僅展示需修改部分,請結合具體執行個體修改keepalived.conf檔案配置。請勿直接複製本樣本覆蓋已有keepalived.conf檔案。
! Configuration File for keepalived vrrp_instance VI_1 { strict_mode off # 關閉strict 模式以允許單播 state BACKUP # 設定為備執行個體 interface eth0 # 綁定VIP的網卡,本樣本配置為eth0 virtual_router_id 51 # 主備叢集的virtual_router_id;同一VPC下的不同主備叢集需要配置不同的virtual_router_id nopreempt # 設定非搶佔模式 priority 10 # 設定優先權,數字越大,優先順序越高;本樣本配置優先順序為10,將本執行個體設定為備執行個體 advert_int 1 # 心跳報文發送間隔,單位為秒。設定過小,易受網路抖動影響,可能發生頻繁倒換和暫時雙主(即腦裂)。設定過大,可能導致主執行個體故障後,主備切換時間長。 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 192.168.0.26 # 本執行個體的私網IP地址,本樣本配置為192.168.0.26 unicast_peer { 192.168.0.25 # 對端執行個體的私網IP地址,本樣本配置為192.168.0.25。需聲明所有對端執行個體的IP,每個地址單獨佔一行,無需逗號或其他分隔字元。 } virtual_ipaddress { 192.168.0.24 # 虛擬IP地址,配置為HaVip的IP地址,本樣本為192.168.0.24 } garp_master_delay 1 # 當切為主執行個體後多久更新ARP緩衝,單位為秒 garp_master_refresh 5 # 發送ARP報文的時間間隔,單位為秒 track_interface { eth0 # 綁定VIP的網卡,本樣本配置為eth0 } }執行
systemctl start keepalived啟動 Keepalived。
效果驗證
在主備執行個體分別執行以下命令,建立Web測試服務,返回不同結果。
netstat -an | grep 8000 # 查看連接埠佔用情況,如果8000連接埠被佔用,需要選擇其他連接埠。主執行個體:
echo "ENS-1" > index.html # 主執行個體返回"ENS-1" python3 -m http.server 8000備執行個體:
echo "ENS-2" > index.html # 備執行個體返回"ENS-2" python3 -m http.server 8000在同 VPC 內的其他 ENS 執行個體中,執行
curl <havip_private_ip>:8000,將返回ENS-1;當主伺服器停機後,將返回ENS-2。