参数配置
Eviction
生产环境如果集群管理员对集群缺乏足够的把控力,建议关闭驱逐,显示设置 --eviction-hard= 即可关闭,关闭之后驱逐相关的其他参数就不需要关注了
触发 Pod 驱逐操作的一组硬性门限(例如:memory.available<1Gi (内存可用值小于 1G)设置。在 Linux 节点上,默认值还包括 nodefs.inodesFree<5%
当某资源压力过大时,kubelet 将执行 Pod 驱逐操作。此参数设置软性驱逐操作需要回收的资源的最小数量(例如:imagefs.available=2Gi)
kubelet 在驱逐压力状况解除之前的最长等待时间
响应满足软性驱逐阈值(Soft Eviction Threshold)而终止 Pod 时使用的最长宽限期(以秒为单位)。如果设置为负数,则遵循 Pod 的指定值
设置一组驱逐阈值(例如:memory.available<1.5Gi)。如果在相应的宽限期内达到该阈值,则会触发 Pod 驱逐操作
设置一组驱逐宽限期(例如,memory.available=1m30s),对应于触发软性 Pod 驱逐操作之前软性驱逐阈值所需持续的时间长短
Reserve
kubernetes 系统预留的资源配置,以一组 <资源名称>=<资源数量> 格式表示。(例如:cpu=200m,memory=500Mi,ephemeral-storage=1Gi,pid='100')。当前支持 cpu、memory 和用于根文件系统的 ephemeral-storage
设置在指定的 QoS 级别预留的 Pod 资源请求,以一组 "资源名称=百分比" 的形式进行设置,例如 memory=50%。当前仅支持内存(memory)。要求启用 QOSReserved 特性门控
用逗号分隔的一组 CPU 或 CPU 范围列表,给出为系统和 Kubernetes 保留使用的 CPU。此列表所给出的设置优先于通过 --system-reserved 和 --kube-reskube-reserved 所保留的 CPU 个数配置
以逗号分隔的 NUMA 节点内存预留列表。(例如 --reserved-memory 0:memory=1Gi,hugepages-1M=2Gi --reserved-memory 1:memory=2Gi)。每种内存类型的总和应该等于--kube-reserved、--system-reserved和--eviction-threshold
系统预留的资源配置,以一组 资源名称=资源数量 的格式表示, (例如:cpu=200m,memory=500Mi,ephemeral-storage=1Gi,pid='100')。目前仅支持 cpu 和 memory 的设置
Image
逐一拉取镜像。建议不要在 docker 守护进程版本低于 1.9 或启用了 Aufs 存储后端的节点上更改默认值
设置突发性镜像拉取的个数上限,仅在 --registry-qps 大于 0 时使用
如此值大于 0,可用来限制镜像仓库的 QPS 上限。设置为 0,表示不受限制
Other
kubelet 进程可以打开的最大文件数量
指定 kubelet 向主控节点汇报节点状态的时间间隔。注意:更改此常量时请务必谨慎, 它必须与节点控制器中的 nodeMonitorGracePeriod 一起使用
设置每个 Pod 中的最大进程数目。如果为 -1,则 kubelet 使用节点可分配的 PID 容量作为默认值
configMapAndSecretChangeDetectionStrategy 是 ConfigMap 和 Secret Manager 的运行模式。合法值包括:
Get:kubelet 从 API 服务器直接取回必要的对象;Cache:kubelet 使用 TTL 缓存来管理来自 API 服务器的对象;Watch:kubelet 使用 watch 操作来观察所关心的对象的变更
生产环境中如果存在大量使用 ConfigMap 或者 Secret 作为卷挂载到 Pod 中的场景时,Watch 策略会导致 kube-apiserver 中对应资源 Get 请求的 QPS 非常高