从这里我意识到,如果没有给容器指定CPU限制,那么它将占用命名空间级别的默认CPU限制:https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/
我的问题是,如果我们没有在命名空间级别设置默认的CPU限制(LimitRange),该怎么办?在这种情况下,容器分配了什么CPU限制?
谢谢。
答案 0 :(得分:3)
如果没有为容器指定自己的CPU请求和限制,则为LimitaRange分配默认的CPU请求和限制(如果为命名空间配置了这样的LimitRange)。
如果未为命名空间配置LimitRange,并且容器未指定其自己的CPU请求和限制,则该pod在BestEffort
QoS(服务质量)类中运行。在这种情况下,从节点的shared pool分配CPU,直至共享池中的可用CPU以及其中是否有CPU。实际上,可能没有可用的CPU,并且容器/容器可能会“饿死” CPU。
答案 1 :(得分:0)
它只会按需使用资源,您可以在kubernetes集群中使用grafana仪表板来检查pod的内存和cpu占用率。
如果节点资源不足,POD将获得状态OOM被杀死
您可以使用this舵图下载grafana
答案 2 :(得分:0)
容器将使用节点/主机系统的CPU资源。如果需要,您必须垂直扩展节点的资源。