kube-controller-manager

概要

Kubernetes 控制器管理器是一个守护程序,它嵌入了 Kubernetes 附带的核心控制循环。在机器人和自动化应用中,控制循环是一个非终止的循环,用于调节系统的状态。在 Kubernetes 中,控制器是一个控制循环,它通过 apiserver 监视集群的共享状态,并进行更改以尝试将当前状态移动到所需状态。今天随 Kubernetes 发布的控制器示例有复制控制器、端点控制器、命名空间控制器和服务帐户控制器。

kube-controller-manager [flags]

选项

--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 的足够权限。这是可选的。如果为空,则所有令牌请求都被视为匿名,并且不会在集群中查找客户端 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

签名的证书的最大持续时间。通过设置 spec.expirationSeconds,各个 CSR 可以请求更短的证书。

--cluster-signing-key-file string

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

允许并发同步的守护进程集对象的数量。数值越大,守护进程集响应速度越快,但 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

允许并发同步的水平 Pod 自动伸缩器对象的数量。数值越大,水平 Pod 自动伸缩器对象处理的响应速度越快,但 CPU(和网络)负载也越高。

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

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

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

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

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

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

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

允许并发同步的副本集数量。数值越大,副本管理的响应速度越快,但 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

允许并发同步的服务帐户令牌对象的数量。数值越大,令牌生成的响应速度越快,但 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, 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.32..1.32 (默认值=1.32) 如果未指定组件,则默认为 "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

当云提供商设置为 external 时要使用的插件。可以为空,仅当云提供商为 external 时才应设置。当前用于允许 node-ipam-controller、persistentvolume-binder-controller、persistentvolume-expander-controller 和 attach-detach-controller 适用于树内云提供商。

--feature-gates colonSeparatedMultimapStringString

