1 # ovnkube-db HA using Corosync/Pacemaker
3 # starts ovn NB/SB ovsdb daemons in a single container
8 # namespace set up by install
9 namespace: ovn-kubernetes
11 kubernetes.io/description: |
12 This daemonset launches the OVN NB/SB DB server in a single container.
14 progressDeadlineSeconds: 600
15 replicas: {{ ovn_db_replicas | default(3) }}
16 revisionHistoryLimit: 10
31 openshift.io/component: network
32 beta.kubernetes.io/os: "linux"
34 scheduler.alpha.kubernetes.io/critical-pod: ''
36 # Requires fairly broad permissions - ability to read all services and network functions as well
38 serviceAccountName: ovn
40 # required to be scheduled on node with openvswitch.org/ovnkube-db=true label but can
41 # only have one instance per node
44 requiredDuringSchedulingIgnoredDuringExecution:
47 - key: openvswitch.org/ovnkube-db
52 requiredDuringSchedulingIgnoredDuringExecution:
59 topologyKey: kubernetes.io/hostname
62 # ovsdb with corosync in one container - v3
64 image: "{{ ovn_db_vip_image | default('docker.io/ovnkube/ovndb-vip-u:latest') }}"
65 imagePullPolicy: "{{ ovn_image_pull_policy | default('IfNotPresent') }}"
66 command: ["/root/ovndb-vip.sh", "run-ovndb"]
74 # ovn db is stored in the pod in /etc/openvswitch
75 # and on the host in /var/lib/openvswitch/
76 - mountPath: /etc/openvswitch/
77 name: host-var-lib-ovs
78 - mountPath: /var/log/openvswitch/
79 name: host-var-log-ovs
80 - mountPath: /etc/corosync
81 name: host-etc-corosync
82 - mountPath: /var/log/corosync
83 name: host-var-log-corosync
92 - name: OVN_DAEMONSET_VERSION
95 value: "-vconsole:info -vfile:info"
101 - name: OVN_KUBERNETES_NAMESPACE
104 fieldPath: metadata.namespace
106 value: "{{ ovn_db_vip }}"
110 # TODO: Temporarily disabled until we determine how to wait for clean default
113 # initialDelaySeconds: 10
122 - name: host-var-lib-ovs
124 path: /var/lib/openvswitch
125 - name: host-var-log-ovs
127 path: /var/log/openvswitch
128 - name: host-var-log-corosync
130 path: /var/log/corosync
131 - name: host-etc-corosync