55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: keepalived
|
|
labels: &labels
|
|
app.kubernetes.io/name: keepalived
|
|
spec:
|
|
selector:
|
|
matchLabels: *labels
|
|
minReadySeconds: 10
|
|
template:
|
|
metadata:
|
|
labels: *labels
|
|
spec:
|
|
initContainers:
|
|
- name: init
|
|
image: docker.io/library/busybox
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
printf '$INTERFACE=%s\n' \
|
|
$(ip route | awk '/^default via/{print $5}') \
|
|
> /run/keepalived.interface
|
|
volumeMounts:
|
|
- mountPath: /run
|
|
name: tmp
|
|
subPath: run
|
|
containers:
|
|
- name: keepalived
|
|
image: git.pyrocufflink.net/containerimages/keepalived:dev
|
|
imagePullPolicy: Always
|
|
command:
|
|
- keepalived
|
|
- -nGlD
|
|
securityContext:
|
|
privileged: true
|
|
readOnlyRootFilesystem: true
|
|
volumeMounts:
|
|
- mountPath: /etc/keepalived
|
|
name: config
|
|
readOnly: true
|
|
- mountPath: /run
|
|
name: tmp
|
|
subPath: run
|
|
hostNetwork: true
|
|
hostPID: true
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: keepalived
|
|
- name: tmp
|
|
emptyDir:
|
|
medium: Memory
|