Skip to content

Karpenter ignores DaemonSet resource requirements, causing DaemonSets to remain unscheduled #8737

@JacobAmar

Description

@JacobAmar

Description

Observed Behavior:
Karpenter occasionally provisions nodes without accounting for DaemonSet resource requirements. As a result, some DaemonSets (e.g., node-exporter) do not schedule on the newly-created nodes due to insufficient CPU or memory, despite those DaemonSets specifying explicit resource requests and requiring tolerations.
This leaves nodes without visibility/monitoring agents, and we see FailedScheduling events for those DaemonSet pods.

Related/Previous Issue Reference:
See aws/karpenter-provider-aws#2751 — we observe the same symptoms and scheduling problems described there.

Expected Behavior:
Karpenter should consider resource requests for all DaemonSets expected to run on new nodes during provisioning, so sufficient resources are available for both triggering workload pods and all relevant DaemonSets.

Reproduction Steps (Please include YAML):
This issue is difficult to reproduce reliably, as it occurs randomly depending on scheduling order and cluster load. Below is a representative DaemonSet YAML that triggers the issue in our environment:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
spec:
  template:
    spec:
      containers:
        - name: node-exporter
          resources:
            requests:
              cpu: 50m
              memory: 50Mi
            limits:
              memory: 256Mi
      tolerations:
        - effect: NoSchedule
          operator: Exists
      nodeSelector:
        kubernetes.io/os: linux
  1. Apply the DaemonSet above.
  2. Schedule a regular workload pod that triggers Karpenter to provision a new node.
  3. Observe: Occasionally, the DaemonSet fails to schedule with FailedScheduling due to insufficient resources.

Versions:

  • Chart Version: 1.6.2
  • Kubernetes Version (kubectl version): v1.33.5-eks-3cfe0ce
  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglifecycle/staletriage/needs-informationMarks that the issue still needs more information to properly triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions