diff --git a/charts/kube-ovn-v2/templates/agent/agent-daemonset.yaml b/charts/kube-ovn-v2/templates/agent/agent-daemonset.yaml index 41d100de11a..2c1e699a33c 100644 --- a/charts/kube-ovn-v2/templates/agent/agent-daemonset.yaml +++ b/charts/kube-ovn-v2/templates/agent/agent-daemonset.yaml @@ -231,6 +231,9 @@ spec: {{- end }} nodeSelector: kubernetes.io/os: "linux" + {{- with .Values.ovsNodesLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} volumes: - name: usr-local-sbin emptyDir: {} diff --git a/charts/kube-ovn-v2/templates/ovs-ovn/ovs-ovn-daemonset.yaml b/charts/kube-ovn-v2/templates/ovs-ovn/ovs-ovn-daemonset.yaml index 6fc51967ca9..8bdc24a634a 100644 --- a/charts/kube-ovn-v2/templates/ovs-ovn/ovs-ovn-daemonset.yaml +++ b/charts/kube-ovn-v2/templates/ovs-ovn/ovs-ovn-daemonset.yaml @@ -180,6 +180,9 @@ spec: {{- end }} nodeSelector: kubernetes.io/os: "linux" + {{- with .Values.ovsNodesLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} volumes: - name: usr-local-sbin emptyDir: {} diff --git a/charts/kube-ovn-v2/templates/pinger/pinger-daemonset.yaml b/charts/kube-ovn-v2/templates/pinger/pinger-daemonset.yaml index b17b1f43904..ba83ba72ccd 100644 --- a/charts/kube-ovn-v2/templates/pinger/pinger-daemonset.yaml +++ b/charts/kube-ovn-v2/templates/pinger/pinger-daemonset.yaml @@ -156,6 +156,9 @@ spec: periodSeconds: 10 nodeSelector: kubernetes.io/os: "linux" + {{- with .Values.ovsNodesLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} volumes: - name: host-run-ovs hostPath: diff --git a/charts/kube-ovn-v2/values.yaml b/charts/kube-ovn-v2/values.yaml index fa7d6719e66..76505ac9e65 100644 --- a/charts/kube-ovn-v2/values.yaml +++ b/charts/kube-ovn-v2/values.yaml @@ -47,6 +47,13 @@ masterNodesLabels: kube-ovn/role: master # node-role.kubernetes.io/control-plane: "" +# -- Additional node selector labels for the OVS/OVN pods. +# This allows scheduling pods like ovs-ovn, kube-ovn-cni, and kube-ovn-pinger on specific nodes. +# See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector +# @section -- Global parameters +ovsNodesLabels: {} + # kube-ovn/role: ovs + # -- General configuration of the network created by Kube-OVN. # @section -- Network parameters of the CNI # @default -- "{}"