enhancements icon indicating copy to clipboard operation
enhancements copied to clipboard

Guarantee PodDisruptionBudget When Preemption Happens

Open denkensk opened this issue 2 years ago • 15 comments

Enhancement Description

  • One-line enhancement description (can be used as a release note): Guarantee PodDisruptionBudget When Preemption Happens
  • Kubernetes Enhancement Proposal: https://docs.google.com/document/d/1g2wj8S04M0yTy2t4l4GzrdARtxBpkBTfkJHw0oqBvXM/edit?usp=sharing
  • Discussion Link: https://github.com/kubernetes/kubernetes/issues/91492#issuecomment-1029484252_
  • Primary contact (assignee): @denkensk
  • Responsible SIGs: /sig scheduling
  • Enhancement target (which target equals to which milestone):
    • Alpha release target (x.y): 1.27
    • Beta release target (x.y): 1.28
    • Stable release target (x.y): 1.30
  • [ ] Alpha
    • [ ] KEP (k/enhancements) update PR(s): https://github.com/kubernetes/enhancements/pull/3755
    • [ ] Code (k/k) update PR(s):
    • [ ] Docs (k/website) update PR(s):

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

denkensk avatar Apr 19 '22 03:04 denkensk

/sig scheduling

denkensk avatar Apr 19 '22 03:04 denkensk

/cc @ahg-g @Huang-Wei @alculquicondor

denkensk avatar Apr 19 '22 03:04 denkensk

I will review it this week.

ahg-g avatar Apr 19 '22 16:04 ahg-g

The early draft: https://docs.google.com/document/d/1g2wj8S04M0yTy2t4l4GzrdARtxBpkBTfkJHw0oqBvXM/edit?usp=sharing @ahg-g Thank you for giving some comments in it if you have time.

denkensk avatar May 06 '22 14:05 denkensk

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Aug 04 '22 15:08 k8s-triage-robot

I had a look at the early draft and it exactly describes what we would be in need of.

jeroenj avatar Aug 22 '22 14:08 jeroenj

/remove-lifecycle stale

sanposhiho avatar Aug 30 '22 17:08 sanposhiho

/cc

kerthcet avatar Sep 08 '22 11:09 kerthcet

Another idea is can we add a new field to podSpec like PreemptionPolicy, maybe PreemptedPolicy. For if we apply the so called PreemptLowerPriorityWithoutViolatePDB in scheduler, it will impact all scheduling pods, but maybe some pods can tolerate the preemptions even they have PDB protecting. Then even for PreemptLowerPriority policy, we can also prevent pod from preemption if they want.

This is one approach I thinked of, my intension here is we may come out an idea more flexible.

kerthcet avatar Sep 08 '22 15:09 kerthcet

@kerthcet It likes the option1 in my design. option1 Add PreemptLowerPriorityWithoutViolatePDB as an option in the PreemptionPolicy You can give your comments in the google doc https://docs.google.com/document/d/1g2wj8S04M0yTy2t4l4GzrdARtxBpkBTfkJHw0oqBvXM/edit?usp=sharing

denkensk avatar Sep 08 '22 15:09 denkensk

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Dec 07 '22 16:12 k8s-triage-robot

/remove-lifecycle stale

kerthcet avatar Dec 08 '22 02:12 kerthcet

@denkensk are you planning to work on this in 1.27?

ahg-g avatar Jan 11 '23 21:01 ahg-g

@denkensk are you planning to work on this in 1.27?

Yes. Will work on it in 1.27.

denkensk avatar Jan 17 '23 06:01 denkensk

/assign @denkensk

denkensk avatar Jan 19 '23 10:01 denkensk

/stage alpha /milestone v1.27 /label lead-opted-in

ahg-g avatar Jan 23 '23 15:01 ahg-g

Hello @denkensk 👋, 1.27 Enhancements team here.

Just checking in as we approach enhancements freeze on 18:00 PDT Thursday 9th February 2023.

This enhancement is targeting for stage alpha for 1.27 (correct me, if otherwise)

