kube-controller-manager

Synopsis

Kubernetes 控制器管理器是一个守护进程,它嵌入了 Kubernetes 附带的核心控制循环。在机器人和自动化应用中,控制循环是一个不断循环的循环,用于调节系统的状态。在 Kubernetes 中,控制器是一个控制循环,它通过 apiserver 监视集群的共享状态,并进行更改以尝试将当前状态向期望状态移动。今天 Kubernetes 附带的控制器示例包括副本控制器、端点控制器、命名空间控制器和服务账户控制器。

kube-controller-manager [flags]

Options

--allocate-node-cidrs

是否应为 Pod 分配 CIDR 并将其设置在云提供商上。需要 --cluster-cidr。

--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 标志将覆盖清单文件。

--attach-detach-reconcile-sync-period duration     默认值: 1m0s

卷挂载和卸载之间的同步等待时间。此持续时间必须大于一秒,并且增加此值可能会导致卷与 Pod 出现不匹配。

--authentication-kubeconfig string

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

--authentication-skip-lookup

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

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

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

--authentication-tolerate-lookup-failure

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

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

在授权期间要跳过的 HTTP 路径列表,即这些路径无需联系“核心”Kubernetes 服务器即可获得授权。

--authorization-kubeconfig string

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

--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,则将忽略此标志。

--cidr-allocator-type string     默认值: "RangeAllocator"

要使用的 CIDR 分配器类型

--client-ca-file string

如果设置,则任何使用由 client-ca-file 中的某个证书颁发机构签名的客户端证书提出的请求,都将被验证为与客户端证书的 CommonName 对应的身份。

--cloud-config string

云提供商配置文件路径。空字符串表示没有配置文件。

--cloud-provider string

云服务提供商。空字符串表示没有提供商。

--cluster-cidr string

集群中 Pod 的 CIDR 范围。仅在 --allocate-node-cidrs=true 时使用;如果为 false,则忽略此选项。

--cluster-name string     默认值: "kubernetes"

集群的实例前缀。

--cluster-signing-cert-file string

包含用于颁发集群范围证书的 PEM 编码 X509 CA 证书的文件名。如果指定,则不能指定更具体的 --cluster-signing-* 标志。

--cluster-signing-duration duration     默认值: 8760h0m0s

颁发证书的最大持续时间。单个 CSR 可以通过设置 spec.expirationSeconds 请求更短的证书。

--cluster-signing-key-file string

包含用于签名集群范围证书的 PEM 编码 RSA 或 ECDSA 私钥的文件名。如果指定,则不能指定更具体的 --cluster-signing-* 标志。

--cluster-signing-kube-apiserver-client-cert-file string

包含用于为 kubernetes.io/kube-apiserver-client 签名器颁发证书的 PEM 编码 X509 CA 证书的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-kube-apiserver-client-key-file string

包含用于签名 kubernetes.io/kube-apiserver-client 签名器证书的 PEM 编码 RSA 或 ECDSA 私钥的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-kubelet-client-cert-file string

包含用于为 kubernetes.io/kube-apiserver-client-kubelet 签名器颁发证书的 PEM 编码 X509 CA 证书的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-kubelet-client-key-file string

包含用于签名 kubernetes.io/kube-apiserver-client-kubelet 签名器证书的 PEM 编码 RSA 或 ECDSA 私钥的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-kubelet-serving-cert-file string

包含用于为 kubernetes.io/kubelet-serving 签名器颁发证书的 PEM 编码 X509 CA 证书的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-kubelet-serving-key-file string

包含用于签名 kubernetes.io/kubelet-serving 签名器证书的 PEM 编码 RSA 或 ECDSA 私钥的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-legacy-unknown-cert-file string

包含用于为 kubernetes.io/legacy-unknown 签名器颁发证书的 PEM 编码 X509 CA 证书的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--cluster-signing-legacy-unknown-key-file string

包含用于签名 kubernetes.io/legacy-unknown 签名器证书的 PEM 编码 RSA 或 ECDSA 私钥的文件名。如果指定,则不能设置 --cluster-signing-{cert,key}-file。

