initial create

This commit is contained in:
sangyun 2024-01-17 15:49:25 +09:00
commit f0fffd6802
5 changed files with 73 additions and 0 deletions

19
Dockerfile Normal file
View File

@ -0,0 +1,19 @@
FROM alpine:latest
# tested alpine : 3.19
# keepalived : https://pkgs.alpinelinux.org/package/edge/community/armhf/keepalived
RUN apk update \
&& apk upgrade \
&& apk add --no-cache \
keepalived \
curl \
ca-certificates \
&& update-ca-certificates \
&& rm -rf /var/cache/apk/* \
&& keepalived --version
COPY keepalived.sh /etc/keepalived/keepalived.sh
RUN chmod +x /etc/keepalived/keepalived.sh; chown root:root /etc/keepalived/keepalived.sh
#CMD ["/usr/sbin/keepalived", "--dont-fork", "--dump-conf", "--vrrp", "--log-detail", "--log-console"]

0
README.md Normal file
View File

12
docker-compose.yml Normal file
View File

@ -0,0 +1,12 @@
version: '3.5'
services:
keepalived:
build: .
volumes:
- ./keepalived.conf:/etc/keepalived/keepalived.conf
network_mode: host
cap_add:
- NET_ADMIN
- NET_BROADCAST
- NET_RAW

41
keepalived.conf Normal file
View File

@ -0,0 +1,41 @@
global_defs {
#Hostname will be used by default
router_id master_node
#vrrp_version 2
#vrrp_garp_master_delay 1
#vrrp_garp_master_refresh 60
#Uncomment the next line if you'd like to use unique multicast groups
#vrrp_mcast_group4 224.0.0.{{VRID}}
#script_user root
#enable_script_security
}
vrrp_script chk_haproxy {
script "/etc/keepalived/keepalived.sh"
timeout 1
interval 1 # check every 1 second
fall 2 # require 2 failures for KO
rise 2 # require 2 successes for OK
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
nopreempt #Prevent fail-back
track_script {
chk_haproxy
}
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.247
}
}

1
keepalived.sh Normal file
View File

@ -0,0 +1 @@
#!/bin/bash