self-hosting/roles/kubernetes/templates/keepalived.yml.j2

36 lines
1.2 KiB
Django/Jinja
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

apiVersion: v1
kind: Pod
metadata:
name: keepalived
namespace: kube-system
spec:
hostNetwork: true
volumes:
- hostPath:
path: /etc/keepalived/keepalived.conf
type: File
name: keepalived-config
containers:
- name: keepalived
image: chmod666/keepalived:latest
# if tag is latest imagePullPolicy is always
# but when keepalived is backup a proxy may have no connection to the internet
# to avoid keepalived not starting in that case, we're putting imagePullPolicy: IfNotPresent
# assuming the image was already be pulled at cluster creation. Neat.
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: "/usr/local/etc/keepalived/keepalived.conf"
name: keepalived-config
securityContext:
capabilities:
add:
- NET_ADMIN
#env:
# - name: KEEPALIVED_INTERFACE
# value: tun0
# - name: KEEPALIVED_UNICAST_PEERS
# value: "#PYTHON2BASH:['{{ groups['masters'] | map('extract', hostvars, ['vpn_ip']) | join("', '") }}']"
# - name: KEEPALIVED_VIRTUAL_IPS
# value: "#PYTHON2BASH:['{{ api_floating_ip }}/{{ api_floating_mask }}']"
# - name: KEEPALIVED_PRIORITY
# value: "{{ groups['masters'].index(inventory_hostname) + 1 }}"