3 # starts master daemons, each in a separate container
4 # it is run on the master(s)
9 # namespace set up by install
10 namespace: ovn-kubernetes
12 kubernetes.io/description: |
13 This Deployment launches the ovn-kubernetes master networking components.
15 progressDeadlineSeconds: 600
17 revisionHistoryLimit: 10
32 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
41 # required to be scheduled on a linux node with node-role.kubernetes.io/master label and
42 # only one instance of ovnkube-master pod per node
45 requiredDuringSchedulingIgnoredDuringExecution:
48 - key: node-role.kubernetes.io/master
52 - key: kubernetes.io/os
57 requiredDuringSchedulingIgnoredDuringExecution:
64 topologyKey: kubernetes.io/hostname
69 image: "{{ ovn_image | default('docker.io/ovnkube/ovn-daemonset:latest') }}"
70 imagePullPolicy: "{{ ovn_image_pull_policy | default('IfNotPresent') }}"
72 command: ["/root/ovnkube.sh", "run-ovn-northd"]
79 terminationMessagePolicy: FallbackToLogsOnError
81 # Run directories where we need to be able to access sockets
82 - mountPath: /var/run/dbus/
83 name: host-var-run-dbus
85 - mountPath: /var/log/openvswitch/
86 name: host-var-log-ovs
87 - mountPath: /var/log/ovn/
88 name: host-var-log-ovs
89 - mountPath: /var/run/openvswitch/
90 name: host-var-run-ovs
91 - mountPath: /var/run/ovn/
92 name: host-var-run-ovs
93 - mountPath: /ovn-cert
102 - name: OVN_DAEMONSET_VERSION
104 - name: OVN_LOGLEVEL_NORTHD
105 value: "{{ ovn_loglevel_northd }}"
106 - name: K8S_APISERVER
111 - name: OVN_KUBERNETES_NAMESPACE
114 fieldPath: metadata.namespace
115 - name: OVN_SSL_ENABLE
116 value: "{{ ovn_ssl_en }}"
119 command: ["/usr/bin/ovn-kube-util", "readiness-probe", "-t", "ovn-northd"]
120 initialDelaySeconds: 30
126 image: "{{ ovn_image | default('docker.io/ovnkube/ovn-daemonset:latest') }}"
127 imagePullPolicy: "{{ ovn_image_pull_policy | default('IfNotPresent') }}"
129 command: ["/root/ovnkube.sh", "run-nbctld"]
134 terminationMessagePolicy: FallbackToLogsOnError
136 - mountPath: /var/log/openvswitch/
137 name: host-var-log-ovs
138 - mountPath: /var/log/ovn/
139 name: host-var-log-ovs
140 - mountPath: /var/run/openvswitch/
141 name: host-var-run-ovs
142 - mountPath: /var/run/ovn/
143 name: host-var-run-ovs
144 - mountPath: /ovn-cert
152 - name: OVN_DAEMONSET_VERSION
154 - name: OVN_LOGLEVEL_NBCTLD
155 value: "{{ ovn_loglevel_nbctld }}"
156 - name: K8S_APISERVER
161 - name: OVN_SSL_ENABLE
162 value: "{{ ovn_ssl_en }}"
166 command: ["/usr/bin/ovn-kube-util", "readiness-probe", "-t", "ovn-nbctld"]
167 initialDelaySeconds: 30
172 - name: ovnkube-master
173 image: "{{ ovn_image | default('docker.io/ovnkube/ovn-daemonset:latest') }}"
174 imagePullPolicy: "{{ ovn_image_pull_policy | default('IfNotPresent') }}"
176 command: ["/root/ovnkube.sh", "ovn-master"]
181 terminationMessagePolicy: FallbackToLogsOnError
183 # Run directories where we need to be able to access sockets
184 - mountPath: /var/run/dbus/
185 name: host-var-run-dbus
187 - mountPath: /var/log/ovn-kubernetes/
188 name: host-var-log-ovnkube
189 - mountPath: /var/run/openvswitch/
190 name: host-var-run-ovs
191 - mountPath: /var/run/ovn/
192 name: host-var-run-ovs
193 - mountPath: /ovn-cert
202 - name: OVN_DAEMONSET_VERSION
204 - name: OVNKUBE_LOGLEVEL
205 value: "{{ ovnkube_master_loglevel }}"
216 - name: K8S_APISERVER
224 fieldPath: spec.nodeName
225 - name: OVN_KUBERNETES_NAMESPACE
228 fieldPath: metadata.namespace
229 - name: OVN_HYBRID_OVERLAY_ENABLE
230 value: "{{ ovn_hybrid_overlay_enable }}"
231 - name: OVN_HYBRID_OVERLAY_NET_CIDR
232 value: "{{ ovn_hybrid_overlay_net_cidr }}"
233 - name: OVN_SSL_ENABLE
234 value: "{{ ovn_ssl_en }}"
238 # TODO: Need to check why we need this?
239 - name: host-var-run-dbus
242 - name: host-var-log-ovs
244 path: /var/log/openvswitch
245 - name: host-var-log-ovnkube
247 path: /var/log/ovn-kubernetes
248 - name: host-var-run-ovs
250 path: /var/run/openvswitch
251 - name: host-ovn-cert
254 type: DirectoryOrCreate