Îmi testez aplicația pe un cluster Kubernetes bare-metal (versiunea 1.22.1) și am o problemă când îmi lansez aplicația ca Job.
Clusterul meu are două noduri (master și lucrător), dar lucrătorul este izolat. Pe nodul principal, 21 GB de memorie sunt disponibile pentru aplicație.
Am încercat să-mi lansez aplicația ca trei joburi diferite în același timp. Deoarece am setat 16 GB de memorie atât ca cerere de resursă, cât și ca limită, doar un singur Job a fost pornit, iar restul de două sunt într-o stare În așteptare. Am setat backoffLimit: 0 la Jobs.
STAREA NUMELE GATA REINCEPE VARSTA
app1--1-8pp6l 0/1 În așteptare 0 42s
app2--1-42ssl 0/1 În așteptare 0 45s
app3--1-gxgwr 0/1 Rulează 0 46s
După finalizarea primului Pod, ar trebui pornit doar unul dintre cele două Pod-uri aflate în starea În așteptare. Cu toate acestea, unul a fost pornit, iar celălalt era într-o stare OutOfMemory, chiar dacă niciun container nu a fost pornit în Pod.
STAREA NUMELE GATA REINCEPE VARSTA
app1--1-8pp6l 0/1 Running 0 90s
app2--1-42ssl 0/1 OutOfmemory 0 93s
app3--1-gxgwr 0/1 Finalizat 0 94s
Evenimentele OutOfMemory Pod sunt după cum urmează:
Evenimente:
Introduceți Motivul Vârsta din mesaj
---- ------ ---- ---- -------
Avertisment eșuatScheduling 3m41s (x2 peste 5m2s) 0/2 noduri implicite de planificare sunt disponibile: 1 memorie insuficientă, 1 nod(e) au fost neprogramate.
Normal programat 3m38s programator implicit Test/app2--1-42ssl atribuit cu succes master
Avertisment OutOfmemory 3m38s Nodul kubelet nu a avut resurse suficiente: memorie, solicitat: 16000000000, folosit: 31946743808, capacitate: 37634150400
Se pare că Pod-ul este alocat nodului, chiar dacă nu există suficient spațiu pentru el, deoarece celălalt Pod tocmai a fost pornit.
Bănuiesc că acesta nu este un comportament așteptat al Kubernetes, știe cineva cauza acestei probleme?