kube-scheduler

概要

Kubernetes 调度程序是一个控制平面进程,它将 Pod 分配到节点。调度程序根据约束和可用资源确定哪些节点是调度队列中每个 Pod 的有效放置位置。然后,调度程序对每个有效节点进行排名,并将 Pod 绑定到合适的节点。集群内可以使用多个不同的调度程序;kube-scheduler 是参考实现。有关调度和 kube-scheduler 组件的更多信息,请参见 调度

kube-scheduler [flags]

选项

--allow-metric-labels stringToString     默认值:[]

指标标签到值的映射允许此标签的列表。键的格式为 <MetricName>,<LabelName>。值的格式为 <allowed_value>,<allowed_value>...例如 metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'。

--allow-metric-labels-manifest string

包含允许列表映射的清单文件的路径。文件的格式与标志 --allow-metric-labels 相同。请注意,标志 --allow-metric-labels 将覆盖清单文件。

--authentication-kubeconfig string

指向具有足够权限创建 tokenreviews.authentication.k8s.io 的“核心” Kubernetes 服务器的 kubeconfig 文件。这是可选的。如果为空,则所有令牌请求都将被视为匿名,并且不会在集群中查找任何客户端 CA。

--authentication-skip-lookup

如果为 false,则 authentication-kubeconfig 将用于从集群中查找缺少的身份验证配置。

--authentication-token-webhook-cache-ttl duration     默认值:10s

从 Webhook 令牌身份验证器缓存响应的持续时间。

--authentication-tolerate-lookup-failure     默认值:true

如果为 true,则从集群中查找缺少的身份验证配置失败不会被视为致命错误。请注意,这可能会导致身份验证将所有请求视为匿名。

--authorization-always-allow-paths strings     默认值:"/healthz,/readyz,/livez"

在授权期间跳过的 HTTP 路径列表,即这些路径在不联系“核心” Kubernetes 服务器的情况下被授权。

--authorization-kubeconfig string

指向具有足够权限创建 subjectaccessreviews.authorization.k8s.io 的“核心” Kubernetes 服务器的 kubeconfig 文件。这是可选的。如果为空,则所有未被授权跳过的请求都将被禁止。

--authorization-webhook-cache-authorized-ttl duration     默认值:10s

缓存 Webhook 授权器“已授权”响应的持续时间。

--authorization-webhook-cache-unauthorized-ttl duration     默认值:10s

缓存 Webhook 授权器“未授权”响应的持续时间。

--bind-address string     默认值:0.0.0.0

监听 --secure-port 端口的 IP 地址。关联的接口必须可被集群中的其他部分以及 CLI/Web 客户端访问。如果为空或为未指定地址(0.0.0.0 或 ::),则将使用所有接口和 IP 地址族。

--cert-dir string

TLS 证书所在的目录。如果提供了 --tls-cert-file 和 --tls-private-key-file,则此标志将被忽略。

--client-ca-file string

如果设置,则任何使用 client-ca-file 中的某个授权机构签名的客户端证书进行的请求都将使用与客户端证书的通用名相对应的身份进行身份验证。

--config string

配置文件的路径。

--contention-profiling     默认值:true

已弃用:如果启用了分析,则启用块分析。如果在 --config 中指定了配置文件,则此参数将被忽略。

--disabled-metrics strings

此标志为行为异常的指标提供了一个逃生通道。您必须提供完全限定的指标名称才能禁用它。免责声明:禁用指标的优先级高于显示隐藏指标。

--feature-gates <用逗号分隔的“key=True|False”对>

