Skip to content

Conversation

@atiratree
Copy link
Member

  • One-line PR description: split DeploymentReplicaSetTerminatingReplicas and DeploymentPodReplacementPolicy features into two standalone KEPs (KEP-3973, KEP-5882) for easier tracking.
  • Other comments:

@k8s-ci-robot k8s-ci-robot added the kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory label Feb 3, 2026
@k8s-ci-robot k8s-ci-robot added the sig/apps Categorizes an issue or PR as relevant to SIG Apps. label Feb 3, 2026
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: atiratree
Once this PR has been reviewed and has the lgtm label, please assign soltysh for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-project-automation github-project-automation bot moved this to Needs Triage in SIG Apps Feb 3, 2026
@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Feb 3, 2026
DeploymentPodReplacementPolicy features into two standalone KEPs
(KEP-3973, KEP-5882) for easier tracking.
@soltysh soltysh moved this from Needs Triage to In Progress in SIG Apps Feb 4, 2026
Copy link
Contributor

@soltysh soltysh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left several comments for both documents.

kep-number: 3973
alpha:
approver: "@wojtek-t"
beta:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wojtek-t can you retroactively check the PRR on this one. We initially kept both terminating pods in deployment (from #3973) and deployment pod replacement policy (#5882) under single KEP. But we eventually decided to split that into two, b/c the first part being less contentious started moving at a faster pace, and we moved only that bit exposing the .status.terminatingReplicas for RS and deploymentsin 1.35. I know this isn't ideal, sorry about that, but we're trying to clean our mess now 😅

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes - will do.

@@ -0,0 +1,3 @@
kep-number: 5882
alpha:
approver: "@wojtek-t"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wojtek-t this one will more of a formality, since you've already approved it before, this only moves that Deployment Pod Replacement Policy into a separate document.

deployment will wait for old pods to terminate during a rollout, but will ignore the terminating
pods when scaling the pods. So it is still possible to end up with a larger number of pods than
`.spec.replicas`.
his KEP proposes to add new fields `status.terminatingReplicas` to both Deployments and ReplicaSets
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
his KEP proposes to add new fields `status.terminatingReplicas` to both Deployments and ReplicaSets
This KEP proposes to add new fields `status.terminatingReplicas` to both Deployments and ReplicaSets


### User Stories (Optional)

#### Story 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Story 1
#### Story 1 (Optional)

We changed it recently to allow us better diff the required and optional headers.

to support rollbacks.
See [kubectl Skew](#kubectl-skew) for more details.
To satisfy the requirement for tracking terminating pods, and for implementation purposes of
followup feature(s), we propose a new field `.status.terminatingReplicas` to the ReplicaSet's and
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a link to #5882

https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282
-->

Appropriate enablement/disablement tests will be added to the replicaset and deployment `strategy_test.go`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the code (replicaset, deployment) we have the necessary tests, so please make sure to update this part of the document to reflect reality.


###### Are there any missing metrics that would be useful to have to improve observability of this feature?

`kube_replicaset_status_terminating_replicas` and `kube_deployment_status_replicas_terminating` will be added to kube-state-metrics in beta.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be another thing to address ASAP.


see-also:
- "/keps/sig-apps/3939-allow-replacement-when-fully-terminated"
- "/keps/sig-apps/3974-consider-terminating-pods-deployment"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- "/keps/sig-apps/3974-consider-terminating-pods-deployment"
- "/keps/sig-apps/3973-consider-terminating-pods-deployment"


### User Stories (Optional)

#### Story 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Story 1
#### Story 1 (Optional)

We changed it recently to allow us better diff the required and optional headers.

scheduling issues and unnecessary autoscaling of nodes. I would also like to achieve consistent
allocation of other scarce resources to pods.

#### Story 2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Story 2
#### Story 2 (Optional)

@wojtek-t wojtek-t self-assigned this Feb 4, 2026
@soltysh
Copy link
Contributor

soltysh commented Feb 4, 2026

/assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/apps Categorizes an issue or PR as relevant to SIG Apps. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

4 participants