88 lines
2.9 KiB
Django/Jinja
88 lines
2.9 KiB
Django/Jinja
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
|
|
{%- set netHostTrue = "yes" %}
|
|
{%- import "services/common/common-lib.yml.j2" as lib with context %}
|
|
apiVersion: extensions/v1beta1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: keepalived
|
|
labels:
|
|
component: keepalived
|
|
system: keepalived
|
|
namespace: {{ kolla_kubernetes_namespace }}
|
|
spec:
|
|
template:
|
|
metadata:
|
|
labels:
|
|
component: keepalived
|
|
system: keepalived
|
|
annotations:
|
|
pod.alpha.kubernetes.io/init-containers: '[
|
|
{
|
|
"name": "initialize-keepalived-config",
|
|
"image": "{{ keepalived_image_full }}",
|
|
"command": [
|
|
"sh",
|
|
"-c",
|
|
"cp -a /srv/configmap/..data/* /srv/pod-main-config/;
|
|
API_INTERFACE={{ api_interface }};
|
|
F=/var/lib/kolla-kubernetes/keepalived/api_interface;
|
|
[ -f $F ] && API_INTERFACE=$(<$F);
|
|
sed -i ''s|interface.*|interface ''$API_INTERFACE''|g'' /srv/pod-main-config/keepalived.conf;
|
|
sed -i ''s|\\(dev*\\).*|\\1 ''$API_INTERFACE''|g'' /srv/pod-main-config/keepalived.conf;
|
|
" ],
|
|
"volumeMounts": [
|
|
{
|
|
"name": "keepalived-configmap",
|
|
"mountPath": "/srv/configmap"
|
|
},
|
|
{
|
|
"name": "pod-main-config",
|
|
"mountPath": "/srv/pod-main-config"
|
|
},
|
|
{
|
|
"name": "host-var-lib-kk",
|
|
"mountPath": "/var/lib/kolla-kubernetes"
|
|
}
|
|
]
|
|
}
|
|
]'
|
|
spec:
|
|
hostNetwork: True
|
|
nodeSelector:
|
|
{%- set selector = kolla_kubernetes_hostlabel_keepalived |
|
|
default(kolla_kubernetes_hostlabel_controller) %}
|
|
{{ selector.key }}: {{ selector.value }}
|
|
containers:
|
|
- image: "{{ keepalived_image_full }}"
|
|
name: main
|
|
securityContext:
|
|
privileged: true
|
|
env:
|
|
- name: KOLLA_CONFIG_STRATEGY
|
|
value: {{ config_strategy }}
|
|
volumeMounts:
|
|
{{ lib.common_volume_mounts(indent=12) }}
|
|
- mountPath: {{ container_config_directory }}
|
|
name: pod-main-config
|
|
readOnly: true
|
|
- mountPath: /lib/modules
|
|
name: host-lib-modules
|
|
- mountPath: /run
|
|
name: host-run
|
|
volumes:
|
|
{{ lib.common_volumes(indent=8) }}
|
|
- name: pod-main-config
|
|
emptyDir: {}
|
|
- name: keepalived-configmap
|
|
configMap:
|
|
name: keepalived
|
|
- name: host-lib-modules
|
|
hostPath:
|
|
path: /lib/modules
|
|
- name: host-run
|
|
hostPath:
|
|
path: /run
|
|
- name: host-var-lib-kk
|
|
hostPath:
|
|
path: /var/lib/kolla-kubernetes
|