kube-controller-manager

概要

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

kube-controller-manager [flags]

选项

--allocate-node-cidrs

是否应在云提供商上分配和设置 Pod 的 CIDR。

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

从指标标签到该标签的值允许列表的映射。键的格式为 <指标名称>,<标签名称>。值的格式为 <允许值>,<允许值>... 例如 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 中的某个颁发机构签署的客户端证书的请求都将使用与客户端证书的公用名相对应的身份进行身份验证。

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

允许同时同步的 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、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 字符串

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

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

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

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

一组描述 alpha/实验性功能的功能门的键值对。选项有
APIResponseCompression=true|false (测试版 - 默认值=true)
APIServerIdentity=true|false (测试版 - 默认值=true)
APIServerTracing=true|false (测试版 - 默认值=true)
APIServingWithRoutine=true|false (测试版 - 默认值=true)
AllAlpha=true|false (Alpha - 默认值=false)
AllBeta=true|false (测试版 - 默认值=false)
AnyVolumeDataSource=true|false (测试版 - 默认值=true)
AppArmor=true|false (测试版 - 默认值=true)
AppArmorFields=true|false (测试版 - 默认值=true)
CPUManagerPolicyAlphaOptions=true|false (Alpha - 默认值=false)
CPUManagerPolicyBetaOptions=true|false (测试版 - 默认值=true)
CPUManagerPolicyOptions=true|false (测试版 - 默认值=true)
CRDValidationRatcheting=true|false (测试版 - 默认值=true)
CSIMigrationPortworx=true|false (测试版 - 默认值=false)
CSIVolumeHealth=true|false (Alpha - 默认值=false)
CloudControllerManagerWebhook=true|false (Alpha - 默认值=false)
ClusterTrustBundle=true|false (Alpha - 默认值=false)
ClusterTrustBundleProjection=true|false (Alpha - 默认值=false)
ComponentSLIs=true|false (测试版 - 默认值=true)
ConsistentListFromCache=true|false (Alpha - 默认值=false)
ContainerCheckpoint=true|false (测试版 - 默认值=true)
ContextualLogging=true|false (测试版 - 默认值=true)
CronJobsScheduledAnnotation=true|false (测试版 - 默认值=true)
CrossNamespaceVolumeDataSource=true|false (Alpha - 默认值=false)
CustomCPUCFSQuotaPeriod=true|false (Alpha - 默认值=false)
CustomResourceFieldSelectors=true|false (Alpha - 默认值=false)
DevicePluginCDIDevices=true|false (测试版 - 默认值=true)
DisableCloudProviders=true|false (测试版 - 默认值=true)
DisableKubeletCloudCredentialProviders=true|false (测试版 - 默认值=true)
DisableNodeKubeProxyVersion=true|false (Alpha - 默认值=false)
DynamicResourceAllocation=true|false (Alpha - 默认值=false)
ElasticIndexedJob=true|false (测试版 - 默认值=true)
EventedPLEG=true|false (Alpha - 默认值=false)
GracefulNodeShutdown=true|false (测试版 - 默认值=true)
GracefulNodeShutdownBasedOnPodPriority=true|false (测试版 - 默认值=true)
HPAScaleToZero=true|false (Alpha - 默认值=false)
HonorPVReclaimPolicy=true|false (Alpha - 默认值=false)
ImageMaximumGCAge=true|false (测试版 - 默认值=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 (测试版 - 默认值=true)
JobManagedBy=true|false (Alpha - 默认值=false)
JobPodFailurePolicy=true|false (测试版 - 默认值=true)
JobPodReplacementPolicy=true|false (测试版 - 默认值=true)
JobSuccessPolicy=true|false (Alpha - 默认值=false)
KubeProxyDrainingTerminatingNodes=true|false (测试版 - 默认值=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 (测试版 - 默认值=true)
LoadBalancerIPMode=true|false (测试版 - 默认值=true)
LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (Alpha - 默认值=false)
LogarithmicScaleDown=true|false (测试版 - 默认值=true)
LoggingAlphaOptions=true|false (Alpha - 默认值=false)
LoggingBetaOptions=true|false (测试版 - 默认值=true)
MatchLabelKeysInPodAffinity=true|false (Alpha - 默认值=false)
MatchLabelKeysInPodTopologySpread=true|false (测试版 - 默认值=true)
MaxUnavailableStatefulSet=true|false (Alpha - 默认值=false)
MemoryManager=true|false (测试版 - 默认值=true)
MemoryQoS=true|false (Alpha - 默认值=false)
MultiCIDRServiceAllocator=true|false (Alpha - 默认值=false)
MutatingAdmissionPolicy=true|false (Alpha - 默认值=false)
NFTablesProxyMode=true|false (Alpha - 默认值=false)
NodeInclusionPolicyInPodTopologySpread=true|false (测试版 - 默认值=true)
NodeLogQuery=true|false (测试版 - 默认值=false)
NodeSwap=true|false (测试版 - 默认值=true)
OpenAPIEnums=true|false (测试版 - 默认值=true)
PDBUnhealthyPodEvictionPolicy=true|false (测试版 - 默认值=true)
PersistentVolumeLastPhaseTransitionTime=true|false (测试版 - 默认值=true)
PodAndContainerStatsFromCRI=true|false (Alpha - 默认值=false)
PodDeletionCost=true|false (测试版 - 默认值=true)
PodDisruptionConditions=true|false (测试版 - 默认值=true)
PodIndexLabel=true|false (测试版 - 默认值=true)
PodLifecycleSleepAction=true|false (测试版 - 默认值=true)
PodReadyToStartContainersCondition=true|false (测试版 - 默认值=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 (测试版 - 默认值=true)
RuntimeClassInImageCriApi=true|false (Alpha - 默认值=false)
SELinuxMount=true|false (Alpha - 默认值=false)
SELinuxMountReadWriteOncePod=true|false (测试版 - 默认值=true)
SchedulerQueueingHints=true|false (测试版 - 默认值=false)
SeparateCacheWatchRPC=true|false (测试版 - 默认值=true)
SeparateTaintEvictionController=true|false (测试版 - 默认值=true)
ServiceAccountTokenJTI=true|false (测试版 - 默认值=true)
ServiceAccountTokenNodeBinding=true|false (Alpha - 默认值=false)
ServiceAccountTokenNodeBindingValidation=true|false (测试版 - 默认值=true)
ServiceAccountTokenPodNodeInfo=true|false (测试版 - 默认值=true)
ServiceTrafficDistribution=true|false (Alpha - 默认值=false)
SidecarContainers=true|false (测试版 - 默认值=true)
SizeMemoryBackedVolumes=true|false (测试版 - 默认值=true)
StatefulSetAutoDeletePVC=true|false (测试版 - 默认值=true)
StatefulSetStartOrdinal=true|false (测试版 - 默认值=true)
StorageNamespaceIndex=true|false (测试版 - 默认值=true)
StorageVersionAPI=true|false (Alpha - 默认值=false)
StorageVersionHash=true|false (测试版 - 默认值=true)
StorageVersionMigrator=true|false (Alpha - 默认值=false)
StructuredAuthenticationConfiguration=true|false (测试版 - 默认值=true)
StructuredAuthorizationConfiguration=true|false (测试版 - 默认值=true)
TopologyAwareHints=true|false (测试版 - 默认值=true)
TopologyManagerPolicyAlphaOptions=true|false (Alpha - 默认值=false)
TopologyManagerPolicyBetaOptions=true|false (测试版 - 默认值=true)
TopologyManagerPolicyOptions=true|false (测试版 - 默认值=true)
TranslateStreamCloseWebsocketRequests=true|false (测试版 - 默认值=true)
UnauthenticatedHTTP2DOSMitigation=true|false (测试版 - 默认值=true)
UnknownVersionInteroperabilityProxy=true|false (Alpha - 默认值=false)
UserNamespacesPodSecurityStandards=true|false (Alpha - 默认值=false)
UserNamespacesSupport=true|false (测试版 - 默认值=false)
VolumeAttributesClass=true|false (Alpha - 默认值=false)
VolumeCapacityPriority=true|false (Alpha - 默认值=false)
WatchFromStorageWithoutResourceVersion=true|false (测试版 - 默认值=false)
WatchList=true|false (Alpha - 默认值=false)
WatchListClient=true|false (测试版 - 默认值=false)
WinDSR=true|false (Alpha - 默认值=false)
WinOverlay=true|false (测试版 - 默认值=true)
WindowsHostNetwork=true|false (Alpha - 默认值=true)

--flex-volume-plugin-dir 字符串     默认值:"/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 字符串     默认值:"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 duration     默认值:15s

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

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

代理主服务器在停止领导之前尝试续订领导者位置的时间间隔。这必须小于租约期限。仅当启用了领导者选举时才适用。

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

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

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

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

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

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

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

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

--leader-migration-config 字符串

控制器领导者迁移配置文件的路径,如果为空,则使用反映控制器管理器默认配置的值。配置文件的类型应为 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 字符串

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

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

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

在将运行的节点标记为不健康之前,允许其无响应的时间量。必须是 kubelet 的 nodeStatusUpdateFrequency 的 N 倍以上,其中 N 表示 kubelet 发布节点状态允许的重试次数。

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

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

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

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

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

为 HostPath 清理器 Pod 的 ActiveDeadlineSeconds 每 Gi 添加的时间增量。这仅用于开发和测试,不适用于多节点集群。

--pvclaimbinder-sync-period duration     默认值: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 duration     默认值:5m0s

同步系统中配额使用状态的时间段

--root-ca-file 字符串

如果设置,则此根证书颁发机构将包含在服务帐户的令牌密钥中。这必须是有效的 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 字符串

包含用于签署服务帐户令牌的 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,...

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

本页面由系统自动生成。

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

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