CPU单位换算:100m CPU,100 milliCPU 和 0.1 CPU 都相同;精度不能超过 1m。1000m CPU = 1 CPU。
Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、CPU和各种设备都有对应的cgroup。
默认情况下,Pod运行没有CPU和内存的限额。这意味着系统中的任何Pod将能够像执行Pod所在节点机器一样,可以消耗足够多的CPU和内存。一般会针对某些应用的Pod资源进行资源限制,这个资源限制是通过resources的requests【要分配的资源】和limits【最大使用资源】来实现的。
CPU资源限制示例
K8S 提供了 requests 和 limits 两个配置参数来定义资源的范围和额度。
requests 定义了工作负载的资源下限,是容器启动时 K8S 资源分配的默认值。
limits 定义了工作负载的资源上限,是容器运行时 K8S 资源预分配的额度。