--concurrent-cron-job-syncs int32     默认值: 5

允许并发同步的 CronJob 对象数量。数量越大 = 作业响应越快,但 CPU(和网络)负载也越大

--concurrent-daemonset-syncs int32     默认值: 2

允许并发同步的 DaemonSet 对象数量。数量越大 = DaemonSet 响应越快,但 CPU(和网络)负载也越大

--concurrent-deployment-syncs int32     默认值: 5

允许并发同步的 Deployment 对象数量。数量越大 = Deployment 响应越快,但 CPU(和网络)负载也越大

--concurrent-endpoint-syncs int32     默认值: 5

将并发执行的端点同步操作数量。数量越大 = 端点更新越快,但 CPU(和网络)负载也越大

--concurrent-ephemeralvolume-syncs int32     默认值: 5

将并发执行的临时卷同步操作数量。数量越大 = 临时卷更新越快,但 CPU(和网络)负载也越大

--concurrent-gc-syncs int32     默认值: 20

允许并发同步的垃圾收集器工作线程数量。

--concurrent-horizontal-pod-autoscaler-syncs int32     默认值: 5

允许并发同步的 Horizontal Pod Autoscaler 对象数量。数量越大 = Horizontal Pod Autoscaler 对象处理响应越快,但 CPU(和网络)负载也越大。

--concurrent-job-syncs int32     默认值: 5

允许并发同步的 Job 对象数量。数量越大 = 作业响应越快,但 CPU(和网络)负载也越大

--concurrent-namespace-syncs int32     默认值: 10

允许并发同步的命名空间对象数量。数量越大 = 命名空间终止响应越快,但 CPU(和网络)负载也越大

--concurrent-rc-syncs int32     默认值: 5

允许并发同步的副本控制器数量。数量越大 = 副本管理响应越快,但 CPU(和网络)负载也越大

--concurrent-replicaset-syncs int32     默认值: 5

允许并发同步的 ReplicaSet 数量。数量越大 = 副本管理响应越快,但 CPU(和网络)负载也越大

--concurrent-resource-quota-syncs int32     默认值: 5

允许并发同步的资源配额数量。数量越大 = 配额管理响应越快,但 CPU(和网络)负载也越大

--concurrent-service-endpoint-syncs int32     默认值: 5

将并发执行的服务端点同步操作数量。数量越大 = 端点切片更新越快,但 CPU(和网络)负载也越大。默认为 5。

--concurrent-service-syncs int32     默认值: 1

允许并发同步的服务数量。数量越大 = 服务管理响应越快,但 CPU(和网络)负载也越大

--concurrent-serviceaccount-token-syncs int32     默认值: 5

允许并发同步的服务账户 Token 对象数量。数量越大 = Token 生成响应越快,但 CPU(和网络)负载也越大

--concurrent-statefulset-syncs int32     默认值: 5

允许并发同步的 StatefulSet 对象数量。数量越大 = StatefulSet 响应越快,但 CPU(和网络)负载也越大

--concurrent-ttl-after-finished-syncs int32     默认值: 5

允许并发同步的 ttl-after-finished-controller 工作线程数量。

--concurrent-validating-admission-policy-status-syncs int32     默认值: 5

允许并发同步的 ValidatingAdmissionPolicyStatusController 工作线程数量。

--configure-cloud-routes     默认值: true

是否应在云提供商上配置 allocate-node-cidrs 分配的 CIDR。

--contention-profiling

如果启用了分析,则启用块分析

--controller-start-interval duration

控制器管理器启动之间的间隔。

--controllers strings     默认值: "*"