以逗号分隔的 component: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:AllowUnsafeMalformedObjectDeletion=true|false (ALPHA - 默认值=false)
kube:AnonymousAuthConfigurableEndpoints=true|false (BETA - 默认值=true)
kube:AnyVolumeDataSource=true|false (BETA - 默认值=true)
kube:AuthorizeNodeWithSelectors=true|false (BETA - 默认值=true)
kube:AuthorizeWithSelectors=true|false (BETA - 默认值=true)
kube:BtreeWatchCache=true|false (BETA - 默认值=true)
kube:CBORServingAndStorage=true|false (ALPHA - 默认值=false)
kube:CPUManagerPolicyAlphaOptions=true|false (ALPHA - 默认值=false)
kube:CPUManagerPolicyBetaOptions=true|false (BETA - 默认值=true)
kube:CPUManagerPolicyOptions=true|false (BETA - 默认值=true)
kube:CRDValidationRatcheting=true|false (BETA - 默认值=true)
kube:CSIMigrationPortworx=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 (ALPHA - 默认值=false)
kube:ClusterTrustBundleProjection=true|false (ALPHA - 默认值=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:ContextualLogging=true|false (BETA - 默认值=true)
kube:CoordinatedLeaderElection=true|false (ALPHA - 默认值=false)
kube:CrossNamespaceVolumeDataSource=true|false (ALPHA - 默认值=false)
kube:CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false)
kube:DRAAdminAccess=true|false (ALPHA - 默认值=false)
kube:DRAResourceClaimDeviceStatus=true|false (ALPHA - 默认值=false)
kube:DisableAllocatorDualWrite=true|false (ALPHA - 默认值=false)
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:HPAScaleToZero=true|false (ALPHA - 默认值=false)
kube:HonorPVReclaimPolicy=true|false (BETA - 默认值=true)
kube:ImageMaximumGCAge=true|false (BETA - 默认值=true)
kube:ImageVolume=true|false (ALPHA - 默认值=false)
kube:InPlacePodVerticalScaling=true|false (ALPHA - 默认值=false)
kube:InPlacePodVerticalScalingAllocatedStatus=true|false (ALPHA - 默认值=false)
kube:InPlacePodVerticalScalingExclusiveCPUs=true|false (ALPHA - 默认值=false)
kube:InTreePluginPortworxUnregister=true|false (ALPHA - 默认值=false)
kube:InformerResourceVersion=true|false (ALPHA - 默认值=false)
kube:JobBackoffLimitPerIndex=true|false (BETA - 默认值=true)
kube:JobManagedBy=true|false (BETA - 默认值=true)
kube:JobPodReplacementPolicy=true|false (BETA - 默认值=true)
kube:JobSuccessPolicy=true|false (BETA - 默认值=true)
kube:KubeletCgroupDriverFromCRI=true|false (BETA - 默认值=true)
kube:KubeletCrashLoopBackOffMax=true|false (ALPHA - 默认值=false)
kube:KubeletFineGrainedAuthz=true|false (ALPHA - 默认值=false)
kube:KubeletInUserNamespace=true|false (ALPHA - 默认值=false)
kube:KubeletPodResourcesDynamicResources=true|false (ALPHA - 默认值=false)
kube:KubeletPodResourcesGet=true|false (ALPHA - 默认值=false)
kube:KubeletSeparateDiskGC=true|false (BETA - 默认值=true)
kube:KubeletTracing=true|false (BETA - 默认值=true)
kube:LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (BETA - 默认值=false)
kube:LoggingAlphaOptions=true|false (ALPHA - 默认值=false)
kube:LoggingBetaOptions=true|false (BETA - 默认值=true)
kube:MatchLabelKeysInPodAffinity=true|false (BETA - 默认值=true)
kube:MatchLabelKeysInPodTopologySpread=true|false (BETA - 默认值=true)
kube:MaxUnavailableStatefulSet=true|false (ALPHA - 默认值=false)
kube:MemoryQoS=true|false (ALPHA - 默认值=false)
kube:MultiCIDRServiceAllocator=true|false (BETA - 默认值=false)
kube:MutatingAdmissionPolicy=true|false (ALPHA - 默认值=false)
kube:NFTablesProxyMode=true|false (BETA - 默认值=true)
kube:NodeInclusionPolicyInPodTopologySpread=true|false (BETA - 默认=true)
kube:NodeLogQuery=true|false (BETA - 默认=false)
kube:NodeSwap=true|false (BETA - 默认=true)
kube:OpenAPIEnums=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 (ALPHA - 默认=false)
kube:PodLogsQuerySplitStreams=true|false (ALPHA - 默认=false)
kube:PodReadyToStartContainersCondition=true|false (BETA - 默认=true)
kube:PortForwardWebsockets=true|false (BETA - 默认=true)
kube:ProcMountType=true|false (BETA - 默认=false)
kube:QOSReserved=true|false (ALPHA - 默认=false)
kube:RecoverVolumeExpansionFailure=true|false (BETA - 默认=true)
kube:RecursiveReadOnlyMounts=true|false (BETA - 默认=true)
kube:RelaxedDNSSearchValidation=true|false (ALPHA - 默认=false)
kube:RelaxedEnvironmentVariableValidation=true|false (BETA - 默认=true)
kube:ReloadKubeletServerCertificateFile=true|false (BETA - 默认=true)
kube:RemoteRequestHeaderUID=true|false (ALPHA - 默认=false)
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 (ALPHA - 默认=false)
kube:SELinuxMount=true|false (ALPHA - 默认=false)
kube:SELinuxMountReadWriteOncePod=true|false (BETA - 默认=true)
kube:SchedulerAsyncPreemption=true|false (ALPHA - 默认=false)
kube:SchedulerQueueingHints=true|false (BETA - 默认=true)
kube:SeparateCacheWatchRPC=true|false (BETA - 默认=true)
kube:SeparateTaintEvictionController=true|false (BETA - 默认=true)
kube:ServiceAccountNodeAudienceRestriction=true|false (BETA - 默认=true)
kube:ServiceAccountTokenNodeBinding=true|false (BETA - 默认=true)
kube:ServiceTrafficDistribution=true|false (BETA - 默认=true)
kube:SidecarContainers=true|false (BETA - 默认=true)
kube:StorageNamespaceIndex=true|false (BETA - 默认=true)
kube:StorageVersionAPI=true|false (ALPHA - 默认=false)
kube:StorageVersionHash=true|false (BETA - 默认=true)
kube:StorageVersionMigrator=true|false (ALPHA - 默认=false)
kube:StructuredAuthenticationConfiguration=true|false (BETA - 默认=true)
kube:SupplementalGroupsPolicy=true|false (ALPHA - 默认=false)
kube:SystemdWatchdog=true|false (BETA - 默认=true)
kube:TopologyAwareHints=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 - 默认=false)
kube:VolumeAttributesClass=true|false (BETA - 默认=false)
kube:VolumeCapacityPriority=true|false (ALPHA - 默认=false)
kube:WatchCacheInitializationPostStartHook=true|false (BETA - 默认=false)
kube:WatchFromStorageWithoutResourceVersion=true|false (BETA - 默认=false)
kube:WatchList=true|false (BETA - 默认=true)
kube:WatchListClient=true|false (BETA - 默认=true)
kube:WinDSR=true|false (ALPHA - 默认=false)
kube:WinOverlay=true|false (BETA - 默认=true)
kube:WindowsCPUAndMemoryAffinity=true|false (ALPHA - 默认=false)
kube:WindowsGracefulNodeShutdown=true|false (ALPHA - 默认=false)
kube:WindowsHostNetwork=true|false (ALPHA - 默认=true)

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

