Puncte:1

Există o „alocare inițială de memorie” diferită de „limită” din Openshift/Kubernetes?

drapel cn

În java, aveți spațiu minim în heap (-Xms) și spațiul heap maxim (-Xmx). Spațiul heap minim este alocat JVM-ului de la început, „spațiu heap maxim” este limita la care JVM-ul va spune „în afara spațiului heap” când ajunge la el.

Există valori atât de diferite (inițiale și limită) pentru un pod în Openshift/Kubernetes sau alocarea inițială a memoriei este întotdeauna egală cu limită dintr-un anumit motiv?

Puncte:1
drapel ng

În Kubernetes, mecanismele de control al resurselor, cum ar fi CPU și memoria sunt cereri și limite.

Cereri sunt ceea ce va avea garantat containerul. Dacă un container solicită o resursă, Kubernetes o va programa doar pe un nod care îi poate oferi acea resursă.

Limite asigurați-vă că un recipient nu depășește niciodată o anumită valoare. Containerul are voie doar să urce până la limită, iar apoi este restricționat.

În cazul în care nu specificați limita CPU:

  • Containerul poate folosi toate resursele procesorului disponibile pe nodul pe care rulează - deoarece nu are nicio limită superioară a resurselor CPU pe care le poate folosi.
  • Containerului i se atribuie automat limita implicită atunci când rulează într-un spațiu de nume care are o limită implicită a CPU. Dacă este nevoie de schimbare, se poate folosi LimitRange.

În situația în care ați specificat o limită CPU, dar cererea CPU nu este specificată, Kubernetes atribuie automat o solicitare CPU care se potrivește cu limita.

Pentru a afla mai multe vezi această documentație și Acest articol.

Tristan avatar
drapel cn
Dar am citit că dacă memoria solicitărilor nu este folosită, este disponibilă pentru alte containere.
kkopczak avatar
drapel ng
În [această documentație](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) se poate găsi: „Dacă un Container își specifică propria limită de memorie, dar nu specifică o solicitare de memorie, Kubernetes atribuie automat o solicitare de memorie care se potrivește cu limita.”
kkopczak avatar
drapel ng
Dar [acest articol](https://www.papertrail.com/solution/tips/kubernetes-logging-tips-to-avoid-memory-and-resource-issues/) ar trebui să vă răspundă la întrebare. „Fără solicitări și limite stabilite, podurile vor fi gestionate pur și simplu pe principiul primul venit, primul servit. Kubernetes va încerca să distribuie RAM între toate podurile care rulează în mod egal, dar dacă un pod încearcă să aloce din ce în ce mai multă memorie, Kubernetes ar putea să dea lovitura. scoateți alte poduri din nod pentru a satisface cererea. Nu există nimic care să împiedice podurile să consume toată memoria liberă de pe nod."
Tristan avatar
drapel cn
Ei bine, nu răspunde la întrebare, să luăm doar un caz de utilizare. Nodul meu este 2 Go, am 2 pod care „cere” câte 1 Go fiecare, dar consumă doar 300 Mo fiecare. Un al treilea pod să refolosească memoria nefolosită?
kkopczak avatar
drapel ng
Scuze pentru mult timp pentru răspuns. Răspunzând la întrebarea dvs. - al treilea nu poate face acest lucru. Aruncă o privire la [acest document](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#:~:text=How%20Pods%20with,in%20request%20rate.). Aici se poate citi că este imposibil din cauza necesității de protecție împotriva lipsei de resurse pe un nod în cazul în care utilizarea resurselor crește ulterior.
Tristan avatar
drapel cn
Ok, mulțumesc, documentația oferă răspunsuri perfect la cazul meu de utilizare, dar acum iată o ușoară variație: nodul este 3 Go, iar al treilea pod solicită 1 Go și limita este de 2 Go. Deci este permis să înceapă (suma de solicitări
kkopczak avatar
drapel ng
Îmi pare rău, nu vă înțeleg întrebarea. Ai putea explica asta? Sau poate luați în considerare [a pune o nouă întrebare](https://serverfault.com/help/how-to-ask)?
Tristan avatar
drapel cn
Ei bine, este doar un exemplu concret pentru a ilustra întrebarea principală: Nodul meu este 3 Go, am 2 pod care „cere” câte 1 Go fiecare, dar consumă doar 300 Mo fiecare. Acum un al treilea pod solicită 1 Go, iar limita este de 2 Go. Deci este permis să înceapă (suma de solicitări
Wytrzymały Wiktor avatar
drapel it
Salut @Tristan. Luați în considerare să descrieți acest caz de utilizare într-o întrebare separată. Ar fi mult mai accesibil și mai clar pentru restul comunității să vă ajute.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.