要启用的控制器列表。'*' 启用所有默认启用的控制器,“foo”启用名为“foo”的控制器,“-foo”禁用名为“foo”的控制器。
所有控制器:bootstrap-signer-controller, certificatesigningrequest-approving-controller, certificatesigningrequest-cleaner-controller, certificatesigningrequest-signing-controller, cloud-node-lifecycle-controller, clusterrole-aggregation-controller, cronjob-controller, daemonset-controller, deployment-controller, device-taint-eviction-controller, disruption-controller, endpoints-controller, endpointslice-controller, endpointslice-mirroring-controller, ephemeral-volume-controller, garbage-collector-controller, horizontal-pod-autoscaler-controller, job-controller, kube-apiserver-serving-clustertrustbundle-publisher-controller, legacy-serviceaccount-token-cleaner-controller, namespace-controller, node-ipam-controller, node-lifecycle-controller, node-route-controller, persistentvolume-attach-detach-controller, persistentvolume-binder-controller, persistentvolume-expander-controller, persistentvolume-protection-controller, persistentvolumeclaim-protection-controller, pod-garbage-collector-controller, replicaset-controller, replicationcontroller-controller, resourceclaim-controller, resourcequota-controller, root-ca-certificate-publisher-controller, selinux-warning-controller, service-cidr-controller, service-lb-controller, serviceaccount-controller, serviceaccount-token-controller, statefulset-controller, storage-version-migrator-controller, storageversion-garbage-collector-controller, taint-eviction-controller, token-cleaner-controller, ttl-after-finished-controller, ttl-controller, validatingadmissionpolicy-status-controller, volumeattributesclass-protection-controller
默认禁用的控制器:bootstrap-signer-controller, selinux-warning-controller, token-cleaner-controller

--disable-attach-detach-reconcile-sync

禁用卷挂载卸载协调器同步。禁用此选项可能会导致卷与 Pod 出现不匹配。请谨慎使用。

--disable-force-detach-on-timeout

阻止基于最大卸载时间和节点状态强制分离卷。如果此标志设置为 true,则必须使用非优雅节点关机功能来从节点故障中恢复。请参阅 https://k8s.io/docs/storage-disable-force-detach-on-timeout/。

--disable-http2-serving

如果为 true,则禁用 HTTP2 服务 [默认值=false]

--disabled-metrics strings

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

--emulated-version strings

不同组件模拟其功能(API、功能等)的版本。
如果设置,组件将模拟此版本而不是底层二进制版本。
版本格式只能是 major.minor,例如:“--emulated-version=wardle=1.2,kube=1.31”。
选项是:kube=1.31..1.33(默认:1.33)
如果未指定组件,则默认为“kube”

--enable-dynamic-provisioning     默认值: true

为支持动态配置的环境启用动态配置。

--enable-garbage-collector     默认值: true

启用通用垃圾收集器。必须与 kube-apiserver 的相应标志同步。

--enable-hostpath-provisioner

在没有云提供商的情况下运行时启用 HostPath PV 配置。这允许测试和开发配置功能。HostPath 配置不受任何形式的支持,在多节点集群中无效,并且不应用于除测试或开发以外的任何用途。

--enable-leader-migration

是否启用控制器领导者迁移。

--endpoint-updates-batch-period duration

端点更新批处理期的长度。Pod 更改的处理将延迟此持续时间,以便与即将发生的潜在更新合并并减少端点更新的总数。数量越大 = 端点编程延迟越高,但生成的端点修订版本数量越少

--endpointslice-updates-batch-period duration

端点切片更新批处理期的长度。Pod 更改的处理将延迟此持续时间,以便与即将发生的潜在更新合并并减少端点更新的总数。数量越大 = 端点编程延迟越高,但生成的端点修订版本数量越少

--external-cloud-volume-plugin string

当 cloud provider 设置为 external 时使用的插件。可以为空,仅当 cloud-provider 为 external 时设置。目前用于允许 node-ipam-controller、persistentvolume-binder-controller、persistentvolume-expander-controller 和 attach-detach-controller 处理内部云提供商。

--feature-gates colonSeparatedMultimapStringString

