Requests.cpu == Limits.cpu の場合 Kubernetes OutOfcpu エラー

Requests.cpu == Limits.cpu の場合 Kubernetes OutOfcpu エラー

私は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、メモリ)を使用します。

https://github.com/kubernetes/kubernetes/issues/106884

おすすめ記事