这些参数是 Kubernetes(K8s)中的一些配置选项,用于控制不同的行为和功能。让我逐个解释它们:
--feature-gates=RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true:- 这个参数用于启用或禁用一些实验性的功能。在这里,启用了两个功能:RotateKubeletClientCertificate 和 RotateKubeletServerCertificate。这些功能可能是用于定期轮换 Kubelet 的客户端证书和服务器证书,以增强安全性。
--image-gc-high-threshold=70:- 这个参数设置了镜像垃圾收集的高阈值。当节点上的磁盘使用率高于此阈值时,Kubernetes 将开始垃圾收集(删除不再使用的镜像)以释放空间。
--image-gc-low-threshold=60:- 这个参数设置了镜像垃圾收集的低阈值。一旦磁盘使用率下降到此阈值以下,垃圾收集过程将停止。
--kube-reserved=cpu=500m,memory=512Mi,ephemeral-storage=1Gi:- 这个参数设置了 Kubernetes 对节点上资源的保留量。具体来说,为 CPU 分配了 500 毫核(500m),内存分配了 512MB(512Mi),临时存储(ephemeral storage)分配了 1GB(1Gi)。
--system-reserved=cpu=1000m,memory=1024Mi,ephemeral-storage=1Gi:- 这个参数设置了系统对节点上资源的保留量。类似于上一个参数,为 CPU 分配了 1000 毫核(1000m),内存分配了 1024MB(1024Mi),临时存储(ephemeral storage)分配了 1GB(1Gi)。
这些参数可以根据你的集群需求进行调整,以确保系统的稳定性和性能。
控制节点上的 CPU 管理策略
1.前言
在业务中使用Kubernetes编排容器时,通常会使用到Request & Limits参数对容器进行CPU与内存的使用限制.
但是对于某些比较消耗系统资源的业务,可能需要进行资源的独占分配(以保证其运行的性能).
所以使用单一的资源限制,还不能达到pod运行的性能,所以需要进行资源独占的分配编排.
在Kubernetes 版本> v1.12中,有CPU Manager技术去实现Pod级别的绑定运行CPU.
1.1 理解CPU Manager作用
每个worker节点运行多个pod,某些Pods可能会运行高CPU负载的业务,这些高负载的pod,很有可能在当前的节点上
抢占CPU的资源,影响当前节点上其他pod的运行性能.所以采用此技术来解决这个问题.
1.2 CPU 管理策略配置
CPU 管理策略通过 kubelet 参数 --cpu-manager-policy 来指定。Kubernetes 支持两种管理策略:
none: 默认策略,表示现有的调度行为。
static: 允许为节点上的某些消耗CPU资源的pod对cpu有独占性。
CPU管理器定期通过CRI写入资源更新,以保证内存中CPU分配与cgroupfs一致.
同步频率通过新增的 Kubelet 配置参数 --cpu-manager-reconcile-period 来设置.
如果不指定,默认与 --node-status-update-frequency 的周期相同。
1.3 none策略
none 策略显式地启用现有的默认CPU亲和方式,
不提供操作系统调度器默认行为之外的亲和性策略.
通过 CFS 配额来实现 Guaranteed pods 的 CPU 使用限制.
1.4 static 策略
static 策略针对具有整数型(容器对 CPU 资源的限制值是一个大于或等于1的整数值) CPU requests的 Guaranteed Pod,
它允许该类 Pod 中的容器访问节点上的独占CPU资源.
这种独占性是使用 cpuset cgroup 控制器来实现的.