逗号分隔的组件:key=value 对列表,描述不同组件的 Alpha/实验性功能的特性门。
如果未指定组件,则默认为“kube”。此标志可以重复调用。例如:--feature-gates 'wardle:featureA=true,wardle:featureB=false' --feature-gates 'kube:featureC=true' 选项为
kube:APIResponseCompression=true|false (BETA - 默认=true)
kube:APIServerIdentity=true|false (BETA - 默认=true)
kube:APIServerTracing=true|false (BETA - 默认=true)
kube:APIServingWithRoutine=true|false (ALPHA - 默认=false)
kube:AllAlpha=true|false (ALPHA - 默认=false)
kube:AllBeta=true|false (BETA - 默认=false)
kube:AllowParsingUserUIDFromCertAuth=true|false (BETA - 默认=true)
kube:AllowUnsafeMalformedObjectDeletion=true|false (ALPHA - 默认=false)
kube:AnonymousAuthConfigurableEndpoints=true|false (BETA - 默认=true)
kube:AuthorizeNodeWithSelectors=true|false (BETA - 默认=true)
kube:AuthorizeWithSelectors=true|false (BETA - 默认=true)
kube:CBORServingAndStorage=true|false (ALPHA - 默认=false)
kube:CPUManagerPolicyAlphaOptions=true|false (ALPHA - 默认=false)
kube:CPUManagerPolicyBetaOptions=true|false (BETA - 默认=true)
kube:CSIVolumeHealth=true|false (ALPHA - 默认=false)
kube:ClientsAllowCBOR=true|false (ALPHA - 默认=false)
kube:ClientsPreferCBOR=true|false (ALPHA - 默认=false)
kube:CloudControllerManagerWebhook=true|false (ALPHA - 默认=false)
kube:ClusterTrustBundle=true|false (BETA - 默认=false)
kube:ClusterTrustBundleProjection=true|false (BETA - 默认=false)
kube:ComponentFlagz=true|false (ALPHA - 默认=false)
kube:ComponentStatusz=true|false (ALPHA - 默认=false)
kube:ConcurrentWatchObjectDecode=true|false (BETA - 默认=false)
kube:ConsistentListFromCache=true|false (BETA - 默认=true)
kube:ContainerCheckpoint=true|false (BETA - 默认=true)
kube:ContainerStopSignals=true|false (ALPHA - 默认=false)
kube:ContextualLogging=true|false (BETA - 默认=true)
kube:CoordinatedLeaderElection=true|false (BETA - 默认=false)
kube:CrossNamespaceVolumeDataSource=true|false (ALPHA - 默认=false)
kube:CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认=false)
kube:DRAAdminAccess=true|false (ALPHA - 默认=false)
kube:DRADeviceTaints=true|false (ALPHA - 默认=false)
kube:DRAPartitionableDevices=true|false (ALPHA - 默认=false)
kube:DRAPrioritizedList=true|false (ALPHA - 默认=false)
kube:DRAResourceClaimDeviceStatus=true|false (BETA - 默认=true)
kube:DeclarativeValidation=true|false (BETA - 默认=true)
kube:DeclarativeValidationTakeover=true|false (BETA - 默认=false)
kube:DeploymentReplicaSetTerminatingReplicas=true|false (ALPHA - 默认=false)
kube:DisableAllocatorDualWrite=true|false (BETA - 默认=false)
kube:DisableCPUQuotaWithExclusiveCPUs=true|false (BETA - 默认=true)
kube:DynamicResourceAllocation=true|false (BETA - 默认=false)
kube:EventedPLEG=true|false (ALPHA - 默认=false)
kube:ExternalServiceAccountTokenSigner=true|false (ALPHA - 默认=false)
kube:GracefulNodeShutdown=true|false (BETA - 默认=true)
kube:GracefulNodeShutdownBasedOnPodPriority=true|false (BETA - 默认=true)
kube:HPAConfigurableTolerance=true|false (ALPHA - 默认=false)
kube:HPAScaleToZero=true|false (ALPHA - 默认=false)
kube:ImageMaximumGCAge=true|false (BETA - 默认=true)
kube:ImageVolume=true|false (BETA - 默认=false)
kube:InOrderInformers=true|false (BETA - 默认=true)
kube:InPlacePodVerticalScaling=true|false (BETA - 默认=true)
kube:InPlacePodVerticalScalingExclusiveCPUs=true|false (ALPHA - 默认=false)
kube:InTreePluginPortworxUnregister=true|false (ALPHA - 默认=false)
kube:InformerResourceVersion=true|false (ALPHA - 默认=false)
kube:JobManagedBy=true|false (BETA - 默认=true)
kube:JobPodReplacementPolicy=true|false (BETA - 默认=true)
kube:KubeletCgroupDriverFromCRI=true|false (BETA - 默认=true)
kube:KubeletCrashLoopBackOffMax=true|false (ALPHA - 默认=false)
kube:KubeletEnsureSecretPulledImages=true|false (ALPHA - 默认=false)
kube:KubeletFineGrainedAuthz=true|false (BETA - 默认=true)
kube:KubeletInUserNamespace=true|false (ALPHA - 默认=false)
kube:KubeletPSI=true|false (ALPHA - 默认=false)
kube:KubeletPodResourcesDynamicResources=true|false (ALPHA - 默认=false)
kube:KubeletPodResourcesGet=true|false (ALPHA - 默认=false)
kube:KubeletSeparateDiskGC=true|false (BETA - 默认=true)
kube:KubeletServiceAccountTokenForCredentialProviders=true|false (ALPHA - 默认=false)
kube:KubeletTracing=true|false (BETA - 默认=true)
kube:ListFromCacheSnapshot=true|false (ALPHA - 默认=false)
kube:LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - 默认=false)
kube:LoggingAlphaOptions=true|false (ALPHA - 默认=false)
kube:LoggingBetaOptions=true|false (BETA - 默认=true)
kube:MatchLabelKeysInPodTopologySpread=true|false (BETA - 默认=true)
kube:MaxUnavailableStatefulSet=true|false (ALPHA - 默认=false)
kube:MemoryQoS=true|false (ALPHA - 默认=false)
kube:MutableCSINodeAllocatableCount=true|false (ALPHA - 默认=false)
kube:MutatingAdmissionPolicy=true|false (ALPHA - 默认=false)
kube:NodeLogQuery=true|false (BETA - 默认=false)
kube:NodeSwap=true|false (BETA - 默认=true)
kube:OpenAPIEnums=true|false (BETA - 默认=true)
kube:OrderedNamespaceDeletion=true|false (BETA - 默认=true)
kube:PodAndContainerStatsFromCRI=true|false (ALPHA - 默认=false)
kube:PodDeletionCost=true|false (BETA - 默认=true)
kube:PodLevelResources=true|false (ALPHA - 默认=false)
kube:PodLifecycleSleepAction=true|false (BETA - 默认=true)
kube:PodLifecycleSleepActionAllowZero=true|false (BETA - 默认=true)
kube:PodLogsQuerySplitStreams=true|false (ALPHA - 默认=false)
kube:PodObservedGenerationTracking=true|false (ALPHA - 默认=false)
kube:PodReadyToStartContainersCondition=true|false (BETA - 默认=true)
kube:PodTopologyLabelsAdmission=true|false (ALPHA - 默认=false)
kube:PortForwardWebsockets=true|false (BETA - 默认=true)
kube:PreferSameTrafficDistribution=true|false (ALPHA - 默认=false)
kube:ProcMountType=true|false (BETA - 默认=true)
kube:QOSReserved=true|false (ALPHA - 默认=false)
kube:RecoverVolumeExpansionFailure=true|false (BETA - 默认=true)
kube:ReduceDefaultCrashLoopBackOffDecay=true|false (ALPHA - 默认=false)
kube:RelaxedDNSSearchValidation=true|false (BETA - 默认=true)
kube:RelaxedEnvironmentVariableValidation=true|false (BETA - 默认=true)
kube:ReloadKubeletServerCertificateFile=true|false (BETA - 默认=true)
kube:RemoteRequestHeaderUID=true|false (BETA - 默认=true)
kube:ResilientWatchCacheInitialization=true|false (BETA - 默认=true)
kube:ResourceHealthStatus=true|false (ALPHA - 默认=false)
kube:RotateKubeletServerCertificate=true|false (BETA - 默认=true)
kube:RuntimeClassInImageCriApi=true|false (ALPHA - 默认=false)
kube:SELinuxChangePolicy=true|false (BETA - 默认=true)
kube:SELinuxMount=true|false (BETA - 默认=false)
kube:SELinuxMountReadWriteOncePod=true|false (BETA - 默认=true)
kube:SchedulerAsyncPreemption=true|false (BETA - 默认=true)
kube:SchedulerPopFromBackoffQ=true|false (BETA - 默认=true)
kube:SchedulerQueueingHints=true|false (BETA - 默认=true)
kube:SeparateTaintEvictionController=true|false (BETA - 默认=true)
kube:ServiceAccountNodeAudienceRestriction=true|false (BETA - 默认=true)
kube:StorageCapacityScoring=true|false (ALPHA - 默认=false)
kube:StorageVersionAPI=true|false (ALPHA - 默认=false)
kube:StorageVersionHash=true|false (BETA - 默认=true)
kube:StorageVersionMigrator=true|false (ALPHA - 默认=false)
kube:StreamingCollectionEncodingToJSON=true|false (BETA - 默认=true)
kube:StreamingCollectionEncodingToProtobuf=true|false (BETA - 默认=true)
kube:StrictIPCIDRValidation=true|false (ALPHA - 默认=false)
kube:StructuredAuthenticationConfiguration=true|false (BETA - 默认=true)
kube:SupplementalGroupsPolicy=true|false (BETA - 默认=true)
kube:SystemdWatchdog=true|false (BETA - 默认=true)
kube:TopologyManagerPolicyAlphaOptions=true|false (ALPHA - 默认=false)
kube:TopologyManagerPolicyBetaOptions=true|false (BETA - 默认=true)
kube:TranslateStreamCloseWebsocketRequests=true|false (BETA - 默认=true)
kube:UnauthenticatedHTTP2DOSMitigation=true|false (BETA - 默认=true)
kube:UnknownVersionInteroperabilityProxy=true|false (ALPHA - 默认=false)
kube:UserNamespacesPodSecurityStandards=true|false (ALPHA - 默认=false)
kube:UserNamespacesSupport=true|false (BETA - 默认=true)
kube:VolumeAttributesClass=true|false (BETA - 默认=false)
kube:WatchCacheInitializationPostStartHook=true|false (BETA - 默认=false)
kube:WatchList=true|false (BETA - 默认=false)
kube:WatchListClient=true|false (BETA - 默认=false)
kube:WinDSR=true|false (BETA - 默认=true)
kube:WinOverlay=true|false (BETA - 默认=true)
kube:WindowsCPUAndMemoryAffinity=true|false (ALPHA - 默认=false)
kube:WindowsGracefulNodeShutdown=true|false (ALPHA - 默认=false)

