For the complete documentation index, see llms.txt. This page is also available as Markdown.

Troubleshooting

Troubleshooting common Cluster Orchestrator issues

DaemonSet pods not scheduling on Harness-managed nodes

Cluster Orchestrator does not automatically manage DaemonSet scheduling. You must add tolerations to your DaemonSets manually.

Option 1: Run DaemonSet on ALL Nodes

If you want your DaemonSet to run on every node in the cluster (including Harness-managed nodes), add a universal toleration:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: my-daemonset
  namespace: my-namespace
spec:
  selector:
    matchLabels:
      app: my-daemonset
  template:
    metadata:
      labels:
        app: my-daemonset
    spec:
      tolerations:
        - operator: Exists
      containers:
        - name: my-container
          image: my-image:latest

The `operator: Exists` toleration matches any taint, ensuring the DaemonSet runs on all nodes regardless of taints.

Option 2: Run DaemonSet ONLY on Harness-Managed Nodes

If you want your DaemonSet to run exclusively on Harness-managed nodes, add a specific toleration:

This toleration only matches the Harness taint, so the DaemonSet will only schedule on nodes with this specific taint.

Option 3: Run DaemonSet on Specific Node Types

If you want your DaemonSet to run only on specific Harness-managed node types, use tolerations with explicit values:

Spot Nodes Only

On-Demand Nodes Only

Both Spot and On-Demand (exclude Disabled)

Last updated

Was this helpful?