Question 890
At Northstar finance, in an isolated training cluster during a scheduled maintenance rehearsal: Pod invoice-api in ledger is Pending because it requires workload=restricted and no eligible Ready nodes carry that label. Work only within the stated target and verify before declaring success. Which Kubernetes behavior best explains the required change or diagnosis?
Explanation
Correct Answer
A hard nodeSelector must match a Node's actual labels; tolerations or Service routing cannot bypass the unmatched selector. This explains the stated condition. The corresponding action is: Run kubectl get nodes -l workload=restricted and compare with kubectl -n ledger describe pod invoice-api before changing node labels. The direct acceptance evidence is: Run kubectl -n ledger get pod invoice-api -o wide after an approved matching label or selector correction and confirm a suitable node.
Incorrect Answers
This principle describes a separate cause: A running container is not necessarily Ready; failing readiness can remove a Pod from ready Service endpoints. The reported condition is governed by: A hard nodeSelector must match a Node's actual labels; tolerations or Service routing cannot bypass the unmatched selector. The two mechanisms should not be conflated.
A NoSchedule taint excludes Pods lacking a matching toleration even if the Node has free resources. That explanation applies to a different technical failure. Here the controlling principle is: A hard nodeSelector must match a Node's actual labels; tolerations or Service routing cannot bypass the unmatched selector.
The offered statement is true for this other mechanism: The scheduler places Pods by requested resources and constraints, not the current shell's observed free CPU alone. It does not explain the facts described here, which follow from: A hard nodeSelector must match a Node's actual labels; tolerations or Service routing cannot bypass the unmatched selector.