一组键值对,描述 alpha/实验功能的功能开关。选项是
APIResponseCompression=true|false (BETA - 默认值:true)
APIServerIdentity=true|false (BETA - 默认值:true)
APIServerTracing=true|false (BETA - 默认值:true)
APIServingWithRoutine=true|false (BETA - 默认值:true)
AllAlpha=true|false (ALPHA - 默认值:false)
AllBeta=true|false (BETA - 默认值:false)
AnyVolumeDataSource=true|false (BETA - 默认值:true)
AppArmor=true|false (BETA - 默认值:true)
AppArmorFields=true|false (BETA - 默认值:true)
CPUManagerPolicyAlphaOptions=true|false (ALPHA - 默认值:false)
CPUManagerPolicyBetaOptions=true|false (BETA - 默认值:true)
CPUManagerPolicyOptions=true|false (BETA - 默认值:true)
CRDValidationRatcheting=true|false (BETA - 默认值:true)
CSIMigrationPortworx=true|false (BETA - 默认值:false)
CSIVolumeHealth=true|false (ALPHA - 默认值:false)
CloudControllerManagerWebhook=true|false (ALPHA - 默认值:false)
ClusterTrustBundle=true|false (ALPHA - 默认值:false)
ClusterTrustBundleProjection=true|false (ALPHA - 默认值:false)
ComponentSLIs=true|false (BETA - 默认值:true)
ConsistentListFromCache=true|false (ALPHA - 默认值:false)
ContainerCheckpoint=true|false (BETA - 默认值:true)
ContextualLogging=true|false (BETA - 默认值:true)
CronJobsScheduledAnnotation=true|false (BETA - 默认值:true)
CrossNamespaceVolumeDataSource=true|false (ALPHA - 默认值:false)
CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值:false)
CustomResourceFieldSelectors=true|false (ALPHA - 默认值:false)
DevicePluginCDIDevices=true|false (BETA - 默认值:true)
DisableCloudProviders=true|false (BETA - 默认值:true)
DisableKubeletCloudCredentialProviders=true|false (BETA - 默认值:true)
DisableNodeKubeProxyVersion=true|false (ALPHA - 默认值:false)
DynamicResourceAllocation=true|false (ALPHA - 默认值:false)
ElasticIndexedJob=true|false (BETA - 默认值:true)
EventedPLEG=true|false (ALPHA - 默认值:false)
GracefulNodeShutdown=true|false (BETA - 默认值:true)
GracefulNodeShutdownBasedOnPodPriority=true|false (BETA - 默认值:true)
HPAScaleToZero=true|false (ALPHA - 默认值:false)
HonorPVReclaimPolicy=true|false (ALPHA - 默认值:false)
ImageMaximumGCAge=true|false (BETA - 默认值:true)
InPlacePodVerticalScaling=true|false (ALPHA - 默认值:false)
InTreePluginAWSUnregister=true|false (ALPHA - 默认值:false)
InTreePluginAzureDiskUnregister=true|false (ALPHA - 默认值:false)
InTreePluginAzureFileUnregister=true|false (ALPHA - 默认值:false)
InTreePluginGCEUnregister=true|false (ALPHA - 默认值:false)
InTreePluginOpenStackUnregister=true|false (ALPHA - 默认值:false)
InTreePluginPortworxUnregister=true|false (ALPHA - 默认值:false)
InTreePluginvSphereUnregister=true|false (ALPHA - 默认值:false)
InformerResourceVersion=true|false (ALPHA - 默认值:false)
JobBackoffLimitPerIndex=true|false (BETA - 默认值:true)
JobManagedBy=true|false (ALPHA - 默认值:false)
JobPodFailurePolicy=true|false (BETA - 默认值:true)
JobPodReplacementPolicy=true|false (BETA - 默认值:true)
JobSuccessPolicy=true|false (ALPHA - 默认值:false)
KubeProxyDrainingTerminatingNodes=true|false (BETA - 默认值:true)
KubeletCgroupDriverFromCRI=true|false (ALPHA - 默认值:false)
KubeletInUserNamespace=true|false (ALPHA - 默认值:false)
KubeletPodResourcesDynamicResources=true|false (ALPHA - 默认值:false)
KubeletPodResourcesGet=true|false (ALPHA - 默认值:false)
KubeletSeparateDiskGC=true|false (ALPHA - 默认值:false)
KubeletTracing=true|false (BETA - 默认值:true)
LoadBalancerIPMode=true|false (BETA - 默认值:true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值:false)
LogarithmicScaleDown=true|false (BETA - 默认值:true)
LoggingAlphaOptions=true|false (ALPHA - 默认值:false)
LoggingBetaOptions=true|false (BETA - 默认值:true)
MatchLabelKeysInPodAffinity=true|false (ALPHA - 默认值:false)
MatchLabelKeysInPodTopologySpread=true|false (BETA - 默认值:true)
MaxUnavailableStatefulSet=true|false (ALPHA - 默认值:false)
MemoryManager=true|false (BETA - 默认值:true)
MemoryQoS=true|false (ALPHA - 默认值:false)
MultiCIDRServiceAllocator=true|false (ALPHA - 默认值:false)
MutatingAdmissionPolicy=true|false (ALPHA - 默认值:false)
NFTablesProxyMode=true|false (ALPHA - 默认值:false)
NodeInclusionPolicyInPodTopologySpread=true|false (BETA - 默认值:true)
NodeLogQuery=true|false (BETA - 默认值:false)
NodeSwap=true|false (BETA - 默认值:true)
OpenAPIEnums=true|false (BETA - 默认值:true)
PDBUnhealthyPodEvictionPolicy=true|false (BETA - 默认值:true)
PersistentVolumeLastPhaseTransitionTime=true|false (BETA - 默认值:true)
PodAndContainerStatsFromCRI=true|false (ALPHA - 默认值:false)
PodDeletionCost=true|false (BETA - 默认值:true)
PodDisruptionConditions=true|false (BETA - 默认值:true)
PodIndexLabel=true|false (BETA - 默认值:true)
PodLifecycleSleepAction=true|false (BETA - 默认值:true)
PodReadyToStartContainersCondition=true|false (BETA - 默认值:true)
PortForwardWebsockets=true|false (ALPHA - 默认值:false)
ProcMountType=true|false (ALPHA - 默认值:false)
QOSReserved=true|false (ALPHA - 默认值:false)
RecoverVolumeExpansionFailure=true|false (ALPHA - 默认值:false)
RecursiveReadOnlyMounts=true|false (ALPHA - 默认值:false)
RelaxedEnvironmentVariableValidation=true|false (ALPHA - 默认值:false)
RetryGenerateName=true|false (ALPHA - 默认值:false)
RotateKubeletServerCertificate=true|false (BETA - 默认值:true)
RuntimeClassInImageCriApi=true|false (ALPHA - 默认值:false)
SELinuxMount=true|false (ALPHA - 默认值:false)
SELinuxMountReadWriteOncePod=true|false (BETA - 默认值:true)
SchedulerQueueingHints=true|false (BETA - 默认值:false)
SeparateCacheWatchRPC=true|false (BETA - 默认值:true)
SeparateTaintEvictionController=true|false (BETA - 默认值:true)
ServiceAccountTokenJTI=true|false (BETA - 默认值:true)
ServiceAccountTokenNodeBinding=true|false (ALPHA - 默认值:false)
ServiceAccountTokenNodeBindingValidation=true|false (BETA - 默认值:true)
ServiceAccountTokenPodNodeInfo=true|false (BETA - 默认值:true)
ServiceTrafficDistribution=true|false (ALPHA - 默认值:false)
SidecarContainers=true|false (BETA - 默认值:true)
SizeMemoryBackedVolumes=true|false (BETA - 默认值:true)
StatefulSetAutoDeletePVC=true|false (BETA - 默认值:true)
StatefulSetStartOrdinal=true|false (BETA - 默认值:true)
StorageNamespaceIndex=true|false (BETA - 默认值:true)
StorageVersionAPI=true|false (ALPHA - 默认值:false)
StorageVersionHash=true|false (BETA - 默认值:true)
StorageVersionMigrator=true|false (ALPHA - 默认值:false)
StructuredAuthenticationConfiguration=true|false (BETA - 默认值:true)
StructuredAuthorizationConfiguration=true|false (BETA - 默认值:true)
TopologyAwareHints=true|false (BETA - 默认值:true)
TopologyManagerPolicyAlphaOptions=true|false (ALPHA - 默认值:false)
TopologyManagerPolicyBetaOptions=true|false (BETA - 默认值:true)
TopologyManagerPolicyOptions=true|false (BETA - 默认值:true)
TranslateStreamCloseWebsocketRequests=true|false (BETA - 默认值:true)
UnauthenticatedHTTP2DOSMitigation=true|false (BETA - 默认值:true)
UnknownVersionInteroperabilityProxy=true|false (ALPHA - 默认值:false)
UserNamespacesPodSecurityStandards=true|false (ALPHA - 默认值:false)
UserNamespacesSupport=true|false (BETA - 默认值:false)
VolumeAttributesClass=true|false (ALPHA - 默认值:false)
VolumeCapacityPriority=true|false (ALPHA - 默认值:false)
WatchFromStorageWithoutResourceVersion=true|false (BETA - 默认值:false)
WatchList=true|false (ALPHA - 默认值:false)
WatchListClient=true|false (BETA - 默认值:false)
WinDSR=true|false (ALPHA - 默认值:false)
WinOverlay=true|false (BETA - 默认值:true)
WindowsHostNetwork=true|false (ALPHA - 默认值:true)

