# Redhat 계열
yum install -y keepalived
# Ubuntu
apt-get install -y keepalived
- 동일한 네트워크 대역 안에 다른 keepalived가 구동 중일경우 virtual_router_id 값을 다르게 해줘야 한다.
vi /etc/keepalived/keepalived.conf
# 기존 내용을 삭제하고 아래 내용으로 수정한다.
! Configuration File for keepalived
vrrp_instance VI_0 {
state MASTER
interface eth0 # 노드에서 실제 사용할 인터페이스 지정
virtual_router_id 10
! 우선순위만 각기 다르게 설정한다.
! 숫자가 큰 쪽이 우선순위가 높다
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass P@ssW0rd
}
virtual_ipaddress {
192.168.0.100
}
}
global_defs {
router_id rtr_01
}
vrrp_instance VI_kubernetes {
state MASTER
interface enX3
virtual_router_id 1
priority 200
advert_int 1
garp_master_delay 1
garp_master_repeat 5
authentication {
auth_type haedongg
auth_pass zhrtmtmvpdltm
}
! multicast가 불가능한 경우
unicast_src_ip 192.168.1.1
unicast_peer {
192.168.1.2
192.168.1.3
}
virtual_ipaddress {
192.168.1.10
}
}
! Configuration File for keepalived
global_defs {
router_id rtr_1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 10
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass P@ssW0rd
}
virtual_ipaddress {
192.168.0.100
}
}
vrrp_instance VI_0 {
state MASTER
interface eth0
virtual_router_id 10
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass P@ssW0rd
}
unicat_src_ip 192.168.0.1
unicast_peer {
192.168.0.2
192.168.0.3
}
virtual_ipaddress {
192.168.0.100 # Master와 Backup 동일하게 설정한 VIP
}
}
systemctl enable keepalived --now
ip address
전략...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 36:a9:13:03:2e:67 brd ff:ff:ff:ff:ff:ff
inet 192.168.103.101/24 brd 192.168.103.255 scope global eth0
valid_lft forever preferred_lft forever
"inet 192.168.103.100/32 scope global eth0"
valid_lft forever preferred_lft forever
inet6 fe80::34a9:13ff:fe03:2e67/64 scope link
valid_lft forever preferred_lft forever
# eth0 에 config 파일에서 지정한 virtual address 가 추가된 것을 확인할 수 있다.
[root@k8s01:/etc/sysconfig/network-scripts]#ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 36:a9:13:03:2e:67 brd ff:ff:ff:ff:ff:ff
inet 192.168.103.101/24 brd 192.168.103.255 scope global eth0
valid_lft forever preferred_lft forever
"inet 192.168.103.110/32 scope global eth0"
valid_lft forever preferred_lft forever
inet6 fe80::34a9:13ff:fe03:2e67/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 16:23:6e:44:5d:0d brd ff:ff:ff:ff:ff:ff
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:08:74:42:73 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:8ff:fe74:4273/64 scope link
valid_lft forever preferred_lft forever