此文档中的信息可能已过时
此文档的更新日期比原文晚,因此其中的信息可能已过时。如果能阅读英文,请查看英文版本以获取最新信息: 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 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | DefaultPreemptionArgs | 
minCandidateNodesPercentage [必需]int32
 | 
   
    
  | 
minCandidateNodesAbsolute [必需]int32
 | 
   
    
  | 
InterPodAffinityArgs    
InterPodAffinityArgs 包含用来配置 InterPodAffinity 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | InterPodAffinityArgs | 
hardPodAffinityWeight [必需]int32
 | 
   
    
  | 
ignorePreferredTermsOfExistingPods [必需]bool
 | 
   
    ignorePreferredTermsOfExistingPods 配置调度器在为候选节点评分时忽略现有 Pod 的优选亲和性规则, 除非传入的 Pod 具有 Pod 间的亲和性。  | 
KubeSchedulerConfiguration    
KubeSchedulerConfiguration 用来配置调度器。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | KubeSchedulerConfiguration | 
parallelism [必需]int32
 | 
   
    
     | 
leaderElection [必需]LeaderElectionConfiguration
 | 
   
    LeaderElection 字段用来定义领导者选举客户端的配置。  | 
clientConnection [必需]ClientConnectionConfiguration
 | 
   
    
  | 
DebuggingConfiguration [必需]DebuggingConfiguration
 | 
(DebuggingConfiguration 的成员被内嵌到此类型中)
   
   
  | 
percentageOfNodesToScore [必需]int32
 | 
   
    
     | 
podInitialBackoffSeconds [必需]int64
 | 
   
    
  | 
podMaxBackoffSeconds [必需]int64
 | 
   
    
  | 
profiles [必需][]KubeSchedulerProfile
 | 
   
    
     | 
extenders [必需][]Extender
 | 
   
    
  | 
delayCacheUntilActive [必需]bool
 | 
    DelayCacheUntilActive 指定何时开始缓存。如果字段设置为 true 并且启用了领导者选举, 则调度程序将等待填充通知者缓存,直到它成为领导者,这样做会减慢故障转移速度, 并在等待成为领导者时降低内存开销。 默认为 false。  | 
NodeAffinityArgs    
NodeAffinityArgs 中包含配置 NodeAffinity 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | NodeAffinityArgs | 
addedAffinitycore/v1.NodeAffinity
 | 
   
    
     | 
NodeResourcesBalancedAllocationArgs    
NodeResourcesBalancedAllocationArgs 包含用来配置 NodeResourcesBalancedAllocation 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | NodeResourcesBalancedAllocationArgs | 
resources [必需][]ResourceSpec
 | 
   
    要管理的资源;如果未设置,则默认值为 "cpu" 和 "memory"。  | 
NodeResourcesFitArgs    
NodeResourcesFitArgs 包含用来配置 NodeResourcesFit 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | NodeResourcesFitArgs | 
ignoredResources [必需][]string
 | 
   
    
  | 
ignoredResourceGroups [必需][]string
 | 
   
    
  | 
scoringStrategy [必需]ScoringStrategy
 | 
   
    
  | 
PodTopologySpreadArgs    
PodTopologySpreadArgs 包含用来配置 PodTopologySpread 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | PodTopologySpreadArgs | 
defaultConstraints[]core/v1.TopologySpreadConstraint
 | 
   
    
  | 
defaultingTypePodTopologySpreadConstraintsDefaulting
 | 
   
    
 
 默认值为 "System"。  | 
VolumeBindingArgs    
VolumeBindingArgs 包含用来配置 VolumeBinding 插件的参数。
| 字段 | 描述 | 
|---|---|
apiVersionstring  | kubescheduler.config.k8s.io/v1 | 
kindstring  | 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 [必需]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
 | 
   
    
  |