--flex-volume-plugin-dir string     默认值: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"

flex volume 插件应搜索附加第三方卷插件的目录的完整路径。

-h, --help

kube-controller-manager 的帮助

--horizontal-pod-autoscaler-cpu-initialization-period duration     默认值: 5m0s

Pod 启动后可能跳过 CPU 采样的期间。

--horizontal-pod-autoscaler-downscale-stabilization duration     默认值: 5m0s

自动缩放器将向前查看并在该期间内不向下缩减到其进行的任何推荐值以下的期间。

--horizontal-pod-autoscaler-initial-readiness-delay duration     默认值: 30s

Pod 启动后,准备更改将被视为初始准备的期间。

--horizontal-pod-autoscaler-sync-period duration     默认值: 15s

同步 Horizontal Pod Autoscaler 中 Pod 数量的周期。

--horizontal-pod-autoscaler-tolerance float     默认值: 0.1

期望值与实际值之比的最小变化(从 1.0 开始),以便 Horizontal Pod Autoscaler 考虑缩放。

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

服务器为每个 HTTP/2 连接允许客户端的最大流数。零表示使用 Go 的默认值。

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

与 Kubernetes API 服务器通信时使用的突发流量。

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

发送到 apiserver 请求的内容类型。

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

与 Kubernetes API 服务器通信时使用的 QPS。

