
私はJobs
同じ数のCPUに対して制限と要求が設定されたKubernetesを実行しています。一部のタスクでは、時々OutOfcpu
エラーが表示されます。
kubectl describe pods PODNAME
次のメッセージが表示されたら:
Pod Node didn't have enough resource: cpu, requested: 8000, used: 11453, capacity: 16000
OutOfcpu
これはなぜこれが起こるのかを非常に明確にします。
しかし、私Limits.cpu == Requests.cpu == 8
。
Limits:
cpu: 8
ephemeral-storage: 500Gi
memory: 10Gi
Requests:
cpu: 8
ephemeral-storage: 300Gi
memory: 2Gi
私が理解したことによれば、PodのCPUリソースを8つに制限し、CPUリソースを使用するノードから分離する必要があります。
私は最近これを発見しました、私たちのKubernetesバージョンは最新のアップグレードである1.22.5です。
答え1
このバグについて長い間公開された質問があります。
これはk8s v 1.22で導入され、他のポッドがシャットダウンされているノードでポッドが予約されたときに発生する可能性がある競合状態のようです。シャットダウンされたポッドはスケジューラに表示されなくなりますが、まだノードのリソース(CPU、メモリ)を使用します。