kube-controller-manager 参数
Controller manager是一个处理集群中常规任务的后台线程,通过 apiserver 监视集群的共享状态,并将当前状态修改到所需状态。
Controller Manager 内部包含多个 Controller,每种 Controller 都负责一种具体的控制流程。
参数名 | 含义 | 默认值 |
---|---|---|
调试参数 | ======================================================================================================== | ===== |
contention-profiling | 如果启用了 profiling,则启用锁争用性分析 | |
profiling | 通过Web界面启用性能分析 host:port/debug/pprof/ | |
通用参数 | ======================================================================================================== | ===== |
allocate-node-cidrs | 是否应在云提供商上分配和设置Pod的CIDR。 | |
cidr-allocator-type | 使用的CIDR分配器的类型 | RangeAllocator |
cloud-config | 云提供程序配置文件的路径。空字符串表示没有配置文件。 | |
cloud-provider | 云服务提供商。空字符串表示没有提供者。 | |
cloud-provider-gce-lb-src-cidrs | 在GCE防火墙中打开CIDR以进行LB流量代理和运行状况检查 | 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16 |
cluster-cidr | 集群中Pod的CIDR范围。要求--allocate-node-cidrs为true | |
cluster-name | 集群的实例前缀。 | kubernetes |
configure-cloud-routes | 是否应在云提供商上配置allocate-node-cidrs分配的CIDR | true |
controller-start-interval | 启动 controller manager 之间的间隔。 | |
controllers | 要启用的控制器列表。 '*'启用所有默认控制器,'foo'启用名为'foo'的控制器,'-foo'禁用名为 foo 的控制器 |
|
external-cloud-volume-plugin | 云供应商为外部时使用的插件。仅在云提供商为外部时可以设置空。目前仅用于为树云提供商工作的节点控制器和卷控制器。 | |
feature-gates | 一组key = value对,用于描述特征处于alpha / experimental状态。 | |
kube-api-burst | 在与kubernetes apiserver 交互时使用。 | 30 |
kube-api-content-type | 发送到apiserver的请求的内容类型。 | application/vnd.kubernetes.protobuf |
kube-api-qps | 与kubernetes apiserver交互时使用的QPS。 | 20 |
leader-elect | 在执行主要任务之前,启动领导者选举并获得领导权。在运行多个组件以实现高可用性时启用此选项。 | true |
leader-elect-lease-duration | 从非领导候选人在观察到领导权更新,到试图竞选领导但未成为领导者的持续时间。这实际上是一个领导者在被另一个候选人替换之前可以被阻止的最大持续时间。这仅适用于启用领导者选举的情况。 | 15 |
leader-elect-renew-deadline | 领导重申领导身份的间隔时间。小于等于 lease-duration。这仅适用于启用领导者选举的情况。 | 10s |
leader-elect-resource-lock | 在领导者选举期间用于锁定的资源对象的类型。 | endpoints |
leader-elect-retry-period | client 在尝试获取领导权与获得领导权之间应该等待的持续时间。仅适用于启用领导者选举的情况。 | 2s |
min-resync-period | reflectors 的重新同步周期,在 [MinResyncPeriod-2 * MinResyncPeriod]间取随机值。 | 12h0m0s |
node-monitor-period | 在NodeController中同步NodeStatus的时间间隔。 | 5s |
route-reconciliation-period duration | 协调由云提供商为节点创建的路由的时间段。 | 10s |
use-service-account-credentials | 如果为true,为每个控制器使用单个service account | |
Service Controller | ======================================================================================================== | ===== |
concurrent-service-syncs | 允许同时同步的 service 数量。 数字越大=服务管理响应越快,但消耗更多 CPU 和网络资源 | 1 |
安全服务参数(同 apiserver) | ======================================================================================================== | ===== |
bind-address | 监听--secure-port端口的IP地址,接口必须可由集群的其他组件以及CLI / Web客户端访问。 | 如果空白,全部将使用接口(所有IPv4接口为0.0.0.0,所有IPv6接口为::)。 (默认0.0.0.0) |
cert-dir | TLS证书所在的目录。如果提供了--tls-cert-file和--tls-private-key-file,则将忽略此标志。 | / var / run / kubernetes |
http2-max-streams-per-connection | api server 提供给 client 在HTTP / 2连接中的最大 stream 数。0 表示用golang的默认值。 | |
secure-port | 使用身份验证和授权为HTTPS提供服务的端口。如果设为0,禁用HTTPS | 10257 |
tls-cert-file | 包含HTTPS的默认x509证书的文件。 CA证书,如果有的话,在服务器证书之后连接。如果启用了HTTPS服务,但是 --tls-cert-file和--tls-private-key-file 未提供,则会为公共地址生成自签名证书和密钥,并将其保存到--cert-dir指定的目录中。 | |
tls-cipher-suites | 密码套件列表。如果省略,将使用默认的Go密码套件。 | |
tls-min-version | 支持最低TLS版本。 可能的值:VersionTLS10,VersionTLS11,VersionTLS12 | |
tls-private-key-file | 与 --tls-cert-file 匹配的默认x509私钥。 | |
tls-sni-cert-key | 一对x509证书和私钥文件路径。示例:“example.crt,example.key” | [] |
认证参数 | ======================================================================================================== | ===== |
authentication-kubeconfig | kubeconfig文件指向有权创建tokenaccessreviews.authentication.k8s.io的kubernetes服务器。这是可选的。如果是空的,所有令牌请求都被视为匿名,并且不会在集群中查找客户端CA | |
authentication-skip-lookup | 如果为false,则authentication-kubeconfig将用于在集群中查找缺少的身份验证配置。 | |
authentication-token-webhook-cache-ttl | 缓存来自webhook令牌验证器的响应的持续时间。 | 10s |
client-ca-file | 启用客户端证书认证。该参数引用的文件中必须包含一个或多个证书颁发机构,用于验证提交给该组件的客户端证书。如果客户端证书已验证,则用其中的 Common Name 作为请求的用户名 | |
requestheader-allowed-names | 允许通过的客户端证书Common Name列表,可以提供 –requestheader-username-headers 中的 Header 的用户名。如果为空,则所有通过–requestheader-client-ca-file校验的都允许通过。 | |
requestheader-client-ca-file | 针对收到的请求,在信任--requestheader-username-header指定的header里包含的用户名之前,验证客户端证书的根证书。 | |
requestheader-extra-headers-prefix | 要检查的请求头前缀列表。建议使用 X-Remote-Extra- | x-remote-extra- |
requestheader-group-headers | 要检查组的请求头列表。建议采用X-Remote组。 | x-remote-group |
requestheader-username-headers | 要检查用户名的请求标头列表。 X-Remote-User很常见。 | x-remote-user |
授权参数 | ======================================================================================================== | ===== |
authorization-always-allow-paths | 授权期间要跳过的HTTP路径列表,即,这些路径是经过授权、不用与'核心'kubernetes服务器通信的。 | / healthz |
authorization-kubeconfig | kubeconfig文件指向 'core' kubernetes服务器。 这是可选的。 如果是空的,所有未经授权的请求将被拒绝。 | |
authorization-webhook-cache-authorized-ttl | 缓存 webhook 授权程序的“授权”响应的持续时间。 | 10s |
authorization-webhook-cache-unauthorized-ttl duration | 缓存 webhook 授权程序的“未授权”响应的持续时间。 | 10s |
attachdetach controller参数 | ======================================================================================================== | ===== |
attach-detach-reconcile-sync-period | 卷附加分离间,协调程序的同步等待时间。 此持续时间必须大于一秒,并且增加默认值可能导致卷与pod不匹配。 | 1m |
disable-attach-detach-reconcile-sync | 禁用协调器同步卷附加分离。禁用此功能可能会导致卷与 pod 不匹配。 最好用上。 | |
Csrsigning controller参数 | ======================================================================================================== | ===== |
cluster-signing-cert-file | 一个PEM编码的有X509 CA证书的文件,用于在集群内发布证书 | /etc/kubernetes/ca/ca.pem |
cluster-signing-key-file | 一个PEM编码的有RSA或ECDSA私钥的文件,用于对集群内的证书进行签名 | /etc/kubernetes/ca/ca.key |
experimental-cluster-signing-duration | 证书签名的持续时间。 | 8760h0m0s |
Deployment controller参数 | ======================================================================================================== | ===== |
concurrent-deployment-syncs | 允许同时同步的部署对象的数量。 数字越大=部署响应越快,但消耗更多 CPU 和网络资源 | 5 |
deployment-controller-sync-period | 同步部署的时间 | 30s |
Node controller参数 | ======================================================================================================== | ===== |
concurrent-endpoint-syncs | 允许同时执行的端点同步操作数量。数字越大=部署响应越快,但消耗更多 CPU 和网络资源 | 5 |
垃圾回收器参数 | ======================================================================================================== | ===== |
concurrent-gc-syncs | 允许同时同步的垃圾收集器工作器的数量 | 20 |
enable-garbage-collector | 启用通用垃圾收集器。 必须与kube-apiserver的相应参数一起使用。 | true |
水平伸缩 pod 参数 | ======================================================================================================== | ===== |
horizontal-pod-autoscaler-cpu-initialization-period | the period after pod start when CPU samples might be skipped. | 5m |
horizontal-pod-autoscaler-downscale-stabilization | The period for which autoscaler will look backwards and not scale down below any recommendation it made during that period. | 5m |
horizontal-pod-autoscaler-initial-readyiness-delay | The period after pod start during which readiness changes will be treated as initial readiness. | 30s |
horizontal-pod-autoscaler-sync-period duration | 同步horizontal pod autoscaler中pod数量的间隔。 | 15s |
horizontal-pod-autoscaler-tolerance | The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.(从1.0开始)。 | 0.1 |
Namespace controller 参数 | ======================================================================================================== | ===== |
concurrent-namespace-syncs | 允许并发同步的命名空间对象的数量。 | 10 |
namespace-sync-period duration | 同步命名空间生命周期变化的时间间隔 | 5m |
Nodeipam controller 参数 | ======================================================================================================== | ===== |
node-cidr-mask-size | 集群中节点cidr的掩码大小。 | 24 |
service-cluster-ip-range | 集群中服务的CIDR范围。 要求--allocate-node-cidrs为true | |
Nodelifecycle controller 参数 | ======================================================================================================== | ===== |
enable-taint-manager | 警告:测试版功能。如果设置为true,则启用NoExecute Taints并将逐出所有运行在这种 taints 上的不容忍的Pod。 | true |
large-cluster-size-threshold | NodeController将集群标记为 large,以触发驱逐逻辑。--secondary-node-eviction-rate对于此大小或更小的群集,会被隐式写为0 | 50 |
node-eviction-rate | 当Zone 健康&&节点失败时,删除节点上的pod的速率 | 0.1 |
node-monitor-grace-period | 在标记节点不健康之前,允许运行节点不响应的时间。必须是kubelet的 nodeStatusUpdateFrequency 的 N 倍,N表示允许kubelet发布节点状态的重试次数。 | 40s |
node-startup-grace-period | 在标记节点不健康之前,允许开始节点不响应的时间。 | 1m |
pod-eviction-timeout | 删除故障节点上的pod的宽限期。 | 5m |
secondary-node-eviction-rate float32 | 当 Zone 不健康 && 节点发生故障时,删除节点上的pod的速率。如果集群大小小于 large-cluster-size-threshold,则隐式地将该值重写为0。 | 0.01 |
unhealthy-zone-threshold | not ready 节点(至少3个)的比例达到该值时,将 Zone 标记为不健康。 | 0.55 |
Persistentvolume-binder controller 参数 | ======================================================================================================== | ===== |
enable-dynamic-provisioning | 为支持它的环境启用动态配置 | true |
enable-hostpath-provisioner | 在没有云提供商的情况下运行时启用HostPath PV配置,这仅用于开发和测试,不适用于多节点群集。 | |
flex-volume-plugin-dir | flex卷插件搜索其他第三方卷插件的目录 | /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ |
pv-recycler-increment-timeout-nfs | NFS scrubber pod每个Gi添加到ActiveDeadlineSeconds的时间增量。 这仅用于开发和测试,不适用于多节点群集。 | 30 |
pv-recycler-minimum-timeout-hostpath | 用于HostPath Recycler pod的最小ActiveDeadlineSeconds。这仅用于开发和测试,不适用于多节点群集。 | 60 |
pv-recycler-minimum-timeout-nfs | 用于NFS Recycler pod的最小ActiveDeadlineSeconds | 300 |
pv-recycler-pod-template-filepath-hostpath | pod定义的文件路径,用作HostPath持久卷回收的模板。 这仅用于开发和测试,不适用于多节点群集。 | |
pv-recycler-pod-template-filepath-nfs | pod定义的文件路径,用作NFS持久卷回收的模板 | |
pv-recycler-timeout-increment-hostpath | HostPath scrubber pod每个Gi添加到ActiveDeadlineSeconds的时间增量。 这仅用于开发和测试,不适用于多节点群集。 | 30 |
pvclaimbinder-sync-period | 同步持久卷和持久卷声明的时间段 | 15 |
Podgc controller 参数 | ======================================================================================================== | ===== |
terminated-pod-gc-threshold | 已终止pod数量达到该值时,terminated pod garbage collector 开始删除已终止的pod。 如果<= 0,则禁用终止的terminated pod garbage collector。 | 12500 |
ReplicaSet controller 参数 | ======================================================================================================== | ===== |
concurrent-replicaset-syncs | 并发执行的replica sets集数。数量更多=同步操作越快,但消耗更多 CPU 和网络资源 | 5 |
Replication controller 参数 | ======================================================================================================== | ===== |
concurrent_rc_syncs | 允许同时同步的replication controllers的数量。数量更多=同步操作越快,但消耗更多 CPU 和网络资源 | 5 |
Resourcequota controller 参数 | ======================================================================================================== | ===== |
concurrent-resource-quota-syncs | 允许同时同步的resource quotas的数量。数量更多=同步操作越快,但消耗更多 CPU 和网络资源 | 5 |
resource-quota-sync-period | 在系统中同步配额使用状态的时间间隔 | 5m |
serviceaccount controller 参数 | ======================================================================================================== | ===== |
concurrent-serviceaccount-token-syncs | 允许同时同步的 service account token 的数量。数量更多=同步操作越快,但消耗更多 CPU 和网络资源 | 5 |
root-ca-file | 根 CA 证书文件路径,将被用于 Service Account 的 token secret 中 | |
service-account-private-key-file | 用于签署 service account tokens 的 PEM 编码的RSA或ECDSA密钥文件 | |
Ttl-after-finished controller 参数 | ======================================================================================================== | ===== |
concurrent-ttl-after-finished-syncs | 允许同时同步的 TTL-after-finished controller 的数量。 | 5 |
其他参数 | ======================================================================================================== | ===== |
kubeconfig | 具有授权和 master 地址信息的 kubeconfig 文件的路径 | |
master | Kubernetes API Server 的地址 (覆盖kubeconfig中的任何值) | |
全局参数 (同 API-SERVER) | ======================================================================================================== | ===== |
alsologtostderr | 日志信息同时输出到stderr及文件 | |
help | 帮助 | |
log-backtrace-at | 当日志命中行文件时:N,触发堆栈跟踪 | 0 |
log-dir | 如果非空,则在此目录中写入日志文件 | |
log-file | 如果非空,请使用此日志文件 | |
log-flush-frequency | 日志刷新之间的最大秒数 | 5s |
logtostderr | 日志信息输出到stderr 而不是文件 | true |
skip-headers | 避免在日志消息中使用头前缀 | |
stderrthreshold | 等于或高于此阈值的日志发布到stderr | 2 |
v | 日志的日志级别 | |
version版本 | 打印版本信息并退出 | true |
vmodule | 模式列表=N文件筛选日志记录 |
网友评论