Skip to content

Workload scheduling

The package passes nodeSelector, affinity, and tolerations into Kibana’s pod template and each Elasticsearch node-set pod template. In an umbrella v1 overlay, use packages.elasticsearchKibana.values.kibana or packages.elasticsearchKibana.values.elasticsearch.<node-set>; direct chart values omit that wrapper. These settings select placement, not Elasticsearch shard replicas.

Example package values for data-node placement (provision the node labels first):

elasticsearch:
  data:
    nodeSelector:
      node-type: elastic-data

The chart does not add the dont-schedule-with pod labels shown in older affinity examples. An anti-affinity selector for a nonexistent label matches nothing. Use verified ECK-managed labels from the deployed pod and account for the operator’s default scheduling rules. Required affinity can leave pods Pending if the selected failure domains lack sufficient resources or matching persistent volumes.

Follow Kubernetes scheduling guidance for affinity syntax and ECK node scheduling for operator behavior. Review placement alongside storage and disruption budgets; pod counts alone are not a high-availability guarantee.