keepalived: Initial commit
Running `keepalived` as a DaemonSet will allow managing floating "virtual" IP addresses for Kubernetes services with configured external IP addresses. The main services we want to expose outside the cluster are _ingress-nginx_, Mosquitto, and RabbitMQ. The `keepalived` cluster will negotiate using the VRRF protocol to determine which node should have each external address. Using the process tracking feature of `keepalived`, we can steer traffic directly to the node where the target service is running.
This commit is contained in:
60
keepalived/keepalived.conf
Normal file
60
keepalived/keepalived.conf
Normal file
@@ -0,0 +1,60 @@
|
||||
# vim: set sw=4 ts=4 sts=4 et:
|
||||
includea /run/keepalived.interface
|
||||
|
||||
global_defs {
|
||||
max_auto_priority 79
|
||||
}
|
||||
|
||||
vrrp_track_process ingress-nginx {
|
||||
process nginx-ingress-c
|
||||
weight 90
|
||||
}
|
||||
|
||||
vrrp_track_process mosquitto {
|
||||
process mosquitto
|
||||
weight 90
|
||||
}
|
||||
|
||||
vrrp_track_process rabbitmq {
|
||||
process rabbitmq-server
|
||||
weight 90
|
||||
}
|
||||
|
||||
vrrp_instance ingress-nginx {
|
||||
state BACKUP
|
||||
priority 100
|
||||
interface ${INTERFACE}
|
||||
virtual_router_id 51
|
||||
virtual_ipaddress {
|
||||
172.30.0.147/28
|
||||
}
|
||||
track_process {
|
||||
ingress-nginx
|
||||
}
|
||||
}
|
||||
|
||||
vrrp_instance mosquitto {
|
||||
state BACKUP
|
||||
priority 100
|
||||
interface ${INTERFACE}
|
||||
virtual_router_id 52
|
||||
virtual_ipaddress {
|
||||
172.30.0.148/28
|
||||
}
|
||||
track_process {
|
||||
mosquitto
|
||||
}
|
||||
}
|
||||
|
||||
vrrp_instance rabbitmq {
|
||||
state BACKUP
|
||||
priority 100
|
||||
interface ${INTERFACE}
|
||||
virtual_router_id 53
|
||||
virtual_ipaddress {
|
||||
172.30.0.149/28
|
||||
}
|
||||
track_process {
|
||||
rabbitmq
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user