--kubeconfig string

包含授权和主服务器位置信息的 kubeconfig 文件路径(主服务器位置可以通过 master 标志覆盖)。

--large-cluster-size-threshold int32     默认值: 50

节点数量,从该数量开始,node-lifecycle-controller 将集群视为大型集群以用于驱逐逻辑。对于此大小或更小的集群,--secondary-node-eviction-rate 将被隐式覆盖为 0。注意:如果节点位于多个区域,则此阈值将被视为每个区域的区域节点大小阈值,以独立确定节点驱逐率。

--leader-elect     默认值: true

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

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

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

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

当前领导者在停止领导之前尝试续期领导者槽的时间间隔。这必须小于租约时间。这仅在启用领导者选举时适用。

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

在领导者选举期间用于锁定的资源对象的类型。支持的选项是“leases”。

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

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

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

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

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

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

--leader-migration-config string

控制器领导者迁移的配置文件路径,或为空表示使用反映控制器管理器默认配置的值。配置文件应为 LeaderMigrationConfiguration 类型,组为 controllermanager.config.k8s.io,版本为 v1alpha1。

--legacy-service-account-token-clean-up-period duration     默认值: 8760h0m0s

旧版服务账户 Token 在可被删除之前最后一次使用后的时间段。

--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 中的任何值)。

