kube-controller-manager 配置参数解读(kubernets version 1.12.0)

下面是kube-controller-manager version 1.12.0的所有配置,其中高亮加粗的是我认为需要注意的Flag。

Flag Comments
--allocate-node-cidrs 在cloud provider上分配和设置pod的CIDR
--attach-detach-reconcile-sync-period

Volume连接与分离之间的同步等待时间。这个时间必须大于1秒,

从默认值增加这个值可能会导致volume和pod不匹配,默认值1m0s

--authentication-kubeconfig

kubeconfig文件指向‘core‘ kubernetes服务,并有足够权限创建

tokenaccessreviews.authentication.k8s.io. 。可选参数,如果为空,

所有token请求都当作匿名的,集群不查找客户CA证书。

--authentication-skip-lookup

如果是false,authentication-kubeconfig会用来从集群中查找

丢失的身份验证配置

--authentication-token-webhook-cache-ttl 从webhook token认证器缓存响应的持续时间,默认值10s
--authorization-always-allow-paths 

忽略授权的HTTP路径列表,无需联系‘core’ kubernetes服务器

就可以进行授权。默认值:[/healthz]

--authorization-kubeconfig

kubeconfig文件指向‘core‘ kubernetes服务,并有足够权限创建subjectaccessreviews.authorization.k8s.io。可选参数,如果为空,

所有未经授权跳过的请求都被禁止。

--authorization-webhook-cache-authorized-ttl 缓存webhook授权器已授权响应的持续时间。默认值:10s
--authorization-webhook-cache-unauthorized-ttl 缓存webhook授权器未授权响应的持续时间。默认值:10s
--azure-container-registry-config 包含Azure容器注册配置信息的文件路径
--bind-address

默认值:0.0.0.0,监听--secure-port端口的IP地址。关联的接口

必须由集群的其他部分和CLI/web客户端访问。

--cert-dir

TLS certs所在的目录。如果提供了--tls-cert-file和--tls-private-key-file

那么该参数会被忽略。默认值:"/var/run/kubernetes"

--cidr-allocator-type 使用CIDR分配器的类型,默认值:"RangeAllocator"
--client-ca-file

如果set了,任何提供client-ca-file中由某个权威机构签名的客户机

证书的请求都使用与客户机证书的公共名称相对应的身份进行身份验证

--cloud-config cloud provider配置文件的路径。空表示没有配置文件
--cloud-provider 云服务提供商,空表示没有提供商
--cluster-cidr 集群内的pod的CIDR范围,需要 --allocate-node-cidrs设为true
--cluster-name 集群实例的前缀,默认值:"kubernetes"
--cluster-signing-cert-file

包含PEM编码的X509 CA证书的文件名,用来发出cluster-scoped证书

默认值:"/etc/kubernetes/ca/ca.pem"

--cluster-signing-key-file

包含PEM编码的RSA或者ECDSA私钥的文件名,用来签署cluster-scoped证书

默认值:"/etc/kubernetes/ca/ca.key"

--concurrent-deployment-syncs

允许并发同步的Deployment对象的数量,更大的数量等于更快的部署响应,

但是更多的CPU(和网络)负载,默认值:5

--concurrent-endpoint-syncs

允许并发执行端点同步操作的数量,更大的数量等于更快的端点更新,

但是更多的CPU(和网络)负载,默认值:5

--concurrent-gc-syncs 允许并发同步的垃圾收集器数量,默认值:20
--concurrent-namespace-syncs

允许并发同步的namespace对象的数量,更大的数量等于更快的namespace终止,

但是更多的CPU(和网络)负载,默认值:10

--concurrent-replicaset-syncs

允许并发同步的replica sets的数量,更大的数量等于更快的replica管理,

但是更多的CPU(和网络)负载,默认值:5

--concurrent-resource-quota-syncs

允许并发同步的resource quta的数量,更大的数量等于更快的配额管理,

但是更多的CPU(和网络)负载,默认值:5

--concurrent-service-syncs

允许并发同步的service的数量,更大的数量等于更快的service管理,

但是更多的CPU(和网络)负载,默认值:1

--concurrent-serviceaccount-token-syncs

允许并发同步的service account token的数量,更大的数量等于更快的

产生token,但是更多的CPU(和网络)负载,默认值:5

--concurrent-ttl-after-finished-syncs

允许并发同步的TTL-after-finished控制器数量,,默认值:5

--concurrent_rc_syncs

