云原生之深入解析如何正确计算Kubernetes容器CPU使用率

一、简介说明

  • 使用 Prometheus 配置 kubernetes 环境中 Container 的 CPU 使用率时,会经常遇到 CPU 使用超出 100%,现在来分析一下:
    • container_spec_cpu_period:当对容器进行 CPU 限制时,CFS 调度的时间窗口,又称容器 CPU 的时钟周期通常是 100000 微秒
    • container_spec_cpu_quota:是指容器的使用 CPU 时间周期总量,如果 quota 设置的是 700,000,就代表该容器可用的 CPU 时间是 7*100000 微秒,通常对应 kubernetes 的 resource.cpu.limits 的值;
    • container_spec_cpu_share:是指 container 使用分配主机 CPU 相对值,比如 share 设置的是 500m,代表窗口启动时向主机节点申请 0.5 个 CPU,也就是 50000 微秒,通常对应 kubernetes 的 resource.cpu.requests 的值;
    • container_cpu_usage_seconds_total:统计容器的 CPU 在一秒内消耗使用率,应注意的是该 container 所有的 CORE;
    • container_cpu_system_seconds_total:统计容器内核态在一秒时间内消耗的 CPU;
    • container_cpu_user_seconds_tota

你可能感兴趣的:(人工智能与云原生,云原生,CPU使用率,Kubernetes容器)