--max-endpoints-per-slice int32     默认值: 100

将添加到 EndpointSlice 的端点的最大数量。每个切片更多的端点将导致更少的端点切片,但资源更大。默认为 100。

--min-resync-period duration     默认值: 12h0m0s

反射器的重新同步周期将在 MinResyncPeriod 和 2*MinResyncPeriod 之间随机。

--mirroring-concurrent-service-endpoint-syncs int32     默认值: 5

endpointslice-mirroring-controller 并发执行的服务端点同步操作数量。数量越大 = 端点切片更新越快,但 CPU(和网络)负载也越大。默认为 5。

--mirroring-endpointslice-updates-batch-period duration

endpointslice-mirroring-controller 的 EndpointSlice 更新批处理期的长度。EndpointSlice 更改的处理将延迟此持续时间,以便与即将发生的潜在更新合并并减少 EndpointSlice 更新的总数。数量越大 = 端点编程延迟越高,但生成的端点修订版本数量越少

--mirroring-max-endpoints-per-subset int32     默认值: 1000

endpointslice-mirroring-controller 添加到 EndpointSlice 的端点的最大数量。每个切片更多的端点将导致更少的端点切片,但资源更大。默认为 100。

--namespace-sync-period duration     默认值: 5m0s

同步命名空间生命周期更新的周期

--node-cidr-mask-size int32

集群中节点 CIDR 的掩码大小。IPv4 默认为 24,IPv6 默认为 64。

--node-cidr-mask-size-ipv4 int32

双栈集群中 IPv4 节点 CIDR 的掩码大小。默认为 24。

--node-cidr-mask-size-ipv6 int32

双栈集群中 IPv6 节点 CIDR 的掩码大小。默认为 64。

--node-eviction-rate float     默认值: 0.1

在区域健康时,节点发生故障时 Pod 被删除的节点数/秒(有关健康/不健康节点的定义,请参阅 --unhealthy-zone-threshold)。在非多区域集群中,区域指整个集群。

--node-monitor-grace-period duration     默认值: 50s

在将节点标记为不健康之前,允许运行节点无响应的时间。必须是 kubelet 的 nodeStatusUpdateFrequency 的 N 倍,其中 N 表示 kubelet 发送节点状态允许的重试次数。此值也应大于 HTTP2_PING_TIMEOUT_SECONDS 和 HTTP2_READ_IDLE_TIMEOUT_SECONDS 的总和

--node-monitor-period duration     默认值: 5s