-h, --help

kube-scheduler 帮助

--http2-max-streams-per-connection int

服务器为客户端在 HTTP/2 连接中设置的最大流数限制。零表示使用 golang 的默认值。

--kube-api-burst int32     默认值:100

已弃用:与 kubernetes apiserver 通信时使用的突发值。如果在 --config 中指定了配置文件,则忽略此参数。

--kube-api-content-type string     默认值: "application/vnd.kubernetes.protobuf"

已弃用:发送到 apiserver 的请求的内容类型。如果在 --config 中指定了配置文件,则忽略此参数。

--kube-api-qps float     默认值: 50

已弃用:与 kubernetes apiserver 通信时使用的 QPS。如果在 --config 中指定了配置文件,则忽略此参数。

--kubeconfig string

已弃用:包含授权和主节点位置信息的 kubeconfig 文件路径。如果在 --config 中指定了配置文件,则忽略此参数。

--leader-elect     默认值: true

启动一个领导选举客户端并在执行主循环之前获得领导权。在运行复制组件以实现高可用性时启用此选项。

--leader-elect-lease-duration duration     默认值: 15s

非领导候选人在观察到领导更新后,在尝试获取被领导但未更新的领导者槽位的领导权之前等待的时间。这实际上是领导者在被另一个候选者替换之前可以停止的最大时间。这仅在启用领导者选举时适用。

