KubeCon EUBooth 1151, Amsterdam. March 23-26
Workload Operator

Troubleshooting

Common issues and solutions for the dakr-op write operator.

Troubleshooting

Operator Not Receiving Recommendations

  1. Check operator logs for connection errors:

    kubectl logs deployment/dakr-operator -n dakr-operator
  2. Verify the cluster ID and API endpoint:

    kubectl get deployment dakr-operator -n dakr-operator -o yaml | grep -A5 env
  3. Ensure outbound gRPC (port 443) traffic to api.devzero.io is allowed.

  4. Verify the Read Operator (zxporter) is running and sending data -- recommendations require utilization data to generate.

Recommendations Stuck in Pending

Recommendations stay in Pending state when:

  • No matching policy exists for the workload
  • autoApply is disabled (default)
  • The policy's time window doesn't include the current time

Check recommendation status:

kubectl get workloadrecommendation <name> -n <namespace> -o yaml

Look at the status.conditions field for reasons.

Failed to Apply a Recommendation

Check the WorkloadRecommendation status:

kubectl describe workloadrecommendation <name> -n <namespace>

Common failure reasons:

  • RBAC insufficient -- the operator lacks permission to patch the target resource
  • Resource conflict -- another controller (e.g., HPA) is also managing the resource
  • Validation webhook rejected -- a webhook blocked the change

How to Check Operator Logs

# Current logs
kubectl logs deployment/dakr-operator -n dakr-operator

# Previous container logs (if restarted)
kubectl logs deployment/dakr-operator -n dakr-operator --previous

# Follow logs in real-time
kubectl logs deployment/dakr-operator -n dakr-operator -f

How to Roll Back a Change

Delete the WorkloadRecommendation CRD:

kubectl delete workloadrecommendation <name> -n <namespace>

The operator will restore the workload's original resource configuration.

Alternatively, roll back from the DevZero dashboard by selecting the recommendation and clicking Revert.

On this page