Releases: kubernetes-sigs/scheduler-plugins
v0.30.6
🎉 scheduler-plugins v0.30.6 is released!
New images
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.30.6
- registry.k8s.io/scheduler-plugins/controller:v0.30.6
Helm charts
Helm charts are now hosted on https://scheduler-plugins.sigs.k8s.io/. You can install a scheduler-plugin chart via:
$ helm install --repo https://scheduler-plugins.sigs.k8s.io scheduler-plugins scheduler-plugins
or update existing repo via:
$ helm repo update scheduler-plugins
$ helm search repo scheduler-plugins --versions
NAME CHART VERSION APP VERSION DESCRIPTION
scheduler-plugins/scheduler-plugins 0.30.6 0.30.6 deploy scheduler plugin as a second scheduler i...
scheduler-plugins/scheduler-plugins 0.29.7 0.29.7 deploy scheduler plugin as a second scheduler i...
scheduler-plugins/scheduler-plugins 0.28.8 0.28.8 deploy scheduler plugin as a second scheduler i...
What's Changed
- Documents update for release v0.28.8 by @Huang-Wei in #716
- Avoid unnecessary requeue operations in coscheduling by @Huang-Wei in #700
- Documents update for release v0.28.9 by @Huang-Wei in #719
- bump k8s deps to v1.29 on master by @Huang-Wei in #723
- [noderesourcetopology] move logging to the logr interface by @ffromani in #710
- pass existing context without using TODO() by @googs1025 in #728
- [noderesourcetopology] complete the contextual logging integration by @ffromani in #725
- fix log print and some nit issue by @googs1025 in #726
- [noderesourcetopology] improve classification of resources by @ffromani in #735
- site: add chart index to site by @zwpaper in #737
- Add ARG for base image customization by @jgu17 in #738
- add crd(podgroup, elasticquotas) field by @googs1025 in #731
- Fix CVE-2023-47108 in go.opentelemetry.io by @jgu17 in #742
- Revert "generate-internal-groups.sh -> kube_codegen.sh" by @Huang-Wei in #747
- docs: anyone should be any by @vsoch in #736
- replace deprecated method by @googs1025 in #739
- Fix typo: gochache => gocache by @yeahdongcn in #750
- bump codegen to 0.14.0 by @Huang-Wei in #749
- [noderesourcetopology] rewrite accounting of numa-affine resources with scope=container by @ffromani in #752
- add unit-test.sh args customizable by @googs1025 in #753
- Convert update-codegen.sh to new codegen by @rihib in #754
- [noderesourcetopology] update NRT when attributes change by @ffromani in #631
- fix: add validation for pggroup by @googs1025 in #758
- Add support for ppc64le and s390x architectures and distroless builds by @prb112 in #746
- Enable buildx in cloudbuild by @Huang-Wei in #766
- fix buildx command in cloudbuild by @Huang-Wei in #767
- increase the timeout of cloudbuild by @Huang-Wei in #768
- use high memory machine to speedup cloudbuild by @Huang-Wei in #769
- revert building platforms for linux/s390x and linux/ppc64le by @Huang-Wei in #770
- chore: fix EventsToRegister method comment by @googs1025 in #764
- revamp Makefile and build scripts to adapt to 'docker buildx' in local and cloudbuild by @Huang-Wei in #771
- extend build platforms to include linux/s390x,linux/ppc64le by @Huang-Wei in #772
- speed up build time using platform specific image/arguments by @Huang-Wei in #773
- bump k8s deps to v1.29.7 by @Huang-Wei in #774
- doc update for v0.29.7 by @Huang-Wei in #775
- Fix an issue that build params are not propagated by @Huang-Wei in #777
- update Helm's deployment spec by @Huang-Wei in #780
- Update helm chart's version to 0.29.7 by @Huang-Wei in #782
- fix image URLs in Helm chart by @Huang-Wei in #784
- update helm chart index to include version 0.29.7 by @Huang-Wei in #786
- add back previous Helm release entry by @Huang-Wei in #787
- add subtitle for trimaran in plugin list by @haorenfsa in #790
- bump k8s dependencies to v1.30.4 by @Huang-Wei in #792
- use
/bin/kube-scheduler
and/bin/controller
as the entrypoints of Dockerfiles by @Huang-Wei in #794 - solve struct literal uses unkeyed fields by @maoqide in #755
- nrt: log: introduce and use "generation" for cache by @ffromani in #798
- Ensure consistent casing in Dockerfiles by @LavredisG in #799
- KEP for PEAKS plugin by @knarayan in #763
- Fix leader election config in the helm chart by @chotiwat in #815
- Allow specifying the scheduler container entrypoint in the helm chart by @chotiwat in #814
- allow resources to be configured in Helm chart by @EladDolev in #802
- fix: fix wrong PreemptionToleration policy example by @odeinjul in #805
- bump k8s deps to v1.30.6 by @Huang-Wei in #817
- feature: use contextal logging by @googs1025 in #813
New Contributors
- @googs1025 made their first contribution in #728
- @vsoch made their first contribution in #736
- @yeahdongcn made their first contribution in #750
- @rihib made their first contribution in #754
- @prb112 made their first contribution in #746
- @haorenfsa made their first contribution in #790
- @maoqide made their first contribution in #755
- @LavredisG made their first contribution in #799
- @chotiwat made their first contribution in #815
- @odeinjul made their first contribution in #805
Full Changelog: v0.28.8...v0.30.6
v0.29.8
v0.29.8
v0.29.7
🎉 scheduler-plugins v0.29.7 is released!
New Images
🆕 The distroless image now supports four platforms: linux/amd64, linux/arm64, linux/s390x, and linux/ppc64le.
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.29.7
- registry.k8s.io/scheduler-plugins/controller:v0.29.7
Feature
Documentation
- Helm charts are now hosted on https://scheduler-plugins.sigs.k8s.io. You can install a scheduler-plugin chart via
helm install --repo https://scheduler-plugins.sigs.k8s.io scheduler-plugins scheduler-plugins
(#737, @zwpaper)
Bug or Regression
- Fix GHSA-8pgv-569h-w5rw in go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 (#742, @jgu17)
- Rewrite handling of ephemeral storage and other non-NUMA-affine resources (#752, @ffromani)
v0.28.9
🎉 scheduler-plugins v0.28.9 is released!
New Images
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.28.9
- registry.k8s.io/scheduler-plugins/controller:v0.28.9
Changes by Kind
Feature
- Adds ability to change NodeSelector, affinity, and tolerance to Helm Chart. (#697, @mochizuki875)
- Introduce new Scoring plugin called SySched that will rank feasible nodes based on the relative risks of pods' system call usage. (#568, @salmanyam)
- Performance fix to eliminate unnecessary re-queue actions in coscheduling plugin (#700, @Huang-Wei)
- Release helm chart as artifact (#692, @zwpaper)
Bug or Regression
- Golang.org/x/net is bumped to v0.23.0 to address CVE-2023-45288 (#714, @Huang-Wei)
Other (Cleanup or Flake)
+kubebuilder:metadata:annotations
is recommended but no longer mandatory to be defined in CRD types.go (#699, @Huang-Wei)- Bump k8s deps to v1.28.8
v0.27.8
🎉 scheduler-plugins v0.27.8 is released!
New Images
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.27.8
- registry.k8s.io/scheduler-plugins/controller:v0.27.8
Changes by Kind
Highlights
One major change completed in this release is #485 which migrates from typed client to generic controller-runtime client.
- Impact to end-users: N/A
- Impact to developers:
- for CR object's manipulation, new plugin's development should stick to current codebase convention to use controller-runtime's client or informer
- for core API object's manipulation, esp. Pods and Nodes, it's still recommended to read/watch from frameworkHandle's sharedInformerFactory; for other core API objects, it's up to plugin developers to choose which client to use
Updated: generated typed client/informer libs will still be maintained rather than removal due to demands from external community like kubeflow.⚠️ generated typed client/informer under pkg/generated will be removed after 3 releases (v0.30.x). External repos that vendor this repo's typed generation code should either generate typed client/informer themselves or start migrating to generic controller-runtime client.
Documentation
- Init github page support (#616, @zwpaper).
- 📖 An experimental website is live at https://scheduler-plugins.sigs.k8s.io/
Bug or Regression
- Fix findSuitableCombination calculation logic for selecting a combination when it contains NUMA nodes without memory modules (#627, @283713406)
- Fix incorrect score calculation for NodeResourceTopology LeastNUMANodes scoring strategy when NUMA nodes ids are not sorted. (#623, @PiotrProkop)
Other (Cleanup or Flake)
- Bump go version to 1.20 and k8s deps to 1.27 (#608, @Huang-Wei)
- Fixing minor bugs:
- Migrate coscheduling to use controller-runtime client (#652, @Huang-Wei)
- Migrate appGroup and networkTopology client to ctrl runtime (#522, @zwpaper)
- Migrate noderesourcetopology to ctrl runtime client (#655, @zwpaper)
- Migrate elasticquota/capacityscheduling to controller-runtime (#665, @Huang-Wei)
Uncategorized
- Add a new coscheduling plugin argument
podGroupBackoffSeconds
to configure backoff timer for failed PodGroup. User needs to explicitly specify a positive integer to enable this feature. (#559, @KunWuLuan) - Bump builder image to go1.20 (#611, @zwpaper)
- Bump k8s deps to 1.27.6 (#639, @zwpaper)
🎉 Thanks everyone who contributed to this release!
v0.26.7
🎉 scheduler-plugins v0.26.7 is released!
New Images
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.26.7
- registry.k8s.io/scheduler-plugins/controller:v0.26.7
Changes by Kind
Feature
- Trimaran: implementation for low-risk overcommitment scheduler plugin. (#412, @atantawi)
- Add new DiscardReservedNodes cache type for NodeResourceTopologyPlugin. (#504, @PiotrProkop)
- Migrate ElasticQuota to use controller-runtime controllers (#527, @nayihz)
- Update LeastNUMANodes ScoringStrategy for NodeResourceTopologyMatch to take distance between topology zones into consideration. (#500, @PiotrProkop)
- Add a new coscheduling plugin argument
podGroupBackoffSeconds
to configure backoff timer for failed PodGroup. User needs to explicitly specify a positive integer to enable this feature. (#559, @KunWuLuan)
Bug or Regression
Other (Cleanup or Flake)
- Delete kubeConfig/incluster/masterUrl options in controller. Implemented --worker option. (#569, @nayihz)
- Nodetopologymatch: track only pods with exclusive resources. Reduces churn and improves the resync latency. (#590, @ffromani)
- Remove the PostBind implementation from the coscheduling plugin. (#554, @nayihz)
- Kubernetes dependency bumped to v1.26.7. (#601, @PiotrProkop)
🎉 Thank you to everyone who contributed to this release!
v0.25.7
🌷 scheduler-plugins v0.25.7 images are available at registry.k8s.io:
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.25.7
- registry.k8s.io/scheduler-plugins/controller:v0.25.7
Highlighted below are the changes made since the previous release (v0.24.9):
⚠️ BREAKING CHANGES
- The API Group of CRD
PodGroup
andElasticQuota
is migrated toscheduling.x-k8s.io
. The brand new installations don't need to do anything. Users migrating to this release need to do the following steps:- use
kubectl replace -f <crds>
to ensure new CRDs function well - migrate the labels - new label is using a style of
*.scheduling.x-k8s.io/<label-name>
, e.g.,scheduling.x-k8s.io/pod-group
- use
- Helm chart now leverages
--namespace scheduler-plugins --create-namespace
to consolidate both Helm release meta info and chart artifacts in the same namespace. Moreover, it enables users to customize the installation namespace.
⭐ Major changes:
- new ScoringStrategy
LeastNUMANodes
forNodeResourceTopologyMatch
plugin that will score nodes based on how many NUMA nodes are required to satisfy resource requirements of given pod - refactoring in
NodeResourceTopologyMatch
plugin - support scheduler component config v1
- PodGroup and ElasticQuota now serve
/status
as a standard subresrouce - (WIP) migrate to controller-runtime to replace typed clientset
- bumped the Kubernetes dependency to v1.25.7
🎉 Thank you to everyone who contributed to this release!
v0.24.9
☃️ scheduler-plugins v0.24.9 images are available at registry.k8s.io:
- registry.k8s.io/scheduler-plugins/kube-scheduler:v0.24.9
- registry.k8s.io/scheduler-plugins/controller:v0.24.9
Below are highlighted changes since the previous release (v0.23):
- Images point to registry.k8s.io now
- PluginConfig is now configurable in Helm charts
- Fine-tuned resource reservation design for NodeResouceTopology scheduler plugin
- KEP: System Call based scheduling
- Network cost aware scheduling plugin
- Bumped the Kubernetes dependency to v1.24.9
🎉 Thank you to everyone who contributed to this release!
v0.23.10
📢 scheduler-plugins v0.23.10 images are available at k8s.gcr.io:
- k8s.gcr.io/scheduler-plugins/kube-scheduler:v0.23.10
- k8s.gcr.io/scheduler-plugins/controller:v0.23.10
Below are highlighted changes since the previous release (v0.22):
- Simplified Helm chart based on scheduler config v1beta3.
- Optimized coscheduling logic in PreFilter to refrain from early backing off for a PodGroup.
- Bug fixes and improvements to NodeResourceTopology and TargetLoadPacking plugins.
- Scheduler config gets bumped to v1beta3.
- Bumped the Kubernetes dependency to v1.23.10.
🎉 Thank you to everyone who contributed to this release!
v0.22.6
📢 scheduler-plugins v0.22.6 images are available at k8s.gcr.io:
- k8s.gcr.io/scheduler-plugins/kube-scheduler:v0.22.6
- k8s.gcr.io/scheduler-plugins/controller:v0.22.6
Below are highlighted changes since the previous release (v0.21):
kubeConfigPath
is no longer needs to be configured in plugin arguments #287- A new "Preemption Toleration" plugin which provides flexible preemption behavior by introducing a preemption toleration policy in PriorityClass resources #205 #224
- Improvements on coscheduling plugin:
- Improvements on Helm chart:
- General enhancements:
- Register custom resource events for efficient pod enqueuing #317
- A "Network Aware" scheduler KEP is merged #282
- Bug fixes:
- Version update:
- Scheduler config gets bumped to v1beta2 #290
- Bumped the Kubernetes dependency to v1.22.6
🎉 Thank you to everyone who contributed to this release!