Skip to content

Conversation

@dom4ha
Copy link
Member

@dom4ha dom4ha commented Oct 23, 2025

Description

Issue

Enhancements issue: kubernetes/enhancements#5598

@k8s-ci-robot k8s-ci-robot added this to the 1.35 milestone Oct 23, 2025
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 23, 2025
@netlify
Copy link

netlify bot commented Oct 23, 2025

👷 Deploy Preview for kubernetes-io-vnext-staging processing.

Name Link
🔨 Latest commit 97116b1
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-vnext-staging/deploys/692f75406dade20008d6b5e0

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 23, 2025
@netlify
Copy link

netlify bot commented Oct 23, 2025

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit 97116b1
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/692f75404f6fc40008016250
😎 Deploy Preview https://deploy-preview-52899--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Urvashi0109
Copy link
Contributor

Hello @dom4ha 👋, v1.35 Docs Team here again!

We are closing in on the deadline to get your PR ready for review before Tuesday 18th November 2025, so I'm sending a second reminder. Please take a look at the Documenting for a release - PR Ready for Review document to get your PR ready for review before the deadline.

Please also let us know once your PR is fully Ready for Review -- meaning all documentation updates are complete and it's awaiting reviewer feedback -- so we can update our tracking.

Thank you!

@k8s-ci-robot k8s-ci-robot added area/blog Issues or PRs related to the Kubernetes Blog subproject area/localization General issues or PRs related to localization area/release-eng Issues or PRs related to the Release Engineering subproject area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes language/en Issues or PRs related to English language language/es Issues or PRs related to Spanish language language/fr Issues or PRs related to French language language/id Issues or PRs related to Indonesian language language/it Issues or PRs related to Italian language language/ja Issues or PRs related to Japanese language language/ko Issues or PRs related to Korean language language/pl Issues or PRs related to Polish language size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. language/pt Issues or PRs related to Portuguese language language/uk Issues or PRs related to Ukrainian language language/vi Issues or PRs related to Vietnamese language language/zh Issues or PRs related to Chinese language sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/release Categorizes an issue or PR as relevant to SIG Release. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Nov 18, 2025
@k8s-ci-robot k8s-ci-robot removed the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Nov 18, 2025
@AnshumanTripathi
Copy link
Contributor

Hello @dom4ha 👋! I'm reaching out from the Docs team. Just checking in as we approach Docs Freeze on 3rd December 2025, 12:00 UTC.
This documentation appears to still be under review. To meet the Docs Freeze, this PR must have a technical review as well as lgtm and approve labels applied, without any unaddressed comments or concerns from SIG Docs. The status of this enhancement is marked as at risk for docs freeze. Thank you!

Comment on lines 179 to 181
1. Scheduling profile needs to disable [default topology spread](/docs/concepts/scheduling-eviction/topology-spread-constraints/#internal-default-constraints)
1. `IgnorePreferredTermsOfExistingPods` of [InterPodAffinityArgs](/docs/reference/config-api/kube-scheduler-config.v1/#kubescheduler-config-k8s-io-v1-InterPodAffinityArgs)
can be set to `true` to make the batching more efficient.
Copy link
Member

Choose a reason for hiding this comment

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

Let's explain those two separately? because they are "what a cluster admin has to configure their cluster", while others are "what kind of pods can get the benefits from this feature".

So, overall, I'd prefer the explanation to be like:

This feature takes effect only for specific pods for now:
- No topology spread constraints.
- No DRA.
- ...

Also, to enable this feature in your scheduler, you have to configure the scheduler to:
- Change `IgnorePreferredTermsOfExistingPods` to `true`
- Set empty on default topology spread.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point. Broke it down into 4 categories

@macsko
Copy link
Member

macsko commented Nov 26, 2025

/sig scheduling

@k8s-ci-robot k8s-ci-robot added the sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. label Nov 26, 2025
Comment on lines 171 to 175
This feature takes effect only in specific conditions:
1. Pods need to have equivalent scheduling constraints
1. Pods need to be scheduled at the same time (cache expires afer 0.5s)
1. Pods cannot be interleaved with other pods
1. Only one batched pod can fit into one node (placing 2 pods on one node invalidates the cache)
Copy link
Member

Choose a reason for hiding this comment

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

I feel like it's easier to explain the basic flow first, and then explain these conditions without bullet points. Maybe like:

Suggested change
This feature takes effect only in specific conditions:
1. Pods need to have equivalent scheduling constraints
1. Pods need to be scheduled at the same time (cache expires afer 0.5s)
1. Pods cannot be interleaved with other pods
1. Only one batched pod can fit into one node (placing 2 pods on one node invalidates the cache)
Basically, this feature works like:
1. The scheduler schedules pod-1 and caches the scheduling result.
1. The scheduler schedules pod-2, 3, ... with the cached results.
1. The cache expires after 0.5 second. The scheduler schedules the next pod without cache.
Pods with equivalent scheduling constraints have to come to the scheduling cycle back to back. When the scheduler schedules a pod with different constraints, the cache is flushed at that point.

Also, I'd move 1. Only one batched pod can fit into one node (placing 2 pods on one node invalidates the cache) to the next section.

Comment on lines 177 to 180
And specific pods that do not use:
1. Inter pod affinity/anti-affinity
1. Topology spread constraints
1. DRA (cannot have any Resource Claims)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
And specific pods that do not use:
1. Inter pod affinity/anti-affinity
1. Topology spread constraints
1. DRA (cannot have any Resource Claims)
We apply this batching scheduling to specific pods that:
1. don't have inter pod affinity/anti-affinity
1. don't have tpology spread constraints
1. don't have DRA (i.e., don't have any Resource Claims)
1. scheduled exclusively on nodes (i.e., placing more than one pods on one node invalidates the cache)

@dom4ha dom4ha force-pushed the DocsUpdateKep5598 branch 2 times, most recently from b7fd102 to f80338e Compare December 1, 2025 15:21
Copy link
Member

@sanposhiho sanposhiho left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

sig-scheduling tech review

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 2, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

DetailsGit tree hash: 384e2eea1d5e29c88040d70e1e6dcdc2bb07517c

Copy link
Contributor

@natalisucks natalisucks left a comment

Choose a reason for hiding this comment

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

review from docs, some nits, some required – thanks for this PR!

@helayoty helayoty moved this to Needs Final Approver in SIG Scheduling Dec 2, 2025
@dom4ha dom4ha force-pushed the DocsUpdateKep5598 branch from f80338e to 97116b1 Compare December 2, 2025 23:24
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 2, 2025
@dom4ha
Copy link
Member Author

dom4ha commented Dec 2, 2025

I applied all your comments.
Thanks @natalisucks for the review.

Copy link
Contributor

@divya-mohan0209 divya-mohan0209 left a comment

Choose a reason for hiding this comment

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

LGTM from the docs side. Also, re-adding the approval from SIG Scheduling since that was removed in a previous commit due to stylistic changes suggested from our side.
/approve
/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 3, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

DetailsGit tree hash: 7247c1f099688ddc06995063030fbbf7bb33aac2

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: divya-mohan0209, sanposhiho

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

The pull request process is described 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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 3, 2025
@k8s-ci-robot k8s-ci-robot merged commit 26c750f into kubernetes:dev-1.35 Dec 3, 2025
6 checks passed
@github-project-automation github-project-automation bot moved this from Needs Final Approver to Done in SIG Scheduling Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.