cloud-node-lifecycle-controller 中同步 NodeStatus 的周期。

--node-startup-grace-period duration     默认值: 1m0s

在将节点标记为不健康之前,允许启动节点无响应的时间。

--permit-address-sharing

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

--permit-port-sharing

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

--profiling     默认: true

通过 Web 界面 host:port/debug/pprof/ 启用分析

--pv-recycler-increment-timeout-nfs int32     默认值: 30

NFS 清理器 Pod 的 ActiveDeadlineSeconds 增加的每 Gi 的时间

--pv-recycler-minimum-timeout-hostpath int32     默认值: 60

用于 HostPath 回收器 Pod 的最小 ActiveDeadlineSeconds。这仅用于开发和测试,在多节点集群中无效。

--pv-recycler-minimum-timeout-nfs int32     默认值: 300

用于 NFS 回收器 Pod 的最小 ActiveDeadlineSeconds

--pv-recycler-pod-template-filepath-hostpath string

用于 HostPath 持久卷回收的 Pod 定义的模板文件路径。这仅用于开发和测试,在多节点集群中无效。

--pv-recycler-pod-template-filepath-nfs string

用于 NFS 持久卷回收的 Pod 定义的模板文件路径

--pv-recycler-timeout-increment-hostpath int32     默认值: 30

为 HostPath 清理器 Pod 的 ActiveDeadlineSeconds 增加的每 Gi 的时间。这仅用于开发和测试,在多节点集群中无效。

--pvclaimbinder-sync-period duration     默认值: 15s

同步持久卷和持久卷声明的周期

--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-uid-headers strings

要检查 UID 的请求头列表。建议使用 X-Remote-Uid。需要启用 RemoteRequestHeaderUID 功能。

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

要检查用户名的请求头列表。X-Remote-User 是常见的。

--resource-quota-sync-period duration     默认值: 5m0s

同步系统中配额使用情况状态的周期

--root-ca-file string

如果设置,此根证书颁发机构将包含在服务账户的 token 密钥中。这必须是一个有效的 PEM 编码的 CA 捆绑包。

--route-reconciliation-period duration     默认值: 10s

云提供商为节点创建的路由的协调周期。

--secondary-node-eviction-rate float     默认值: 0.01

在区域不健康时,节点发生故障时 Pod 被删除的节点数/秒(有关健康/不健康节点的定义,请参阅 --unhealthy-zone-threshold)。在非多区域集群中,区域指整个集群。如果集群大小小于 --large-cluster-size-threshold,则此值将隐式覆盖为 0。

--secure-port int     默认值: 10257

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

--service-account-private-key-file string

如果设置,则启用旧版基于密钥的 Token。包含用于签名服务账户 Token 的 PEM 编码的私有 RSA 或 ECDSA 密钥的文件名。

--service-cluster-ip-range string

集群中服务的 CIDR 范围。仅在 --allocate-node-cidrs=true 时使用;如果为 false,则忽略此选项。

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

您想显示隐藏指标的先前版本。只有上一个次要版本才有意义,其他值将不被允许。格式为 <major>.<minor>,例如:'1.16'。此格式的目的是确保您有机会注意到下一个版本是否隐藏了其他指标,而不是在它们在后续版本中被永久删除时感到惊讶。

--terminated-pod-gc-threshold int32     默认值: 12500

在终止 Pod 垃圾收集器开始删除终止 Pod 之前可以存在的终止 Pod 的数量。如果 <= 0,则禁用终止 Pod 垃圾收集器。

--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”。

--unhealthy-zone-threshold float     默认值: 0.55

区域中需要处于 Not Ready 状态的节点比例(最少 3 个)才将区域视为不健康。

--use-service-account-credentials

如果为 true,则为每个控制器使用单独的服务账户凭据。

-v, --v int

用于日志级别详细程度的数字

--version version[=true]

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

--vmodule pattern=N,...

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

本页面是自动生成的。

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

最后修改时间:2025 年 4 月 24 日上午 7:58 PST:v1.33 的组件参考 (05a3c54633)