Here's where this enhancement currently stands:

  • [x] KEP readme using the latest template has been merged into the k/enhancements repo.
  • [x] KEP status is marked as implementable for latest-milestone: 1.27
  • [x] KEP readme has a updated detailed test plan section filled out
  • [x] KEP readme has up to date graduation criteria
  • [x] KEP has a production readiness review that has been completed and merged into k/enhancements.

It looks like https://github.com/kubernetes/enhancements/pull/3755 will address most of these issues.

The status of this enhancement is marked as at risk. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

npolshakova avatar Feb 02 '23 18:02 npolshakova

Looks like with https://github.com/kubernetes/enhancements/pull/3755 merged this enhancement as tracked for v1.27. Thanks!

/remove-label tracked/no /label tracked/yes

npolshakova avatar Feb 09 '23 20:02 npolshakova

@npolshakova: Those labels are not set on the issue: tracked/no

In response to this:

Looks like with https://github.com/kubernetes/enhancements/pull/3755 merged this enhancement as tracked for v1.27. Thanks!

/remove-label tracked/no /label tracked/yes

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/test-infra repository.

k8s-ci-robot avatar Feb 09 '23 20:02 k8s-ci-robot

Hi @denkensk 👋, I’m reaching out from the 1.27 Release Docs team. This enhancement is marked as ‘Needs Docs’ for the 1.27 release.

Please follow the steps detailed in the documentation to open a PR against dev-1.27 branch in the k/website repo. This PR can be just a placeholder at this time, and must be created by March 16. For more information, please take a look at Documenting for a release to familiarize yourself with the documentation requirements for the release.

Please feel free to reach out with any questions. Thanks!

mickeyboxell avatar Mar 07 '23 15:03 mickeyboxell

Hi @denkensk,

Checking in as we approach 1.27 code freeze at 17:00 PDT on Tuesday 14th March 2023.

Please ensure the following items are completed:

  • [x] All PRs to the Kubernetes repo that are related to your enhancement are linked in the above issue description (for tracking purposes).
  • [ ] All PRs are fully merged by the code freeze deadline.
    • [ ] https://github.com/kubernetes/kubernetes/pull/116461

Please let me know if there are any other PRs in k/k I should be tracking for this KEP. As always, we are here to help should questions come up. Thanks!

npolshakova avatar Mar 09 '23 14:03 npolshakova

Hi @denkensk, this is the status as we approach code freeze today:

  • [x] All PRs to the Kubernetes repo that are related to your enhancement are linked in the above issue description (for tracking purposes).
  • [ ] All PRs are fully merged by the code freeze deadline.

For this enhancement, it looks like the following PRs need to merge:

  • [ ] https://github.com/kubernetes/kubernetes/pull/116461

Please let me know what other PRs in k/k I should be tracking for this KEP.

As always, we are here to help should questions come up. Thanks!

npolshakova avatar Mar 14 '23 15:03 npolshakova

Unfortunately the implementation PRs associated with this enhancement have not merged by code-freeze so this enhancement is getting removed from the release.

If you would like to file an exception please see https://github.com/kubernetes/sig-release/blob/master/releases/EXCEPTIONS.md

/milestone clear /remove-label tracked/yes /label tracked/no

npolshakova avatar Mar 15 '23 00:03 npolshakova

/cc

AxeZhan avatar Dec 13 '23 08:12 AxeZhan

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Mar 21 '24 02:03 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Apr 20 '24 02:04 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

k8s-triage-robot avatar May 20 '24 03:05 k8s-triage-robot

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

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.

k8s-ci-robot avatar May 20 '24 03:05 k8s-ci-robot

/reopen

@denkensk Are you coming back to this? I can take this if it's out of your bandwidth :)

AxeZhan avatar May 20 '24 03:05 AxeZhan

@AxeZhan: Reopened this issue.

In response to this:

/reopen

@denkensk Are you coming back to this? I can take this if it's out of your bandwidth :)

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.

k8s-ci-robot avatar May 20 '24 03:05 k8s-ci-robot