Information in this document may be out of date
This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: kube-scheduler Configuration (v1)
kube-scheduler 配置 (v1)
资源类型
- DefaultPreemptionArgs
- InterPodAffinityArgs
- KubeSchedulerConfiguration
- NodeAffinityArgs
- NodeResourcesBalancedAllocationArgs
- NodeResourcesFitArgs
- PodTopologySpreadArgs
- VolumeBindingArgs
ClientConnectionConfiguration
出现在:
ClientConnectionConfiguration 中包含用来构造客户端所需的细节。
字段 | 描述 |
---|---|
kubeconfig [必需]string
|
|
acceptContentTypes [必需]string
|
|
contentType [必需]string
|
|
qps [必需]float32
|
|
burst [必需]int32
|
|
DebuggingConfiguration
出现在:
DebuggingConfiguration 包含与调试功能相关的配置。
字段 | 描述 |
---|---|
enableProfiling [必需]bool
|
|
enableContentionProfiling [必需]bool
|
|
LeaderElectionConfiguration
出现在:
LeaderElectionConfiguration 为能够支持领导者选举的组件定义其领导者选举客户端的配置。
字段 | 描述 |
---|---|
leaderElect [必需]bool
|
|
leaseDuration [必需]meta/v1.Duration
|
|
renewDeadline [必需]meta/v1.Duration
|
|
retryPeriod [Required[必需]meta/v1.Duration
|
|
resourceLock [必需]string
|
|
resourceName [必需]string
|
|
resourceNamespace [必需]string
|
|
DefaultPreemptionArgs
DefaultPreemptionArgs 包含用来配置 DefaultPreemption 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | DefaultPreemptionArgs |
minCandidateNodesPercentage [必需]int32
|
|
minCandidateNodesAbsolute [必需]int32
|
|
InterPodAffinityArgs
InterPodAffinityArgs 包含用来配置 InterPodAffinity 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | InterPodAffinityArgs |
hardPodAffinityWeight [必需]int32
|
|
ignorePreferredTermsOfExistingPods [必需]bool
|
ignorePreferredTermsOfExistingPods 配置调度器在为候选节点评分时忽略现有 Pod 的优选亲和性规则, 除非传入的 Pod 具有 Pod 间的亲和性。 |
KubeSchedulerConfiguration
KubeSchedulerConfiguration 用来配置调度器。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | KubeSchedulerConfiguration |
parallelism [必需]int32
|
|
leaderElection [必需]LeaderElectionConfiguration
|
LeaderElection 字段用来定义领导者选举客户端的配置。 |
clientConnection [必需]ClientConnectionConfiguration
|
|
DebuggingConfiguration [必需]DebuggingConfiguration
|
(DebuggingConfiguration 的成员被内嵌到此类型中)
|
percentageOfNodesToScore [必需]int32
|
|
podInitialBackoffSeconds [必需]int64
|
|
podMaxBackoffSeconds [必需]int64
|
|
profiles [必需][]KubeSchedulerProfile
|
|
extenders [必需][]Extender
|
|
delayCacheUntilActive [Required]bool
|
DelayCacheUntilActive 指定何时开始缓存。如果字段设置为 true 并且启用了领导者选举, 则调度程序将等待填充通知者缓存,直到它成为领导者,这样做会减慢故障转移速度, 并在等待成为领导者时降低内存开销。 默认为 false。 |
NodeAffinityArgs
NodeAffinityArgs 中包含配置 NodeAffinity 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | NodeAffinityArgs |
addedAffinity core/v1.NodeAffinity
|
|
NodeResourcesBalancedAllocationArgs
NodeResourcesBalancedAllocationArgs 包含用来配置 NodeResourcesBalancedAllocation 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | NodeResourcesBalancedAllocationArgs |
resources [必需][]ResourceSpec
|
要管理的资源;如果未设置,则默认值为 "cpu" 和 "memory"。 |
NodeResourcesFitArgs
NodeResourcesFitArgs 包含用来配置 NodeResourcesFit 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | NodeResourcesFitArgs |
ignoredResources [必需][]string
|
|
ignoredResourceGroups [必需][]string
|
|
scoringStrategy [必需]ScoringStrategy
|
|
PodTopologySpreadArgs
PodTopologySpreadArgs 包含用来配置 PodTopologySpread 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | PodTopologySpreadArgs |
defaultConstraints []core/v1.TopologySpreadConstraint
|
|
defaultingType PodTopologySpreadConstraintsDefaulting
|
默认值为 "System"。 |
VolumeBindingArgs
VolumeBindingArgs 包含用来配置 VolumeBinding 插件的参数。
字段 | 描述 |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | VolumeBindingArgs |
bindTimeoutSeconds [必需]int64
|
|
shape []UtilizationShapePoint
|
默认的曲线计分点为:
所有计分点必须按利用率值的升序来排序。 |
Extender
出现在:
Extender 包含与扩展模块(Extender)通信所用的参数。 如果未指定 verb 或者 verb 为空,则假定对应的扩展模块选择不提供该扩展功能。
字段 | 描述 |
---|---|
urlPrefix [必需]string
|
用来访问扩展模块的 URL 前缀。 |
filterVerb [必需]string
|
filter 调用所使用的动词,如果不支持过滤操作则为空。 此动词会在向扩展模块发送 filter 调用时追加到 urlPrefix 后面。 |
preemptVerb [必需]string
|
preempt 调用所使用的动词,如果不支持 preempt 操作则为空。 此动词会在向扩展模块发送 preempt 调用时追加到 urlPrefix 后面。 |
prioritizeVerb [必需]string
|
prioritize 调用所使用的动词,如果不支持 prioritize 操作则为空。 此动词会在向扩展模块发送 prioritize 调用时追加到 urlPrefix 后面。 |
weight [必需]int64
|
针对 prioritize 调用所生成的节点分数要使用的数值系数。 weight 值必须是正整数。 |
bindVerb [必需]string
|
bind 调用所使用的动词,如果不支持 bind 操作则为空。 此动词会在向扩展模块发送 bind 调用时追加到 urlPrefix 后面。 如果扩展模块实现了此方法,扩展模块要负责将 Pod 绑定到 API 服务器。 只有一个扩展模块可以实现此函数。 |
enableHTTPS [必需]bool
|
|
tlsConfig [Required]ExtenderTLSConfig
|
|
httpTimeout [必需]meta/v1.Duration
|
|
nodeCacheCapable [必需]bool
|
|
managedResources []ExtenderManagedResource
|
|
ignorable [必需]bool
|
|
ExtenderManagedResource
出现在:
ExtenderManagedResource 描述某扩展模块所管理的扩展资源的参数。
字段 | 描述 |
---|---|
name [必需]string
|
扩展资源的名称。 |
ignoredByScheduler [必需]bool
|
|
ExtenderTLSConfig
出现在:
ExtenderTLSConfig 包含启用与扩展模块间 TLS 传输所需的配置参数。
字段 | 描述 |
---|---|
insecure [必需]bool
|
访问服务器时不需要检查 TLS 证书。此配置仅针对测试用途。 |
serverName [必需]string
|
|
certFile [必需]string
|
服务器端所要求的 TLS 客户端证书认证。 |
keyFile [必需]string
|
服务器端所要求的 TLS 客户端秘钥认证。 |
caFile [必需]string
|
服务器端被信任的根证书。 |
certData [必需][]byte
|
|
keyData [必需][]byte
|
|
caData [必需][]byte
|
|
KubeSchedulerProfile
出现在:
KubeSchedulerProfile 是一个调度方案。
字段 | 描述 |
---|---|
schedulerName [必需]string
|
|
percentageOfNodesToScore [必需]int32
|
percentageOfNodesToScore 是已发现可运行 Pod 的节点与所有节点的百分比, 调度器所发现的可行节点到达此阈值时,将停止在集群中继续搜索可行节点。 这有助于提高调度器的性能。无论此标志的值是多少,调度器总是尝试至少找到 “minFeasibleNodesToFind” 个可行的节点。 例如:如果集群大小为 500 个节点并且此标志的值为 30,则调度器在找到 150 个可行节点后将停止寻找更多可行的节点。 当值为 0 时,默认百分比(根据集群大小为 5% - 50%)的节点将被评分。此设置值将覆盖全局的 PercentageOfNodesToScore 值。 如果为空,将使用全局 PercentageOfNodesToScore。 |
plugins [必需]Plugins
|
如果针对某个扩展点没有设置被启用或被禁止的插件,
则使用该扩展点的默认插件(如果有的话)。如果设置了 QueueSort 插件,
则同一个 QueueSort 插件和 |
pluginConfig [必需][]PluginConfig
|
|
Plugin
出现在:
Plugin 指定插件的名称及其权重(如果适用的话)。权重仅用于评分(Score)插件。
字段 | 描述 |
---|---|
name [必需]string
|
插件的名称。 |
weight [必需]int32
|
插件的权重;仅适用于评分(Score)插件。 |
PluginConfig
出现在:
PluginConfig 给出初始化阶段要传递给插件的参数。 在多个扩展点被调用的插件仅会被初始化一次。 参数可以是任意结构。插件负责处理这里所传的参数。
字段 | 描述 |
---|---|
name [必需]string
|
|
args [必需]k8s.io/apimachinery/pkg/runtime.RawExtension
|
|
PluginSet
出现在:
PluginSet 为某扩展点设置要启用或禁用的插件。 如果数组为空,或者取值为 null,则使用该扩展点的默认插件集合。
字段 | 描述 |
---|---|
enabled [必需][]Plugin
|
|
disabled [必需][]Plugin
|
|
Plugins
出现在:
Plugins 结构中包含多个扩展点。当此结构被设置时, 针对特定扩展点所启用的所有插件都在这一列表中。 如果配置中不包含某个扩展点,则使用该扩展点的默认插件集合。 被启用的插件的调用顺序与这里指定的顺序相同,都在默认插件之后调用。 如果它们需要在默认插件之前调用,则需要先行禁止默认插件, 之后在这里按期望的顺序重新启用。
字段 | 描述 |
---|---|
preEnqueue [必需]PluginSet
|
preEnqueue 是在将 Pod 添加到调度队列之前应调用的插件的列表。 |
queueSort [必需]PluginSet
|
|
preFilter [必需]PluginSet
|
|
filter [必需]PluginSet
|
|
postFilter [必需]PluginSet
|
|
preScore [必需]PluginSet
|
|
score [必需]PluginSet
|
|
reserve [必需]PluginSet
|
|
permit [必需]PluginSet
|
|
preBind [必需]PluginSet
|
|
bind [必需]PluginSet
|
|
postBind [必需]PluginSet
|
|
multiPoint [必需]PluginSet
|
就优先序而言,插件配置遵从以下基本层次:
这意味着优先序较高的插件会先被运行,并且覆盖 用户显式配置的插件也会比默认插件优先序高。 在这样的层次结构设计之下, |
PodTopologySpreadConstraintsDefaulting
(string
类型的别名)
出现在:
PodTopologySpreadConstraintsDefaulting 定义如何为 PodTopologySpread 插件设置默认的约束。
RequestedToCapacityRatioParam
出现在:
RequestedToCapacityRatioParam 结构定义 RequestedToCapacityRatio 的参数。
字段 | 描述 |
---|---|
shape [必需][]UtilizationShapePoint
|
|
ResourceSpec
出现在:
ResourceSpec 用来代表某个资源。
字段 | 描述 |
---|---|
name [必需]string
|
资源名称。 |
weight [必需]int64
|
资源权重。 |
ScoringStrategy
出现在:
ScoringStrategy 为节点资源插件定义 ScoringStrategyType。
字段 | 描述 |
---|---|
type [必需]ScoringStrategyType
|
|
resources [必需][]ResourceSpec
|
默认的资源集合包含 "cpu" 和 "memory",且二者权重相同。 权重的取值范围为 1 到 100。 当权重未设置或者显式设置为 0 时,意味着使用默认值 1。 |
requestedToCapacityRatio [必需]RequestedToCapacityRatioParam
|
特定于 RequestedToCapacityRatio 策略的参数。 |
ScoringStrategyType
(string
数据类型的别名)
出现在:
ScoringStrategyType 是 NodeResourcesFit 插件所使用的的评分策略类型。
UtilizationShapePoint
出现在:
UtilizationShapePoint 代表的是优先级函数曲线中的一个评分点。
字段 | 描述 |
---|---|
utilization [必需]int32
|
利用率(x 轴)。合法值为 0 到 100。完全被利用的节点映射到 100。 |
score [必需]int32
|
|