Flex 卷插件应在其中搜索其他第三方卷插件的目录的完整路径。

-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

同步水平 Pod 自动缩放器中 Pod 数量的周期。

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

水平 Pod 自动缩放器认为需要缩放时,期望指标与实际指标比率的最小变化(从 1.0 开始)。

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

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

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

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

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

发送到 API 服务器的请求的内容类型。

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

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

--kubeconfig string

包含授权和主节点位置信息的 kubeconfig 文件的路径(主节点位置可以被 master 标志覆盖)。

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

节点生命周期控制器将集群视为大型集群以进行驱逐逻辑的节点数。对于此大小或更小的集群,--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

可以删除旧版服务帐户令牌的最后一次使用以来的时间段。

--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 状态的套接字。[default=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     默认值: 15秒

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

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

如果设置,此根证书颁发机构将包含在服务帐户的令牌 secret 中。这必须是有效的 PEM 编码的 CA 包。

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

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

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

当区域不健康时(请参阅 --unhealthy-zone-threshold 获取健康/不健康的定义),每秒删除 pod 的节点数。在非多区域集群中,区域是指整个集群。如果集群大小小于 --large-cluster-size-threshold,则此值会被隐式覆盖为 0。

--secure-port int     默认值: 10257

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

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

如果设置,则启用基于旧版 secret 的令牌。包含用于签署服务帐户令牌的 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 地址,但仅当 API 服务器可以查看客户端请求的 IP 地址时才应使用 IP。如果未提供域名模式,则会提取证书的名称。非通配符匹配优先于通配符匹配,显式域名模式优先于提取的名称。对于多个密钥/证书对,多次使用 --tls-sni-cert-key。示例:“example.crt,example.key” 或 “foo.crt,foo.key:*.foo.com,foo.com”。

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

区域中需要未就绪(最少 3 个)的节点比例,才能将该区域视为不健康。

--use-service-account-credentials

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

-v, --v int

日志级别详细程度的数字

--version version[=true]

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

--vmodule pattern=N,...

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

此页面是自动生成的。

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

上次修改时间:2024 年 12 月 12 日下午 2:31 PST:为 v1.32 重新生成组件参考 (f88d4ccd1d)