kube

65次阅读
没有评论

这篇文章主要为大家展示了“kube-controller-manager 配置参数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“kube-controller-manager 配置参数有哪些”这篇文章吧。

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

FlagComments–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-configcloud 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-periodAutoscaler 扩展的 pod 启动后 CPU 样本可能会被跳过的时间。默认值:5m0s–horizontal-pod-autoscaler-downscale-stabilizationAutoscaler 向后看的时间段,这段时间内不会缩小 POD 的数量。默认值:5m0s–horizontal-pod-autoscaler-initial-readiness-delay

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

新的 readiness,默认值:30s

–horizontal-pod-autoscaler-sync-periodhorizontal 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

–masterKubernetes 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-periodNodeController 同步 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-periodcloud 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:[]

以上是“kube-controller-manager 配置参数有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!