允许并发同步的replication controllers的数量,更大的数量等于

更快的replica管理,但是更多的CPU(和网络)负载,默认值:5

--configure-cloud-routes 由allocate-node-cidrs分配的CIDR是否应该在cloud provider上配置。
--contention-profiling 如果启用了profilling,则启用锁争用profilling
--controller-start-interval 启用controller manager之间的间隔
--controllers

要启用的控制器列表,‘*’表示启用所有on-by-default控制器,‘foo'表示启用名称

为foo的控制器,‘-foo’表示不启用名称为foo的控制器。默认值:[*]

--deployment-controller-sync-period  同步deployment的周期。默认值:30s
--disable-attach-detach-reconcile-sync 启用volume连接与分离的协调同步。禁用此选项可能导致volume和pod不同步
--enable-dynamic-provisioning 为支持动态供应的环境启用动态供应,默认值:true
--enable-garbage-collector 启用通用的垃圾收集器。必须与kube-apiserver的相应标志一致。默认值:true
--enable-hostpath-provisioner

在没有cloud provider的情况下,启用HostPath PV供应。允许在测试和开发供应

该功能,HostPath供应无论如何都不受支持,因为不能在多节点集群中工作,

并且不应该用于测试或开发之外。

--enable-taint-manager

Beta功能,如果设为true。启用Noexecute Taint,并且清除所有不允许运行在

有Noexecute Taint的Node上的pod,默认为true。

--experimental-cluster-signing-duration 已签署证书的期限,默认值:8760h0m0s
--external-cloud-volume-plugin

当cloud provider设置为外部时使用的插件,可以为空,只有cloud provider为

外部时设置。当前用于允许node和volume controller在树cloud provider中工作

--feature-gates 一组键值对用于描述alpha/实验特性的特性门
--flex-volume-plugin-dir

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

默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"

--horizontal-pod-autoscaler-cpu-initialization-period Autoscaler扩展的pod启动后CPU样本可能会被跳过的时间。默认值:5m0s
--horizontal-pod-autoscaler-downscale-stabilization Autoscaler向后看的时间段,这段时间内不会缩小POD的数量。默认值:5m0s
--horizontal-pod-autoscaler-initial-readiness-delay

Pod启动后的一段时间,这段时间内如果readiness改变了会重新当做

新的readiness,默认值:30s

--horizontal-pod-autoscaler-sync-period horizontal pod autoscaler同步pods数量的周期,默认值:15s
--horizontal-pod-autoscaler-tolerance

horizontal pod autoscaler考虑scaling所需的实际度量比率的

最小变化(从1.0),默认值:0.1

--http2-max-streams-per-connection

服务器提供给客户端单个HTTP/2连接的最大数据流限制。

0表示使用golang的默认值。

--insecure-experimental-approve-all-kubelet-csrs-for-group 该参数不做任何事情
--kube-api-burst

和kubernetes apiserver交互的突发量,默认值:30

--kube-api-content-type

发送给apiserver的请求的文本类型,

默认值:"application/vnd.kubernetes.protobuf"

--kube-api-qps 与kubernetes apiserver交互的QPS
--kubeconfig 带有授权和master位置信息的kubeconfig文件路径
--large-cluster-size-threshold

NodeController将集群当做大集群的nodes数量,主要目的驱逐的逻辑。

对于这种大小或者更小的集群,隐式的将--secondary-node-eviction-rate

重写为0.

--leader-elect

在执行主逻辑之前,启动leader选举,并获得leader权。

当为了高可用运行多个组件的时候启用该参数。默认值:true

--leader-elect-lease-duration duration

Leader在被另外的候选者取代之前可以停止的最长时间。

只有当--leader-elect参数启用时该参数才适用。默认值:15s

--leader-elect-renew-deadline

代理Master在转换leader权和停止leader权之间的间隔时间,这个参数

必须小于--leader-elect-lease-duration duration。

只有当--leader-elect参数启用时该参数才适用。默认值:10s

--leader-elect-resource-lock

在leader选举期间锁定的资源对象类型。支持的选项:

endpoints(默认)和configmaps

--leader-elect-retry-period

客户师徒获得和更换leader之间等待的时间。

只有当--leader-elect参数启用时该参数才适用。默认值:2s

--log-flush-frequency

日志刷新的间隔时间,默认值5s

--master Kubernetes API server的地址(覆盖kubeconfig中的任意值)
--min-resync-period

反射器的同步周期,取值MinResyncPeriod and