--leader-elect-renew-deadline duration     默认值: 10s

代理主节点尝试续期领导者槽位之前的时间间隔。这必须小于租约持续时间。这仅在启用领导者选举时适用。

--leader-elect-resource-lock string     默认值: "leases"

用于在领导者选举期间锁定资源对象的类型。支持的选项是 'leases'、'endpointsleases' 和 'configmapsleases'。

--leader-elect-resource-name string     默认值: "kube-scheduler"

用于在领导者选举期间锁定的资源对象的名称。

--leader-elect-resource-namespace string     默认值: "kube-system"

用于在领导者选举期间锁定的资源对象的命名空间。

--leader-elect-retry-period duration     默认值: 2s

客户端在尝试获取和续期领导权之间等待的时间。这仅在启用领导者选举时适用。

--log-flush-frequency duration     默认值: 5s

日志刷新之间的最大秒数

--log-text-info-buffer-size quantity

[Alpha] 在使用拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值为零字节,表示禁用缓冲。大小可以指定为字节数 (512)、1000 的倍数 (1K)、1024 的倍数 (2Ki) 或它们的次方 (3M、4G、5Mi、6Gi)。启用 LoggingAlphaOptions 特性门才能使用此功能。

--log-text-split-stream

[Alpha] 在文本格式中,将错误消息写入 stderr,将信息消息写入 stdout。默认值为将单个流写入 stdout。启用 LoggingAlphaOptions 特性门才能使用此功能。

--logging-format string     默认值: "text"

设置日志格式。允许的格式:"text"。

--master string

Kubernetes API 服务器的地址(覆盖 kubeconfig 中的任何值)

--permit-address-sharing

如果为 true,则在绑定端口时将使用 SO_REUSEADDR。这允许绑定到通配符 IP(如 0.0.0.0)和特定 IP,并且避免等待内核释放 TIME_WAIT 状态下的套接字。[默认值:false]

--permit-port-sharing

