Puteți seta procesorul limite si cereri.
Odată ce le-ați setat, chiar dacă limitele sunt generoase, kubelet-ul și durata de rulare a containerului lucrează împreună pentru a impune limitele CPU. Împreună cu asta, poți rezervă resurse pentru Kubernetes însuși astfel încât volumul de muncă să nu pună în pericol nodul general.
Odată ce le definiți, nucleul Linux devine responsabil pentru aplicarea limitelor și asigurarea faptului că resursele disponibile sunt alocate în mod corect.
Dacă aveți DaemonSets în cluster, asigurați-vă că și acestea au resurse și limite. Ați putea lua în considerare rularea DaemonSets ca garantat, astfel încât resursele lor să fie limitate.
Vedea Configurați calitatea serviciului pentru poduri.
Luate împreună, aceste măsuri ar trebui să vă protejeze nodurile de sarcina de lucru, permițând în același timp aplicației Pods să intre în procesorul disponibil în timpul pornirii.
Dacă descoperiți că există încă probleme, există un pas suplimentar pe care îl puteți face: amânați fiecare pornire cu o sumă aleatorie. Puteți face asta fără modificări ale aplicației, rulând o personalizare container init înainte de pornirea aplicației principale. Această întârziere întâmplătoare ajută la evitare turmă tunătoare probleme în care fiecare JVM rulează cu același model de acces la resurse în același timp.