2*MinResyncPeriod的随机数。默认值12h0m0s

--namespace-sync-period 同步namespace生命周期更新的周期,默认值:5m0s
--node-cidr-mask-size 集群中node cidr的掩码大小,默认值:24
--node-eviction-rate

一个健康的zone中Node失败时,每秒删除失败Node上Pod的百分比。

默认值:0.1,即默认10s删除失败节点的所有Pod。

zone是指非多区域集群中的整个集群

--node-monitor-grace-period

标识node为unhealthy之前,允许运行node不响应的时间,

必须是kubelet nodeStatusUpdateFrequency参数的N倍,其中N表示

允许kubelet节点状态的重试次数。默认值:40s

--node-monitor-period NodeController同步NodeStatus的间隔时间,默认值:5s
--node-startup-grace-period 在标记unhealthy之前,允许启动节点不响应的时间。默认值:1m0s
--pod-eviction-timeout 在失败节点删除pod的宽限期,默认值:5m0s
--profiling 通过web接口host:port/debug/pprof/ 启用profilling
--pv-recycler-increment-timeout-nfs

对于NFS洗涤pod,每个Gi向ActiveDeadlineSeconds增加的时间,

默认值:30s

--pv-recycler-minimum-timeout-hostpath

用于HostPath回收Pod的最小的activedeadlinesecond。该参数仅用于

开发测试,在多节点的集群不能使用。默认值60.

--pv-recycler-minimum-timeout-nfs 用于NFS回收Pod的最小的activedeadlinesecond,默认值:300
--pv-recycler-pod-template-filepath-hostpath

用于Hostpath pv回收模板的pod定义的文件路径。

该参数仅用于开发测试,在多节点的集群不能使用。

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

用于NFS pv回收模板的pod定义的文件路径。

该参数仅用于开发测试,在多节点的集群不能使用。

--pv-recycler-timeout-increment-hostpath

对于HostPath洗涤pod,每个Gi向ActiveDeadlineSeconds增加的时间,

该参数仅用于开发测试,在多节点的集群不能使用。默认值:30s

--pvclaimbinder-sync-period duration 同步pv和pv 请求的周期,默认值: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.
--requestheader-group-headers 要检查组的请求标头列表。建议设定为X-Remote-Group
--requestheader-username-headers 要检查用户名的请求标头列表。常用X-Remote-User
--resource-quota-sync-period 同步系统配额使用状态的周期,默认值:5m0s
--root-ca-file

如果设置,该根证书权限将包含service acount的toker secret。

这必须是一个有效的PEM编码CA 包。

--route-reconciliation-period cloud provider为节点创建协调路由的周期,默认值:10s
--secondary-node-eviction-rate

区域不健康时,当节点失败,每秒删除失败Node上pod的百分比。如果集

群规模小于--large-cluster-size-threshold,则该值将隐式重写为0。

默认值:0.01,即默认100s删除失败节点的所有Pod。

--secure-port

使用身份验证和授权为HTTPS提供服务的端口。如果是0,表示

不提供HTTPS服务。默认值:10257

--service-account-private-key-file 

包含用于签署service account token的PEM编码RSA或者ECDSA

私钥的文件名

--service-cluster-ip-rang 集群Services 的CIDR范围。需要--allocate-node-cidrs设为true
--terminated-pod-gc-threshold

在pod垃圾收集器开始删除终止pod之前,可以存在的终止pod数量。

默认值:12500

--tls-cert-file 

包含用于HTTPS的默认x509证书的文件。如果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私钥的文件

--unhealthy-zone-threshold 区域被视为不健康时,Not Ready 节点的比例
--use-service-account-credentials 如果true,为每个控制器使用单独的service account证书
--tls-sni-cert-key namedCertKey

A pair of x509 certificate and private key file paths, optionally

suffixed with a list of domain patterns which are fully qualified

domain names, possibly with prefixed wildcard segments. If no

domain patterns are provided, the names of the certificate are

extracted. Non-wildcard matches trump over wildcard matches,

explicit domain patterns trump over extracted names. For multiple

key/certificate pairs, use the --tls-sni-cert-key multiple times.

Examples: "example.crt,example.key" or

"foo.crt,foo.key:*.foo.com,foo.com". Default:[]

 

转载于:https://my.oschina.net/u/3797264/blog/2243818

你可能感兴趣的:(kube-controller-manager 配置参数解读(kubernets version 1.12.0))