Merge pull request #26596 from tengqm/kube-scheduler-config

Kube scheduler config
This commit is contained in:
Kubernetes Prow Robot
2021-04-01 18:48:11 -07:00
committed by GitHub
6 changed files with 2175 additions and 11 deletions
@@ -87,6 +87,7 @@ of the scheduler:
* Read about [scheduler performance tuning](/docs/concepts/scheduling-eviction/scheduler-perf-tuning/) * Read about [scheduler performance tuning](/docs/concepts/scheduling-eviction/scheduler-perf-tuning/)
* Read about [Pod topology spread constraints](/docs/concepts/workloads/pods/pod-topology-spread-constraints/) * Read about [Pod topology spread constraints](/docs/concepts/workloads/pods/pod-topology-spread-constraints/)
* Read the [reference documentation](/docs/reference/command-line-tools-reference/kube-scheduler/) for kube-scheduler * Read the [reference documentation](/docs/reference/command-line-tools-reference/kube-scheduler/) for kube-scheduler
* Read the [kube-scheduler config (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/) reference
* Learn about [configuring multiple schedulers](/docs/tasks/extend-kubernetes/configure-multiple-schedulers/) * Learn about [configuring multiple schedulers](/docs/tasks/extend-kubernetes/configure-multiple-schedulers/)
* Learn about [topology management policies](/docs/tasks/administer-cluster/topology-manager/) * Learn about [topology management policies](/docs/tasks/administer-cluster/topology-manager/)
* Learn about [Pod Overhead](/docs/concepts/scheduling-eviction/pod-overhead/) * Learn about [Pod Overhead](/docs/concepts/scheduling-eviction/pod-overhead/)
@@ -94,3 +95,4 @@ of the scheduler:
* [Volume Topology Support](/docs/concepts/storage/storage-classes/#volume-binding-mode) * [Volume Topology Support](/docs/concepts/storage/storage-classes/#volume-binding-mode)
* [Storage Capacity Tracking](/docs/concepts/storage/storage-capacity/) * [Storage Capacity Tracking](/docs/concepts/storage/storage-capacity/)
* [Node-specific Volume Limits](/docs/concepts/storage/storage-limits/) * [Node-specific Volume Limits](/docs/concepts/storage/storage-limits/)
@@ -24,8 +24,6 @@ in a process called _Binding_.
This page explains performance tuning optimizations that are relevant for This page explains performance tuning optimizations that are relevant for
large Kubernetes clusters. large Kubernetes clusters.
<!-- body --> <!-- body -->
In large clusters, you can tune the scheduler's behaviour balancing In large clusters, you can tune the scheduler's behaviour balancing
@@ -44,8 +42,10 @@ should use its compiled-in default.
If you set `percentageOfNodesToScore` above 100, kube-scheduler acts as if you If you set `percentageOfNodesToScore` above 100, kube-scheduler acts as if you
had set a value of 100. had set a value of 100.
To change the value, edit the kube-scheduler configuration file (this is likely To change the value, edit the
to be `/etc/kubernetes/config/kube-scheduler.yaml`), then restart the scheduler. [kube-scheduler configuration file](/docs/reference/config-api/kube-scheduler-config.v1beta1/)
and then restart the scheduler.
In many cases, the configuration file can be found at `/etc/kubernetes/config/kube-scheduler.yaml`.
After you have made this change, you can run After you have made this change, you can run
@@ -99,7 +99,6 @@ algorithmSource:
percentageOfNodesToScore: 50 percentageOfNodesToScore: 50
``` ```
## Tuning percentageOfNodesToScore ## Tuning percentageOfNodesToScore
`percentageOfNodesToScore` must be a value between 1 and 100 with the default `percentageOfNodesToScore` must be a value between 1 and 100 with the default
@@ -160,4 +159,7 @@ Node 1, Node 5, Node 2, Node 6, Node 3, Node 4
After going over all the Nodes, it goes back to Node 1. After going over all the Nodes, it goes back to Node 1.
## {{% heading "whatsnext" %}}
* Check the [kube-scheduler configuration reference (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/)
+2 -2
View File
@@ -22,8 +22,6 @@ This section of the Kubernetes documentation contains references.
* [Glossary](/docs/reference/glossary/) - a comprehensive, standardized list of Kubernetes terminology * [Glossary](/docs/reference/glossary/) - a comprehensive, standardized list of Kubernetes terminology
* [Kubernetes API Reference](/docs/reference/kubernetes-api/) * [Kubernetes API Reference](/docs/reference/kubernetes-api/)
* [One-page API Reference for Kubernetes {{< param "version" >}}](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) * [One-page API Reference for Kubernetes {{< param "version" >}}](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)
* [Using The Kubernetes API](/docs/reference/using-api/) - overview of the API for Kubernetes. * [Using The Kubernetes API](/docs/reference/using-api/) - overview of the API for Kubernetes.
@@ -67,6 +65,8 @@ client libraries:
## Config APIs ## Config APIs
* [kube-proxy configuration (v1alpha1)](/docs/reference/config-api/kube-proxy-config.v1alpha1/) * [kube-proxy configuration (v1alpha1)](/docs/reference/config-api/kube-proxy-config.v1alpha1/)
* [kube-scheduler config (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/)
## Config APIs ## Config APIs
File diff suppressed because it is too large Load Diff
@@ -19,8 +19,9 @@ Each stage is exposed in a extension point. Plugins provide scheduling behaviors
by implementing one or more of these extension points. by implementing one or more of these extension points.
You can specify scheduling profiles by running `kube-scheduler --config <filename>`, You can specify scheduling profiles by running `kube-scheduler --config <filename>`,
using the component config APIs using the
([`v1beta1`](https://pkg.go.dev/k8s.io/kube-scheduler@v0.19.0/config/v1beta1?tab=doc#KubeSchedulerConfiguration)). [KubeSchedulerConfiguration (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/)
struct.
A minimal configuration looks as follows: A minimal configuration looks as follows:
@@ -97,6 +98,7 @@ for that extension point. This can also be used to rearrange plugins order, if
desired. desired.
### Scheduling plugins ### Scheduling plugins
1. `UnReserve`: This is an informational extension point that is called if 1. `UnReserve`: This is an informational extension point that is called if
a Pod is rejected after being reserved and put on hold by a `Permit` plugin. a Pod is rejected after being reserved and put on hold by a `Permit` plugin.
@@ -245,3 +247,5 @@ only has one pending pods queue.
* Read the [kube-scheduler reference](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/) * Read the [kube-scheduler reference](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/)
* Learn about [scheduling](/docs/concepts/scheduling-eviction/kube-scheduler/) * Learn about [scheduling](/docs/concepts/scheduling-eviction/kube-scheduler/)
* Read the [kube-scheduler configuration (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1/) reference
@@ -17,7 +17,6 @@ You can set a scheduling policy by running
and using the [Policy type](https://pkg.go.dev/k8s.io/kube-scheduler@v0.18.0/config/v1?tab=doc#Policy). and using the [Policy type](https://pkg.go.dev/k8s.io/kube-scheduler@v0.18.0/config/v1?tab=doc#Policy).
<!-- body --> <!-- body -->
## Predicates ## Predicates
@@ -122,5 +121,6 @@ The following *priorities* implement scoring:
## {{% heading "whatsnext" %}} ## {{% heading "whatsnext" %}}
* Learn about [scheduling](/docs/concepts/scheduling-eviction/kube-scheduler/) * Learn about [scheduling](/docs/concepts/scheduling-eviction/kube-scheduler/)
* Learn about [kube-scheduler Configuration](/docs/reference/scheduling/config/) * Learn about [kube-scheduler configuration](/docs/reference/scheduling/config/)
* Read the [kube-scheduler configuration reference (v1beta1)](/docs/reference/config-api/kube-scheduler-config.v1beta1)