{"id":82920,"date":"2020-05-26T13:42:37","date_gmt":"2020-05-26T11:42:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov"},"modified":"2020-05-26T13:42:37","modified_gmt":"2020-05-26T11:42:37","slug":"luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","title":{"rendered":"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Best Practices f\u00fcr Kubernetes. Erstellung kleiner Container<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Best Practices f\u00fcr Kubernetes. Organisation von Kubernetes mit Namespaces<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Best Practices f\u00fcr Kubernetes. \u00dcberpr\u00fcfung der Betriebsf\u00e4higkeit von Kubernetes mit Readiness- und Liveness-Tests<\/a><\/noindex><\/p>\n<p>F\u00fcr jede Kubernetes-Ressource besteht die M\u00f6glichkeit, zwei Arten von Anforderungen zu konfigurieren \u2013 Requests und Limits. Die erste beschreibt die minimalen Anforderungen an verf\u00fcgbare Ressourcen eines Knotens, die zum Starten eines Containers oder Pods erforderlich sind, w\u00e4hrend die zweite strikt die Ressourcen begrenzt, die dem Container zur Verf\u00fcgung stehen. <\/p>\n<p>Wenn Kubernetes einen Pod plant, ist es entscheidend, dass die Container gen\u00fcgend Ressourcen f\u00fcr einen reibungslosen Betrieb haben. Wenn Sie beabsichtigen, eine gro\u00dfe Anwendung auf einem Knoten mit begrenzten Ressourcen bereitzustellen, k\u00f6nnte es gut sein, dass sie aufgrund mangelndem Arbeitsspeicher oder unzureichender CPU-Leistung nicht funktioniert. In diesem Artikel werden wir er\u00f6rtern, wie man Probleme mit unzureichenden Computerressourcen durch Resource Requests und Limits beheben kann.<\/p>\n<p>Anfragen und Limits sind Mechanismen, die Kubernetes verwendet, um Ressourcen wie CPU und Arbeitsspeicher zu verwalten. Anfragen stellen sicher, dass ein Container die angeforderten Ressourcen garantiert erh\u00e4lt. Wenn ein Container Ressourcen anfordert, plant Kubernetes ihn nur auf einem Knoten, der diese bereitstellen kann. Limits kontrollieren, dass die vom Container angeforderten Ressourcen niemals einen bestimmten Wert \u00fcberschreiten.<\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/047fc1c3dddef1f33be78616ad70d62f.png\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ein Container kann seine Rechenleistung nur bis zu einem bestimmten Limit erh\u00f6hen, danach wird er eingeschr\u00e4nkt. Lassen Sie uns sehen, wie das funktioniert. Es gibt also zwei Ressourcenarten \u2013 CPU und Arbeitsspeicher. Der Kubernetes-Planer nutzt Daten \u00fcber diese Ressourcen, um zu entscheiden, wo Ihre Pods gestartet werden sollen. Eine typische Ressourcenspezifikation f\u00fcr einen Pod sieht so aus.<\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/84f1212f7098d25273217d4218d661f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJeder Container in einem Pod kann eigene Ressourcenanforderungen und -beschr\u00e4nkungen festlegen, die additiv sind. Die CPU-Ressourcen werden in Millikernen angegeben. Wenn Ihr Container zwei volle Kerne ben\u00f6tigt, setzen Sie den Wert auf 2000m. Wenn der Container jedoch nur ein Viertel eines Kerns ben\u00f6tigt, betr\u00e4gt der Wert 250m. Beachten Sie, dass Ihr Pod nicht geplant werden kann, wenn Sie einen CPU-Wert zuweisen, der h\u00f6her ist als die Anzahl der Kerne des gr\u00f6\u00dften Knotens. Das gleiche passiert, wenn Sie einen Pod haben, der vier Kerne ben\u00f6tigt, und der Kubernetes-Cluster besteht nur aus zwei virtuellen Maschinen.<\/p>\n<p>Es sei denn, Ihre Anwendung wurde speziell f\u00fcr die Nutzung mehrerer Kerne entwickelt (denken Sie an Programme wie komplexe wissenschaftliche Berechnungen und Datenbankoperationen), ist es am besten, die CPU-Anforderungen auf 1 oder weniger festzulegen und dann eine gr\u00f6\u00dfere Anzahl von Replikaten zur Skalierung auszuf\u00fchren. Diese L\u00f6sung verleiht dem System mehr Flexibilit\u00e4t und Zuverl\u00e4ssigkeit.<\/p>\n<p>Wenn es um CPU-Beschr\u00e4nkungen geht, wird es interessanter, da sie als komprimierbare Ressource gelten. Wenn Ihre Anwendung ann\u00e4hernd an die CPU-Leistungslimits kommt, beginnt Kubernetes, Ihren Container durch CPU-Throttling zu drosseln \u2013 das bedeutet eine Reduzierung der Prozessorfrequenz. Das bedeutet, dass der Prozessor k\u00fcnstlich limitiert wird, was zu einer potenziell schlechteren Leistung Ihrer Anwendung f\u00fchren kann, aber der Prozess wird nicht angehalten oder beendet. <\/p>\n<p>Speicherressourcen werden in Bytes definiert. In der Regel wird der Wert in den Einstellungen in Mebibyte (Mib) angegeben, Sie k\u00f6nnen jedoch jeden Wert von Bytes bis Petabytes festlegen. Hier gilt dasselbe wie f\u00fcr die CPU \u2013 wenn Sie eine Anfrage f\u00fcr eine Menge an Speicher stellen, die das verf\u00fcgbare Ged\u00e4chtnis Ihrer Knoten \u00fcberschreitet, wird die Ausf\u00fchrung dieses Pods nicht geplant. Im Gegensatz zu CPU-Ressourcen wird der Speicher jedoch nicht komprimiert, da es keine M\u00f6glichkeit gibt, seine Nutzung einzuschr\u00e4nken. Daher wird die Ausf\u00fchrung des Containers gestoppt, sobald er die ihm zugewiesene Speichermenge \u00fcberschreitet.<\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/a2b372ad9de7e065b435dae87ee62708.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs ist wichtig zu beachten, dass Sie keine Anfragen konfigurieren k\u00f6nnen, die die Gr\u00f6\u00dfe der Ressourcen \u00fcberschreiten, die Ihre Knoten bereitstellen k\u00f6nnen. Die Spezifikationen der gemeinsamen Ressourcen f\u00fcr GKE-VMs finden Sie unter den Links, die unter diesem Video bereitgestellt sind.<\/p>\n<p>In einer idealen Welt w\u00e4ren die standardm\u00e4\u00dfigen Container-Einstellungen v\u00f6llig ausreichend, damit die Workflows reibungslos ablaufen. Doch die Realit\u00e4t sieht anders aus; Menschen k\u00f6nnen leicht vergessen, die Ressourcennutzung zu konfigurieren, oder Hacker setzen Anfragen und Einschr\u00e4nkungen, die die tats\u00e4chlichen M\u00f6glichkeiten der Infrastruktur \u00fcberschreiten. Um solche Szenarien zu verhindern, k\u00f6nnen Sie Ressourcenkontingente (ResourceQuota) und Einschr\u00e4nkungsbereiche (LimitRange) festlegen.<\/p>\n<p>Nach der Erstellung von Namespaces k\u00f6nnen diese mit Kontingenten gesperrt werden. Wenn Sie beispielsweise die Namespaces prod und dev haben, wird ein Muster verwendet, bei dem keine Kontingente f\u00fcr die Produktion vorhanden sind, w\u00e4hrend die Kontingente f\u00fcr die Entwicklung sehr streng sind. Dies erm\u00f6glicht es prod, im Falle eines pl\u00f6tzlichen Anstiegs des Verkehrs alle verf\u00fcgbaren Ressourcen zu beanspruchen und dev vollst\u00e4ndig zu blockieren.<\/p>\n<p>Das Ressourcenquota k\u00f6nnte folgenderma\u00dfen aussehen. In diesem Beispiel gibt es 4 Abschnitte \u2013 das sind die 4 unteren Codezeilen.<\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/569f4ddde6ad46c707e91cc05947fc6b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSchauen wir uns jeden einzelnen an. Requests.cpu ist die maximale Anzahl kombinierter Anfragen an die Prozessorleistung, die von allen Containern im Namensraum erfolgen k\u00f6nnen. In diesem Beispiel k\u00f6nnten Sie 50 Container mit je 10m Anfragen haben, f\u00fcnf Container mit je 100m Anfragen oder einfach einen Container mit einer Anfrage von 500m. Solange die gesamte Anzahl der requests.cpu f\u00fcr diesen Namensraum unter 500m bleibt, ist alles in Ordnung.<\/p>\n<p>Die angeforderte Speicherkapazit\u00e4t requests.memory ist die maximale Summe der gespeicherten Anfragen, die alle Container im Namensraum haben k\u00f6nnen. Wie im vorherigen Fall k\u00f6nnten Sie 50 Container mit je 2 MiB, f\u00fcnf Container mit je 20 MiB oder einen einzigen Container mit 100 MiB haben, solange die gesamte angeforderte Speicherkapazit\u00e4t im Namensraum unter 100 Mebibyte bleibt.<\/p>\n<p>Limits.cpu ist der maximal kombinierte Wert der Prozessorleistung, die alle Container im Namensraum nutzen k\u00f6nnen. Man kann dies als die Obergrenze f\u00fcr CPU-Anfragen betrachten.<\/p>\n<p>Limits.memory ist schlie\u00dflich das maximale Gesamtvolumen an Arbeitsspeicher, das alle Container im Namensraum verwenden d\u00fcrfen. Dies ist die Grenze der gesamten Speichermengenanfragen.<br \/>\nStandardm\u00e4\u00dfig arbeiten Container im Kubernetes-Cluster mit unbegrenzten Rechenressourcen. Mit Hilfe von Ressourcenquoten k\u00f6nnen Clusteradministratoren den Ressourcenverbrauch und die -bereitstellung basierend auf dem Namensraum einschr\u00e4nken. Innerhalb eines Namensraums kann ein Pod oder Container so viel CPU- und Speicherleistung verbrauchen, wie durch die Ressourcenquote des Namensraums festgelegt ist. Es besteht jedoch die Sorge, dass ein Pod oder Container alle verf\u00fcgbaren Ressourcen monopolisiert. Um dies zu verhindern, wird ein Limit Range verwendet \u2013 eine Richtlinie zur Begrenzung der Ressourcenverteilung (f\u00fcr Pods oder Container) im Namensraum.<\/p>\n<p>Ein Limit Range bietet Einschr\u00e4nkungen, die Folgendes erm\u00f6glichen:<\/p>\n<ul>\n<li>Stellen Sie die minimale und maximale Auslastung der Rechenressourcen f\u00fcr jedes Modul oder jeden Container im Namensraum sicher.<\/li>\n<li>Erzwingen Sie die minimale und maximale Speicherkapazit\u00e4tsanforderung f\u00fcr jede PersistentVolumeClaim im Namensraum.<\/li>\n<li>Erzwingen Sie das Verh\u00e4ltnis zwischen Anforderung (Request) und Limit f\u00fcr Ressourcen im Namensraum.<\/li>\n<li>Legen Sie standardm\u00e4\u00dfig Anforderungen und Limits f\u00fcr Rechenressourcen im Namensraum fest und f\u00fcgen Sie diese automatisch bei der Ausf\u00fchrung in die Container ein.<\/li>\n<\/ul>\n<p>\nSo k\u00f6nnen Sie einen Limitbereich in Ihrem Namensraum erstellen. Im Gegensatz zu einer Quota, die f\u00fcr den gesamten Namensraum gilt, wird der Limit Range f\u00fcr einzelne Container verwendet. Dies kann verhindern, dass Benutzer extrem kleine oder hingegen riesige Container innerhalb des Namensraums erstellen. Ein Limit Range k\u00f6nnte folgenderma\u00dfen aussehen. <\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/3fb358788910ca21e267a887032cdf1a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie im vorherigen Fall gibt es hier 4 Bereiche. Lassen Sie uns jeden einzeln betrachten.<br \/>\nIm Abschnitt default werden Standardbeschr\u00e4nkungen f\u00fcr Container im Pod festgelegt. Wenn Sie diese Werte innerhalb des zul\u00e4ssigen Bereichs definieren, gelten f\u00fcr alle Container, f\u00fcr die diese Werte nicht ausdr\u00fccklich festgelegt wurden, die Standardwerte.<\/p>\n<p>Im Abschnitt defaultRequest werden die Standardanfragen f\u00fcr Container im Pod konfiguriert. Auch hier gilt: Wenn Sie diese Werte innerhalb des zul\u00e4ssigen Bereichs festlegen, verwenden alle Container, f\u00fcr die diese Parameter nicht explizit definiert sind, die Standardwerte.<\/p>\n<p>Im Abschnitt max sind die maximalen Grenzen aufgef\u00fchrt, die f\u00fcr Container im Pod festgelegt werden k\u00f6nnen. Die Werte im Abschnitt default und die Begrenzungen f\u00fcr Container d\u00fcrfen nicht \u00fcber diesem Limit liegen. Es ist wichtig zu beachten, dass, wenn ein max-Wert festgelegt wird und der Abschnitt default fehlt, der max-Wert zum Standardwert wird.<\/p>\n<p>Im Abschnitt min sind die minimalen Anfragen aufgef\u00fchrt, die f\u00fcr Container im Pod festgelegt werden k\u00f6nnen. Die Werte im Abschnitt default und die Anfragen f\u00fcr Container d\u00fcrfen dabei nicht unter diesem Limit liegen.<\/p>\n<p>Es ist wichtig zu beachten, dass, wenn dieser Wert gesetzt ist und der Standardwert auf 'nein' steht, der minimale Wert zur Standardanforderung wird.<\/p>\n<p>Diese Ressourcenanforderungen werden vom Kubernetes-Planer verwendet, um Ihre Workloads auszuf\u00fchren. Um Ihre Container richtig zu konfigurieren, ist es entscheidend zu verstehen, wie dies funktioniert. Angenommen, Sie m\u00f6chten mehrere Pods in Ihrem Cluster starten. Wenn die Pod-Spezifikationen g\u00fcltig sind, wird Kubernetes eine Round-Robin-Balancierung verwenden, um einen Knoten zur Ausf\u00fchrung der Arbeitslast auszuw\u00e4hlen.<\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/29abd097fc0158dfbb585c4617036ccf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes pr\u00fcft, ob Node 1 \u00fcber gen\u00fcgend Ressourcen verf\u00fcgt, um die Containeranforderungen des Pods zu erf\u00fcllen, und wenn nicht, wechselt es zum n\u00e4chsten Knoten. Sollte kein Knoten im System die Anforderungen erf\u00fcllen k\u00f6nnen, wechseln die Pods in den Zustand 'Pending'. Mit Funktionen wie der automatischen Skalierung von Knoten im Google Kubernetes Engine kann GKE den Pending-Zustand automatisch erkennen und zus\u00e4tzliche Knoten erstellen. <\/p>\n<p>Sollte sp\u00e4ter ein \u00dcberangebot an Knotenkapazit\u00e4t entstehen, wird die Auto-Scaling-Funktion deren Anzahl verringern, um Kosten zu sparen. Deshalb plant Kubernetes Pods basierend auf den Anfragen. Es kann jedoch vorkommen, dass das Limit h\u00f6her ist als die Anfragen, sodass ein Knoten unter Umst\u00e4nden tats\u00e4chlich Ressourcen ersch\u00f6pfen kann. Wir nennen diesen Zustand Overcommitment-Zustand.<\/p>\n<p><img decoding=\"async\" alt=\"Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen\" src=\"\/wp-content\/uploads\/2020\/05\/995c906880f09734c4765519f1f2465d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie bereits erw\u00e4hnt, wird Kubernetes, wenn es um die CPU geht, beginnen, Pods zu drosseln. Jeder Pod erh\u00e4lt die Menge, die er angefragt hat, aber wenn er das Limit nicht erreicht, wird eine Drosselung wirksam. <\/p>\n<p>Hinsichtlich der Ressourcenverwendung von Speicher muss Kubernetes Entscheidungen dar\u00fcber treffen, welche Pods entfernt und welche beibehalten werden, bis Sie systemische Ressourcen freigeben, sonst k\u00f6nnte das gesamte System zusammenbrechen.<\/p>\n<p>Stellen wir uns ein Szenario vor, in dem Sie eine Maschine haben, die ihr Speicherkontingent ersch\u00f6pft hat \u2013 wie wird Kubernetes in diesem Fall reagieren? <\/p>\n<p>Kubernetes sucht nach Pods, die mehr Ressourcen verbrauchen, als angefordert. Wenn Ihre Container \u00fcberhaupt keine Requests haben, bedeutet das, dass sie standardm\u00e4\u00dfig mehr verwenden, als sie angefordert haben, einfach weil sie \u00fcberhaupt nichts angefordert haben! Solche Container sind die Hauptkandidaten f\u00fcr eine Abschaltung. Die n\u00e4chsten Kandidaten sind Container, die alle ihre Anforderungen erf\u00fcllt haben, aber noch unter dem maximalen Limit liegen. <\/p>\n<p>Wenn Kubernetes mehrere Pods findet, die ihre Anforderungsparameter \u00fcberschritten haben, sortiert es sie nach Priorit\u00e4t und l\u00f6scht die Module mit der niedrigsten Priorit\u00e4t. Wenn alle Module die gleiche Priorit\u00e4t haben, stoppt Kubernetes die Pods, die ihre Anforderungen mehr \u00fcberschreiten als die anderen Pods. <\/p>\n<p>In sehr seltenen F\u00e4llen kann Kubernetes auch Pods beenden, die sich innerhalb ihrer Anforderungen befinden. Dies kann geschehen, wenn kritische Systemkomponenten wie der Kubelet-Agent oder Docker mehr Ressourcen verbrauchen, als f\u00fcr sie reserviert wurden. <br \/>\nIn den Anfangsphasen von kleinen Unternehmen kann ein Kubernetes-Cluster hervorragend ohne die Festlegung von Ressourcenanforderungen und -grenzen funktionieren. Doch wenn Ihre Teams und Projekte wachsen, k\u00f6nnte es sein, dass Sie in diesem Bereich auf Probleme sto\u00dfen. Das Hinzuf\u00fcgen von Anforderungen und Grenzen zu Ihren Modulen und Namensr\u00e4umen erfordert nur geringf\u00fcgige zus\u00e4tzliche Anstrengungen und kann Ihnen viele Kopfschmerzen ersparen.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\"> Best Practices f\u00fcr Kubernetes. Richtiges Beenden von Terminate<\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"mxEvAPQRwhw\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/mxEvAPQRwhw\/hqdefault.jpg\" alt=\"Video abspielen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h3>Ein wenig Werbung \ud83d\ude42<\/h3>\n<p>\nDanke, dass Sie bei uns bleiben. Gefallen Ihnen unsere Artikel? M\u00f6chten Sie mehr interessante Inhalte sehen? Unterst\u00fctzen Sie uns, indem Sie eine Bestellung aufgeben oder uns Ihren Freunden empfehlen. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">Cloud-VPS f\u00fcr Entwickler ab 4,99 $<\/a><\/noindex>, <b>eine einzigartige Alternative zu Einsteiger-Servern, die wir f\u00fcr Sie entwickelt haben:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Alles \u00fcber VPS (KVM) E5-2697 v3 (6 Kerne) 10GB DDR4 480GB SSD 1Gbps ab 19 $ oder wie man einen Server richtig teilt?<\/a><\/noindex> (Verf\u00fcgbar sind Optionen mit RAID1 und RAID10, bis zu 24 Kerne und bis zu 40GB DDR4).<\/p>\n<p><b>Dell R730xd im Equinix Tier IV Rechenzentrum in Amsterdam zum halben Preis?<\/b> Nur bei uns <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TB ab 199 $<\/a><\/noindex> in den Niederlanden! <b>Dell R420 \u2014 2x E5-2430 2.2GHz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 ab 99 $!<\/b><\/b> Lesen Sie dar\u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Wie man eine Unternehmenskosten-Infrastruktur mit Dell R730xd E5-2650 v4-Servern f\u00fcr ein paar Euro aufbaut?<\/a><\/noindex><br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Kubernetes \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 Requests \u0438 Limits. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82921,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82920","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Kubernetes \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 Requests \u0438 Limits. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Kubernetes \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 Requests \u0438 Limits. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-26T11:42:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Best Practices f\u00fcr Kubernetes. Konfiguration von Ressourcenanforderungen und -grenzen | ProHoster","description":"Best Practices f\u00fcr Kubernetes. Erstellen kleiner Container Best Practices f\u00fcr Kubernetes. Organisieren von Kubernetes mit Namensr\u00e4umen Best Practices f\u00fcr Kubernetes. \u00dcberpr\u00fcfung der Lebensf\u00e4higkeit von Kubernetes durch Readiness- und Liveness-Tests. F\u00fcr jede Kubernetes-Ressource k\u00f6nnen zwei Arten von Anforderungen konfiguriert werden \u2013 Requests und Limits. Ersteres beschreibt die minimalen Anforderungen an verf\u00fcgbare Ressourcen eines Knotens, die f\u00fcr den Start eines Containers oder Pods erforderlich sind.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043b\u0438\u043c\u0438\u0442\u043e\u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 | ProHoster","og:description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f Kubernetes \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438\u043c\u0435\u043d \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0436\u0438\u0437\u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0441\u0442\u043e\u0432 Readiness \u0438 Liveness \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430 Kubernetes \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u2014 Requests \u0438 Limits. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430,","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-26T11:42:37+00:00","article:modified_time":"2020-05-26T11:42:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82920","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:28:37","updated":"2022-09-28 05:48:38"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/82920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=82920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/82920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/82921"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=82920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=82920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=82920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}