如果为 true,则在绑定端口时将使用 SO_REUSEPORT,这允许多个实例绑定到相同的地址和端口。[默认值:false]

--pod-max-in-unschedulable-pods-duration duration     默认值: 5m0s

已弃用:Pod 可以在 unschedulablePods 中停留的最大时间。如果 Pod 在 unschedulablePods 中停留的时间超过此值,则该 Pod 将从 unschedulablePods 移动到 backoffQ 或 activeQ。此标志已弃用,将在未来版本中移除。

--profiling     默认值: true

已弃用:通过 web 界面 host:port/debug/pprof/ 启用分析。如果在 --config 中指定了配置文件,则忽略此参数。

--requestheader-allowed-names strings

允许提供由 --requestheader-username-headers 指定的标头中的用户名列表的客户端证书通用名称。如果为空,则允许由 --requestheader-client-ca-file 中的颁发机构验证的任何客户端证书。

--requestheader-client-ca-file string

用于验证传入请求的客户端证书的根证书捆绑包,然后再信任由 --requestheader-username-headers 指定的标头中的用户名。警告:通常不依赖于对传入请求的授权已经完成。

--requestheader-extra-headers-prefix strings     默认值: "x-remote-extra-"

要检查的请求标头前缀列表。建议使用 X-Remote-Extra-。

--requestheader-group-headers strings     默认值: "x-remote-group"

要检查以获取组的请求标头列表。建议使用 X-Remote-Group。

--requestheader-username-headers strings     默认值: "x-remote-user"

要检查以获取用户名的请求标头列表。X-Remote-User 很常见。

--secure-port int     默认值: 10259

用于提供具有身份验证和授权的 HTTPS 的端口。如果为 0,则根本不提供 HTTPS。

--show-hidden-metrics-for-version string

要显示隐藏指标的先前版本。只有先前的次要版本有意义,其他值将不被允许。格式为 <major>.<minor>,例如:"1.16"。此格式的目的是确保你能够注意到下一个版本隐藏了更多指标,而不是在下一个版本中永久移除它们时感到惊讶。

--tls-cert-file string

包含 HTTPS 默认 x509 证书的文件。(如果存在,CA 证书将附加到服务器证书之后)。如果启用了 HTTPS 服务,并且没有提供 --tls-cert-file 和 --tls-private-key-file,则会为公共地址生成自签名证书和密钥并保存到 --cert-dir 指定的目录中。

--tls-cipher-suites strings

服务器的密码套件的逗号分隔列表。如果省略,将使用默认的 Go 密码套件。
首选值:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256。
不安全的值:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_ECDSA_WITH_RC4_128_SHA、TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_RC4_128_SHA、TLS_RSA_WITH_3DES_EDE_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_256_GCM_SHA384、TLS_RSA_WITH_RC4_128_SHA。

--tls-min-version string

支持的最低 TLS 版本。可能的值:VersionTLS10、VersionTLS11、VersionTLS12、VersionTLS13

--tls-private-key-file string

包含与 --tls-cert-file 相匹配的默认 x509 私钥的文件。

--tls-sni-cert-key string

一对 x509 证书和私钥文件路径,可以选择附加全限定域名(可能带有前缀通配符段)的域名模式列表。域名模式也允许 IP 地址,但只有当 apiserver 对客户端请求的 IP 地址具有可见性时才应使用 IP。如果没有提供域名模式,则会提取证书的名称。非通配符匹配优先于通配符匹配,显式域名模式优先于提取的名称。对于多个密钥/证书对,请多次使用 --tls-sni-cert-key。示例:"example.crt,example.key" 或 "foo.crt,foo.key:*.foo.com,foo.com"。

-v, --v int

日志级别详细程度的数字

--version version[=true]

--version、--version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本

--vmodule pattern=N,...

逗号分隔的文件过滤日志的 pattern=N 设置列表(仅适用于文本日志格式)

--write-config-to string

如果设置,将配置值写入此文件并退出。

此页面是自动生成的。

如果你打算报告此页面中的问题,请在你的问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。

上次修改时间:2024 年 4 月 18 日下午 6:12 PST:更新 v1.30 的 kube-xxx 组件引用 (571276338b)