{"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\/nl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","title":{"rendered":"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Beste Kubernetes-praktijken. Het cre\u00ebren van kleine containers<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Beste Kubernetes-praktijken. Organisatie van Kubernetes met namespaces<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Beste Kubernetes-praktijken. Het testen van de levensvatbaarheid van Kubernetes met Readiness- en Liveness-tests<\/a><\/noindex><\/p>\n<p>Voor elke Kubernetes-resource is het mogelijk om twee soorten vereisten in te stellen \u2014 Requests en Limits. De eerste beschrijft de minimale vereisten voor beschikbare knooppuntbronnen die nodig zijn voor het starten van een container of pod, de tweede beperkt strikt de middelen die beschikbaar zijn voor de container. <\/p>\n<p>Wanneer Kubernetes een pod plant, is het van cruciaal belang dat de containers voldoende bronnen hebben voor een normale werking. Als je van plan bent een grote applicatie op een knooppunt met beperkte middelen in te zetten, is het heel goed mogelijk dat deze niet werkt omdat het knooppunt geen geheugen meer heeft of niet genoeg verwerkingskracht heeft. In dit artikel bespreken we hoe je problemen met een tekort aan computerkracht kunt oplossen met behulp van resource-aanvragen en beperkingen.<\/p>\n<p>Requests en Limits zijn mechanismen die Kubernetes gebruikt om middelen zoals CPU en geheugen te beheren. Requests zijn datgene waardoor de container gegarandeerd de aangevraagde bron ontvangt. Als een container een bron aanvraagt, plant Kubernetes deze alleen op de knooppunt dat in staat is om deze te leveren. Limits controleren dat de resources die door de container worden aangevraagd, nooit boven een bepaalde waarde uitkomen.<\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" 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>Een container kan zijn rekenkracht alleen tot een bepaald niveau verhogen, waarna deze beperkt zal worden. Laten we eens kijken hoe dit werkt. Er zijn dus twee soorten middelen \u2014 CPU en geheugen. De Kubernetes-scheduler gebruikt gegevens over deze middelen om te bepalen waar je pods moeten worden uitgevoerd. Een typische specificatie van middelen voor een pod ziet er als volgt uit.<\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" src=\"\/wp-content\/uploads\/2020\/05\/84f1212f7098d25273217d4218d661f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nElke container in een pod kan zijn eigen verzoeken en beperkingen instellen, en dit is allemaal optioneel. De CPU-hulpmiddelen worden gedefinieerd in milli-cores. Als uw container twee volledige kernen nodig heeft om te draaien, stelt u de waarde in op 2000m. Als de container echter slechts 1\/4 kern nodig heeft, is de waarde 250m. Houd er rekening mee dat als u een waarde voor CPU-hulpmiddelen toewijst die hoger is dan het aantal kernen van de grootste knoop, uw pod helemaal niet zal worden gepland. Een soortgelijke situatie doet zich voor als u een pod heeft die vier kernen nodig heeft, terwijl uw Kubernetes-cluster slechts uit twee fysieke virtuele machines bestaat.<\/p>\n<p>Tenzij uw applicatie speciaal is ontwikkeld om de voordelen van meerdere kernen te benutten (denk hierbij aan programma's zoals complexe wetenschappelijke berekeningen en databasebewerkingen), is het beste om de CPU Requests in te stellen op 1 of minder, gevolgd door het draaien van meer replica's voor schaalbaarheid. Deze benadering geeft het systeem meer flexibiliteit en betrouwbaarheid.<\/p>\n<p>Wat betreft CPU-limieten wordt het interessanter, omdat het als een samendrukbaar hulpbron wordt beschouwd. Als uw applicatie dichtbij de limiet van de CPU-kracht komt, begint Kubernetes uw container af te remmen door CPU Throttling toe te passen \u2014 dit vermindert de kloksnelheid van de CPU. Dit betekent dat de CPU kunstmatig wordt beperkt, waardoor de applicatie mogelijk slechter presteert, maar het proces zal niet worden stopgezet of be\u00ebindigd. <\/p>\n<p>Geheugeneisen worden in bytes gedefinieerd. Gewoonlijk wordt de waarde in instellingen gemeten in mebibytes (MiB), maar u kunt elke waarde opgeven, van bytes tot petabytes. Hier geldt hetzelfde als voor CPU \u2014 als u een geheugenvraag indient die groter is dan de beschikbare geheugencapaciteit op uw knopen, zal de uitvoering van deze pod niet worden gepland. Maar in tegenstelling tot CPU-hulpmiddelen kan geheugengebruik niet worden ingedamd, omdat er geen manier is om het gebruik ervan te beperken. Daarom zal de uitvoering van de container worden stopgezet zodra deze de aan hem toegewezen geheugengrens overschrijdt.<\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" src=\"\/wp-content\/uploads\/2020\/05\/a2b372ad9de7e065b435dae87ee62708.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHet is belangrijk om te onthouden dat je geen aanvragen kunt configureren die de hoeveelheid resources overschrijden die jouw nodes kunnen bieden. De specificaties van gedeelde resources voor GKE virtuele machines zijn te vinden via de links onder deze video.<\/p>\n<p>In een ideale wereld zouden de standaard containerinstellingen voldoende zijn om workflows soepel te laten verlopen. Maar de echte wereld is niet zo; mensen vergeten gemakkelijk het gebruik van resources te configureren of hackers kunnen aanvragen en beperkingen instellen die de werkelijke capaciteiten van de infrastructuur overschrijden. Om de ontwikkeling van dergelijke scenario's te voorkomen, kunnen resourcequota's in ResourceQuota en grenswaarden in LimitRange worden ingesteld.<\/p>\n<p>Na het aanmaken van namespaces kunnen ze worden geblokkeerd met quota's. Bijvoorbeeld, als je namespaces prod en dev hebt, kan een sjabloon worden gebruikt waarbij er helemaal geen quota's voor productie zijn, terwijl de quota's voor ontwikkeling zeer streng zijn. Dit stelt prod in staat om bij een plotselinge toename van het verkeer alle beschikbare resources te gebruiken, waardoor dev volledig geblokkeerd wordt.<\/p>\n<p>Een resourcequota kan er als volgt uitzien. In dit voorbeeld zijn er 4 secties - dat zijn de 4 onderste regels code.<\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" src=\"\/wp-content\/uploads\/2020\/05\/569f4ddde6ad46c707e91cc05947fc6b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLaten we elk van hen bekijken. Requests.cpu is de maximale hoeveelheid gecombineerde aanvragen voor CPU-kracht die kunnen komen van alle containers in de namespace. In dit voorbeeld kunnen er 50 containers zijn met aanvragen van 10m, vijf containers met aanvragen van 100m of gewoon \u00e9\u00e9n container met een aanvraag van 500m. Zolang het totale aantal requests.cpu voor deze namespace minder is dan 500m, is alles in orde.<\/p>\n<p>De aangevraagde geheugen requests.memory is de maximale hoeveelheid gecombineerde geheugenaanvragen die alle containers in de namespace kunnen hebben. Zoals in het vorige geval, kun je 50 containers van 2 MiB hebben, vijf containers van 20 MiB of een enkele container van 100 MiB zolang het totale aantal aangevraagd geheugen in de namespace minder dan 100 mebibyte is.<\/p>\n<p>Limits.cpu is de maximale gecombineerde waarde van CPU-kracht die alle containers in de namespace kunnen gebruiken. Dit kan worden gezien als de limiet voor CPU-aanvragen.<\/p>\n<p>Ten slotte is limits.memory het maximale totale geheugen dat door alle containers in de namespace kan worden gebruikt. Dit is de grens voor het totale geheugengebruik.<br \/>\nStandaard hebben containers in een Kubernetes-cluster onbeperkte rekenkracht. Met behulp van resourcequota's kunnen clusterbeheerders het verbruik en de creatie van middelen op basis van de namespace beperken. In de namespace kan een pod- of containermodule zoveel CPU-macht en geheugen verbruiken als is gedefinieerd in de resourcequota's. Er is echter bezorgdheid dat een enkele pod of container alle beschikbare resources kan monopoliseren. Om deze situatie te voorkomen, wordt het limietbereik Limit Range gebruikt \u2013 een beleid voor het beperken van de verdeling van resources (voor pods of containers) in de namespace.<\/p>\n<p>Het limietbereik biedt beperkingen die kunnen:<\/p>\n<ul>\n<li>een minimum- en maximumgebruik van rekenkracht voor elke module of container in de namespace garanderen;<\/li>\n<li>geforceerd een minimum- en maximumopslagverzoek Storage Request voor elke PersistentVolumeClaim in de namespace toepassen;<\/li>\n<li>geforceerd een verhouding tussen aanvraag Request en limiet Limit voor de resource in de namespace instellen;<\/li>\n<li>standaard Requests\/Limits voor rekenkracht in de namespace instellen en deze automatisch in containers invoeren tijdens uitvoering.<\/li>\n<\/ul>\n<p>\nZo kunt u een limietbereik in uw namespace aanmaken. In tegenstelling tot quota, die voor de hele namespace gelden, wordt Limit Range gebruikt voor individuele containers. Dit kan het cre\u00ebren van uiterst kleine of juist enorme containers door gebruikers binnen de namespace voorkomen. Een limietbereik Limit Range kan er als volgt uitzien. <\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" src=\"\/wp-content\/uploads\/2020\/05\/3fb358788910ca21e267a887032cdf1a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNet als in het vorige geval zijn hier 4 secties te onderscheiden. Laten we elk van deze bekijken.<br \/>\nIn de sectie default worden de standaardbeperkingen voor de container in de pod ingesteld. Als u deze waarden in het limietbereik instelt, zullen alle containers waarvoor deze waarden niet expliciet zijn ingesteld, worden geregeld door de standaardwaarden.<\/p>\n<p>In de sectie standaardverzoek defaultRequest zijn de standaardverzoeken voor de container in de pod ingesteld. Nogmaals, als u deze waarden binnen het limietbereik instelt, zullen alle containers waarvoor deze parameters niet expliciet zijn ingesteld, deze standaardwaarden gebruiken.<\/p>\n<p>In de sectie max worden de maximale limieten opgegeven die voor de container in de pod kunnen worden ingesteld. De waarden in de sectie default en de limieten voor de container kunnen niet boven deze grens worden ingesteld. Het is belangrijk op te merken dat als er een max-waarde is ingesteld en de sectie default ontbreekt, de maximale waarde de standaardwaarde wordt.<\/p>\n<p>In de sectie min worden de minimale verzoeken opgegeven die voor de container in de pod kunnen worden ingesteld. De waarden in de sectie default en de verzoeken voor de container kunnen niet onder deze grens worden ingesteld.<\/p>\n<p>Het is opnieuw belangrijk op te merken dat als deze waarde is ingesteld en de default-waarde niet, de minimale waarde de standaardverzoekwaarde wordt.<\/p>\n<p>Uiteindelijk worden deze resourceverzoeken door de Kubernetes-scheduler gebruikt voor het uitvoeren van uw workloads. Om uw containers correct in te stellen, is het zeer belangrijk om te begrijpen hoe dit werkt. Stel dat u verschillende modules in uw cluster wilt draaien. Aangenomen dat de pod-specificaties geldig zijn, zal de Kubernetes-scheduler cyclische belastingverdeling gebruiken om een knooppunt te kiezen voor het uitvoeren van de workload.<\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" src=\"\/wp-content\/uploads\/2020\/05\/29abd097fc0158dfbb585c4617036ccf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes zal controleren of er voldoende resources zijn op knooppunt Node 1 om de verzoeken van de container in de pod uit te voeren, en als dat niet zo is, gaat het naar het volgende knooppunt. Als geen van de knooppunten in het systeem aan de verzoeken kan voldoen, zullen de pods in de Pending state terechtkomen. Met functies zoals automatische schaalvergroting van knooppunten in Google Kubernetes Engine kan GKE automatisch de status Pending detecteren en enkele aanvullende knooppunten maken. <\/p>\n<p>Als er later overcapaciteit van knooppunten ontstaat, zal de autoscalingfunctie het aantal verminderen om u geld te besparen. Daarom plant Kubernetes pods op basis van verzoeken. Het is echter mogelijk dat de limiet hoger is dan de verzoeken, en in sommige gevallen kan een knooppunt daadwerkelijk zijn resources uitgeput raken. We noemen deze toestand overcommitment state.<\/p>\n<p><img decoding=\"async\" alt=\"Beste praktijken voor Kubernetes. Instellen van verzoeken en resource-limieten.\" src=\"\/wp-content\/uploads\/2020\/05\/995c906880f09734c4765519f1f2465d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZoals ik al zei, als het om de processor gaat, gaat Kubernetes beginnen met het limiteren van pods. Elke pod krijgt zoveel als hij vraagt, maar als hij niet de limiet bereikt, zal throttling worden toegepast. <\/p>\n<p>Wat betreft geheugbronnen, is Kubernetes genoodzaakt beslissingen te nemen over welke pods te verwijderen en welke te behouden, totdat je systeembronnen vrijmaakt, anders zal het gehele systeem instorten.<\/p>\n<p>Laten we ons een scenario voorstellen waarin je een machine hebt die de geheuglimiet heeft bereikt \u2013 hoe zal Kubernetes hierop reageren? <\/p>\n<p>Kubernetes zal zoeken naar pods die meer middelen gebruiken dan ze hebben aangevraagd. Dus als je containers helemaal geen requests hebben, betekent dit dat ze in feite meer gebruiken dan ze vroegen, gewoon omdat ze helemaal niets hebben aangevraagd! Dergelijke containers zijn de belangrijkste kandidaten voor uitschakeling. De volgende kandidaten zijn containers die al hun aanvragen hebben vervuld, maar nog steeds onder de maximale limiet blijven. <\/p>\n<p>Dus als Kubernetes meerdere pods vindt die hun aanvraagparameters hebben overschreden, zal het ze op prioriteit sorteren en vervolgens de laagste prioriteitsmodules verwijderen. Als alle modules dezelfde prioriteit hebben, zal Kubernetes de pods uitschakelen die hun aanvragen meer hebben overschreden dan de andere pods. <\/p>\n<p>In zeer zeldzame gevallen kan Kubernetes pods be\u00ebindigen die nog steeds binnen hun aanvragen vallen. Dit kan gebeuren wanneer kritische systeemcomponenten, zoals de Kubelet-agent of Docker, meer middelen beginnen te verbruiken dan voor hen gereserveerd was. <br \/>\nDus in de beginfase van kleine bedrijven kan een Kubernetes-cluster prima werken zonder resource-aanvragen en -limieten, maar naarmate je teams en projecten groter worden, loop je het risico problemen op dit gebied tegen te komen. Het toevoegen van aanvragen en limieten aan je modules en namespaces vereist slechts een beetje extra inspanning en kan veel problemen voorkomen.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\"> Best Practices for Kubernetes. Proper Shutdown 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 afspelen\" 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>Een beetje reclame \ud83d\ude42<\/h3>\n<p>\nBedankt dat je bij ons blijft. Houd je van onze artikelen? Wil je meer interessante inhoud zien? Ondersteun ons door een bestelling te plaatsen of ons aan vrienden aan te bevelen, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">cloud VPS voor ontwikkelaars vanaf $4,99<\/a><\/noindex>, <b>een unieke variant van entry-level servers, die we voor jou hebben bedacht:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">De waarheid over VPS (KVM) E5-2697 v3 (6 Kernen) 10GB DDR4 480GB SSD 1Gbps vanaf $19 of hoe deel je een server correct?<\/a><\/noindex> (opties beschikbaar met RAID1 en RAID10, tot 24 cores en tot 40GB DDR4).<\/p>\n<p><b>Dell R730xd is 2 keer goedkoper in datacenter Equinix Tier IV in Amsterdam?<\/b> Alleen bij ons <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 100TB vanaf $199<\/a><\/noindex> in Nederland! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 vanaf $99!<\/b><\/b> Lees over hoe <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">je een infrastructuur van bedrijfsniveau kunt opbouwen met Dell R730xd E5-2650 v4 servers die wel \u20ac9000 kosten voor een prikkie?<\/a><\/noindex><br \/>\n<br \/>Bron: <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 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes.\" \/>\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\/nl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/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\udd47Kubernetes Best Practices. Instellingen voor resource-aanvragen en -limieten | ProHoster","description":"Beste praktijken voor Kubernetes.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-nastrojka-zaprosov-i-limitov-resursov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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.","og:url":"https:\/\/prohoster.info\/nl\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/82920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=82920"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/82920\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/82921"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=82920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=82920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=82920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}