limits, requestsとは?
Kubernetes(K8s)では,Podのデプロイ時にCPU使用量とメモリ使用量をrequests(要求量)とlimits(制限量)の2つの項目で設定することができます.
CPUは,1 (vcpu)=1000 (millicores)として定義されており100 (millicores)と設定すると1 (core)の10%が使用される.
下記はPodのCPUのrequestsを350 (millicores), limitsを600 (millicores)に設定している例です.
resources:
requests:
cpu: "350m"
limits:
cpu: "600m"
requests(要求値)
ノードでPodを起動するのに満たすべき空き資源(CPU)の値
⇒ノード空きCPUよりrequestsが小さければデプロイ可
例としてノードの空きCPU容量が350 (millicores)であった場合requestsが350であればデプロイ可能であるが容量を超えてrequestsを400 (millicores)要求してしまうと容量を超えてしまいデプロイが不可となります.
limits(制限値)
PodがCPUを使用できる量の制限値
⇒Limits>CPU使用量となる
PodのCPU Limitsの値が600 (millicores)であった場合,Podの使用量がlimtisの値を超えて700 (millicores)を使用しようとした場合limtisで設定した600 (millicores)に制限され, それ以上のCPU量を使用することが不可能となります.