kube-controller-manager

概述

Kubernetes 控制器管理器是一个守护程序,它嵌入与 Kubernetes 一起提供的核心控制循环。在机器人技术和自动化应用中,控制循环是一个非终止循环,它调节系统的状态。在 Kubernetes 中,控制器是一个控制循环,它通过 apiserver 监视集群的共享状态,并进行更改以尝试将当前状态移向所需状态。今天与 Kubernetes 一起提供的控制器的示例包括复制控制器、端点控制器、命名空间控制器和 serviceaccounts 控制器。

kube-controller-manager [flags]

选项

--allocate-node-cidrs

是否应为 Pod 分配 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

指向具有足够权限创建 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,则从集群中查找缺失的身份验证配置失败不会被视为致命错误。请注意,这会导致身份验证将所有请求视为匿名。

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

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

要使用的 CIDR 分配器类型

--client-ca-file string

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

--cloud-config string

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

--cloud-provider string

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

--cluster-cidr string

集群中 Pod 的 CIDR 范围。需要 --allocate-node-cidrs 为 true

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

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

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

允许同时同步的部署对象数量。数量越大 = 部署响应速度越快,但 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

允许同时同步的有状态集对象数量。数量越大 = 有状态集响应速度越快,但 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, 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, 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
默认禁用的控制器:bootstrap-signer-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/。

--disabled-metrics strings

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

--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 时使用的插件。可以为空,仅当 cloud-provider 为 external 时才应设置。目前用于允许 node-ipam-controller、persistentvolume-binder-controller、persistentvolume-expander-controller 和 attach-detach-controller 为树内云提供商工作。

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

一组 key=value 对,描述 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)

--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 字符串

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

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

节点数量阈值,当节点数量超过此阈值时,节点生命周期控制器将集群视为大型集群,并应用驱逐逻辑。对于此大小或更小的集群,--secondary-node-eviction-rate 会被隐式覆盖为 0。注意:如果节点位于多个区域,则此阈值将被视为每个区域的区域节点大小阈值,以独立确定节点驱逐率。

--leader-elect     默认值:true

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

--leader-elect-lease-duration 持续时间     默认值:15s

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

--leader-elect-renew-deadline 持续时间     默认值:10s

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

--leader-elect-resource-lock 字符串     默认值:"leases"

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

--leader-elect-resource-name 字符串     默认值:"kube-controller-manager"

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

--leader-elect-resource-namespace 字符串     默认值:"kube-system"

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

--leader-elect-retry-period 持续时间     默认值:2s

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

--leader-migration-config 字符串

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

--legacy-service-account-token-clean-up-period 持续时间     默认值:8760h0m0s

自上次使用旧版服务帐户令牌后,可以删除该令牌的时间段。

--log-flush-frequency 持续时间     默认值:5s

日志刷新之间的最大秒数。

--log-text-info-buffer-size 数量

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

--log-text-split-stream

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

--logging-format 字符串     默认值:"text"

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

--master 字符串

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

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

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

--min-resync-period 持续时间     默认值:12h0m0s

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

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

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

--mirroring-endpointslice-updates-batch-period 持续时间

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

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

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

--namespace-sync-period 持续时间     默认值: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 浮点数     默认值:0.1

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

--node-monitor-grace-period 持续时间     默认值:40s

允许运行中的节点在标记为不正常之前保持无响应的时间量。必须比 kubelet 的 nodeStatusUpdateFrequency 大 N 倍,其中 N 表示允许 kubelet 发布节点状态的重试次数。

--node-monitor-period 持续时间     默认值:5s

在云节点生命周期控制器中同步 NodeStatus 的周期。

--node-startup-grace-period 持续时间     默认值: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 字符串

用于 HostPath 持久卷回收的 Pod 定义文件路径。这仅用于开发和测试,并且在多节点集群中无法正常工作。

--pv-recycler-pod-template-filepath-nfs 字符串

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

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

为 HostPath 清理程序 Pod 添加到 ActiveDeadlineSeconds 的每个 Gi 的时间增量。这仅用于开发和测试,并且在多节点集群中无法正常工作。

--pvclaimbinder-sync-period 持续时间     默认值:15s

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

--requestheader-allowed-names 字符串列表

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

--requestheader-client-ca-file 字符串

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

--requestheader-extra-headers-prefix 字符串列表     默认值:"x-remote-extra-"

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

--requestheader-group-headers 字符串列表     默认值:"x-remote-group"

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

--requestheader-username-headers 字符串列表     默认值:"x-remote-user"

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

--resource-quota-sync-period 持续时间     默认值:5m0s

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

--root-ca-file 字符串

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

--route-reconciliation-period 持续时间     默认值:10s

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

--secondary-node-eviction-rate 浮点数     默认值:0.01

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

--secure-port int     默认值:10257

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

--service-account-private-key-file 字符串

包含用于签署服务帐户令牌的 PEM 编码的私有 RSA 或 ECDSA 密钥的文件名。

--service-cluster-ip-range 字符串

集群中服务的 CIDR 范围。要求 --allocate-node-cidrs 为 true。

--show-hidden-metrics-for-version 字符串

要显示隐藏指标的先前版本。只有先前的小版本才有意义,其他值将不被允许。格式为 <major>.<minor>,例如:'1.16'。这种格式的目的是确保您有机会注意到下一个版本是否隐藏了更多指标,而不是在下一个版本永久删除这些指标时感到意外。

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

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

--tls-cert-file 字符串

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

--tls-cipher-suites 字符串列表

服务器的密码套件的逗号分隔列表。如果省略,将使用默认的 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 字符串

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

--tls-private-key-file 字符串

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

--tls-sni-cert-key 字符串

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

--unhealthy-zone-threshold 浮点数     默认值:0.55

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

--use-service-account-credentials

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

-v, --v 整数

日志级别详细程度的数字

--version 版本[=true]

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

--vmodule 模式=N,...

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

此页面是自动生成的。

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

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