r/keepalived: Deploy keepalived
[keepalived][0] is a free implementation of the Virtual Router Redundancy Protocol (VRRP), which is a simple method for automatically assigning an IP address to one of several potential hosts based on certain criteria. It is particularly useful in conjunction with a load balancer like HAProxy, to provide layer 3 redundancy in addition to layer 7. We will use it for both the reverse proxy for the public websites and the Kubernetes API server. [0]: https://www.keepalived.org/unifi-restore
parent
0e6cc4882d
commit
f62b11bb9d
|
@ -0,0 +1,4 @@
|
|||
- name: reload keepalived
|
||||
service:
|
||||
name: keepalived
|
||||
state: reloaded
|
|
@ -0,0 +1,34 @@
|
|||
- name: ensure keepalived is installed
|
||||
package:
|
||||
name: keepalived
|
||||
state: present
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: ensure keepalived is configured
|
||||
template:
|
||||
src: keepalived.conf.j2
|
||||
dest: /etc/keepalived/keepalived.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,go=r
|
||||
notify: reload keepalived
|
||||
tags:
|
||||
- config
|
||||
|
||||
- name: flush handlers
|
||||
meta: flush_handlers
|
||||
|
||||
- name: ensure keepalived starts at boot
|
||||
service:
|
||||
name: keepalived
|
||||
enabled: true
|
||||
tags:
|
||||
- service
|
||||
|
||||
- name: ensure keepalived is running
|
||||
service:
|
||||
name: keepalived
|
||||
state: started
|
||||
tags:
|
||||
- service
|
|
@ -0,0 +1,24 @@
|
|||
{#- vim: set sw=3 sts=3 ts=3 et : -#}
|
||||
! Configuration File for keepalived
|
||||
{% if keepalived_global_defs|d %}
|
||||
|
||||
global_defs {
|
||||
{{ keepalived_global_defs | indent(width=3, first=true) }}
|
||||
}
|
||||
{% endif %}
|
||||
{% if vrrp_track_process|d %}
|
||||
|
||||
{% for name, config in vrrp_track_process | items %}
|
||||
vrrp_track_process {{ name }} {
|
||||
{{ config | indent(width=4, first=true) }}
|
||||
}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if vrrp_instance|d %}
|
||||
|
||||
{% for name, config in vrrp_instance | items %}
|
||||
vrrp_instance {{ name }} {
|
||||
{{ config | indent(width=4, first=true) }}
|
||||
}
|
||||
{% endfor %}
|
||||
{% endif %}
|
Loading…
Reference in New Issue