-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clearer documentation around terminationGracePeriod #1646
Comments
This issue is currently awaiting triage. If Karpenter contributors determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
That comment is only saying the nodes will not be disrupted until all pods that contain |
/kind support |
I was expecting the documentation to show the behaviour in regards to different forms of disruption and how do-not-disrupt annotations or a pod with a blocked PDB now affect each. The github comment #916 (comment), seems to suggest that a node will not be drained if pods are blocked using do-not-disrupt or PDB, whereas Drift and Eviction would I think it would be useful to guarantee that all our nodes will roll on a Drift despite blocking do-not-disrupt / PDBs but feel they should be respected for general consolidations or at least on a longer timeframe. So trying to figure out what it does before applying changes |
From what I've seen the above is the case, I've seen tests saying "does not consolidate nodes with karpenter.sh/do-not-disrupt on pods when the NodePool's TerminationGracePeriod is not nil" and "does not consolidate nodes with pods with blocking PDBs when the NodePool's TerminationGracePeriod is not nil" and "should drift nodes that have pods with the karpenter.sh/do-not-disrupt annotation when the NodePool's TerminationGracePeriod is not nil" and also "should consider candidates that have do-not-disrupt pods scheduled with a terminationGracePeriod set for eventual disruption" and "should consider candidates that have PDB-blocked pods scheduled with a terminationGracePeriod set for eventual disruption". I believe that only drift is an eventual disruption
Tests I've seen: does not consolidate nodes with karpenter.sh/do-not-disrupt on pods when the NodePool's TerminationGracePeriod is not nil does not consolidate nodes with pods with blocking PDBs when the NodePool's TerminationGracePeriod is not nil should drift nodes that have pods with the karpenter.sh/do-not-disrupt annotation when the NodePool's TerminationGracePeriod is not nil should not consider candidates that have do-not-disrupt pods scheduled and no terminationGracePeriod https://github.com/kubernetes-sigs/karpenter/blob/main/pkg/controllers/disruption/suite_test.go#L817 should consider candidates that have do-not-disrupt pods scheduled with a terminationGracePeriod set for eventual disruption https://github.com/kubernetes-sigs/karpenter/blob/main/pkg/controllers/disruption/suite_test.go#L922 should consider candidates that have PDB-blocked pods scheduled with a terminationGracePeriod set for eventual disruption https://github.com/kubernetes-sigs/karpenter/blob/main/pkg/controllers/disruption/suite_test.go#L951 should not consider candidates that have do-not-disrupt pods scheduled with a terminationGracePeriod set for graceful disruption https://github.com/kubernetes-sigs/karpenter/blob/main/pkg/controllers/disruption/suite_test.go#L983 should not consider candidates that have PDB-blocked pods scheduled with a terminationGracePeriod set for graceful disruption should not consider candidates that have do-not-disrupt pods scheduled without a terminationGracePeriod set for eventual disruption should not consider candidates that have PDB-blocked pods scheduled without a terminationGracePeriod set for eventual disruption should not consider candidates that have do-not-disrupt pods without a terminationGracePeriod set for graceful disruption should not consider candidates that have fully blocking PDBs without a terminationGracePeriod set for graceful disruption |
This issue has been inactive for 14 days. StaleBot will close this stale issue after 14 more days of inactivity. |
Description
Observed Behavior:
#916 (comment)
So it only applies for Empty and Drift?
Expected Behavior:
Clearer documentation
Reproduction Steps (Please include YAML):
Versions:
kubectl version
):The text was updated successfully, but these errors were encountered: