Chapter 10. Scheduling resources
Taints and tolerations allow the node to control which pods should (or should not) be scheduled on them.
A node selector specifies a map of key/value pairs that are defined using custom labels on nodes and selectors specified in pods.
For the pod to be eligible to run on a node, the pod must have the same key/value node selector as the label on the node.
10.1. Network Observability deployment in specific nodes
You can configure the FlowCollector
to control the deployment of Network Observability components in specific nodes. The spec.agent.ebpf.advanced.scheduling
, spec.processor.advanced.scheduling
, and spec.consolePlugin.advanced.scheduling
specifications have the following configurable settings:
-
NodeSelector
-
Tolerations
-
Affinity
-
PriorityClassName
Sample FlowCollector
resource for spec.<component>.advanced.scheduling
apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: # ... advanced: scheduling: tolerations: - key: "<taint key>" operator: "Equal" value: "<taint value>" effect: "<taint effect>" nodeSelector: <key>: <value> affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: name operator: In values: - app-worker-node priorityClassName: """ # ...
Additional resources
- Understanding taints and tolerations
- Assign Pods to Nodes (Kubernetes documentation)
- Pod Priority and Preemption (Kubernetes documentation)