{"id":39016,"date":"2019-10-31T22:27:21","date_gmt":"2019-10-31T19:27:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\/"},"modified":"2019-10-31T22:27:21","modified_gmt":"2019-10-31T19:27:21","slug":"7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","title":{"rendered":"7 beste praktijken voor containerbeheer volgens Google","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Opmerking vertaler.<\/b>: De auteur van het originele artikel is Th\u00e9o Chamley, cloud solutions architect bij Google. In deze blogpost voor Google Cloud presenteert hij een korte samenvatting van een gedetailleerde handleiding van zijn bedrijf, getiteld \"<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">Best Practices for Operating Containers<\/a><\/noindex>\u00bb. Hierin hebben Google-experts de beste praktijken voor het beheren van containers verzameld in de context van het gebruik van Google Kubernetes Engine en meer, met een breed scala aan onderwerpen van veiligheid tot monitoring en logging. Wat zijn volgens Google de belangrijkste praktijken bij het werken met containers?<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 beste praktijken voor containerbeheer volgens Google\" src=\"\/wp-content\/uploads\/2019\/10\/43aaa13a0fae1564ffc7f0a1fe0020b7.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\">Kubernetes Engine<\/a><\/noindex> <i>(een op Kubernetes gebaseerde service voor het uitvoeren van containerized applicaties in Google Cloud \u2014 <b>opmerking van de vertaler.<\/b>)<\/i> \u2014 is een van de beste manieren om workloads te draaien die schaling vereisen. <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes\/\">Kubernetes<\/a><\/noindex> Het zorgt voor een probleemloze werking van de meeste applicaties, mits ze containerized zijn. Maar als je wilt dat de applicatie gemakkelijk te beheren is en je wilt profiteren van alle voordelen van Kubernetes, moet je de beste praktijken volgen. Deze vergemakkelijken het beheer van de applicatie, de monitoring en debugging, en verhogen ook de veiligheid.<\/p>\n<p>In dit artikel bespreken we de lijst met wat je moet weten en doen voor een effectieve werking van containers in Kubernetes. Voor diegenen die dieper op de details willen ingaan, is het aan te raden om het materiaal <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">Best Practices for Operating Containers<\/a><\/noindex>, alsook onze <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/7-best-practices-for-building-containers\">eerder gepubliceerde post<\/a><\/noindex> over het bouwen van containers.<\/p>\n<h2>1. Gebruik de ingebouwde mechanismen van containers voor logging<\/h2>\n<p>\nAls de applicatie draait in een Kubernetes-cluster, is er niet veel nodig voor logs. Een gecentraliseerd logging systeem is waarschijnlijk al ingebouwd in het gebruikte cluster. In het geval van Kubernetes Engine is dit verantwoordelijk voor <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/\">Stackdriver Logging<\/a><\/noindex>. <i>(<b>Opmerking vertaler.<\/b>: En als je een eigen installatie van Kubernetes gebruikt, raden we onze Open Source-oplossing aan \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/loghouse\">loghouse<\/a><\/noindex>.)<\/i> Vercompliceer je leven niet en gebruik de ingebouwde logging mechanismen van containers. Schrijf logs naar stdout en stderr \u2014 ze worden automatisch ontvangen, opgeslagen en ge\u00efndexeerd.<\/p>\n<p>Indien gewenst kun je ook logs schrijven naar <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/docs\/structured-logging\">het JSON-formaat.<\/a><\/noindex>. Deze aanpak maakt het gemakkelijk om metadata toe te voegen. Samen met deze metadata komt in Stackdriver Logging de mogelijkheid om logs te doorzoeken met behulp van deze metadata.<\/p>\n<h2>2. Zorg ervoor dat containers stateless en immutable zijn<\/h2>\n<p>\nVoor een correcte werking van containers in een Kubernetes-cluster moeten ze stateless en immutable zijn. Wanneer aan deze voorwaarden is voldaan, kan Kubernetes zijn werk doen door applicatie-entities te cre\u00ebren en te vernietigen waar en wanneer dat nodig is.<\/p>\n<p><i>Stateless<\/i> betekent dat elke staat (doorlopende gegevens van welke aard dan ook) buiten de container wordt opgeslagen. Hiervoor kunnen, afhankelijk van de behoeften, verschillende soorten externe opslag worden gebruikt: <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/docs\">Cloud Storage<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/stateful-apps\">Persistent Disks<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/memorystore\/docs\/redis\/\">Redis<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/sql\/docs\/\">Cloud SQL<\/a><\/noindex> of andere beheerde databases. <i>(<b>Opmerking vertaler.<\/b>: Lees hier meer over in ons artikel \"<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/326414\/\">Operators voor Kubernetes: hoe stateful applicaties te draaien<\/a><\/noindex>\u00bb.)<\/i><\/p>\n<p><i>Immutable<\/i> betekent dat de container tijdens zijn levenscyclus niet zal worden gemodificeerd: geen updates, patches of configuratiewijzigingen. Als je de applicatiecode of een patch wilt bijwerken, maak dan een nieuw beeld en implementeer het. Het is aan te raden om de configuratie van de container (poort om naar te luisteren, opties voor de uitvoeringsomgeving, enz.) extern te houden \u2014 in de <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/secret\/\">Secrets<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Deze kunnen worden bijgewerkt zonder dat het nodig is om een nieuw containerbeeld te bouwen. Voor het eenvoudig maken van pipelines voor het bouwen van beelden kan je gebruiken maken van <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/cloud-build\/\">Cloud Build<\/a><\/noindex>. <i>(<b>Opmerking vertaler.<\/b>: Hiervoor gebruiken we de open-source tool <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/dapp\">dapp<\/a><\/noindex>.)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 beste praktijken voor containerbeheer volgens Google\" src=\"\/wp-content\/uploads\/2019\/10\/f13a83d22e7b8d7c1e8ac6a63c35646c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Voorbeeld van het bijwerken van de configuratie van een Deployment in Kubernetes met behulp van ConfigMap, gemonteerd in pods als configuratie.<\/i><\/p>\n<h2>3. Vermijd het gebruik van privileged containers<\/h2>\n<p>\nJe runt je applicaties niet onder root op je servers, toch? Als een aanvaller in de applicatie doordringt, krijgt hij toegang met root-rechten. Diezelfde overwegingen gelden ook voor het niet draaien van geprivilegieerde containers. Als je instellingen op de host moet aanpassen, kun je specifieke rechten aan de container geven. <i>capabilities<\/i> toekennen via de optie <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/security-context\/#set-capabilities-for-a-container\"><code>securityContext<\/code><\/a><\/noindex> in Kubernetes. Als het nodig is om <i>sysctls<\/i>, heeft Kubernetes een <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/administer-cluster\/sysctl-cluster\/\">speciale annotatie<\/a><\/noindex> hiervoor. Probeer in het algemeen zoveel mogelijk gebruik te maken van <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/init-containers\/\">init-<\/a><\/noindex> en sidecar-containers voor dergelijke privileged operaties. Ze hebben geen beschikbaarheid nodig voor interne of externe verkeer.<\/p>\n<p>Als je een cluster beheert, kun je gebruik maken van <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/pod-security-policy\/#privileged\">Pod Security Policy<\/a><\/noindex> voor beperkingen op het gebruik van privileged containers.<\/p>\n<h2>4. Vermijd het draaien onder root<\/h2>\n<p>\nOver geprivilegieerde containers is al gesproken, maar het zou nog beter zijn als je bovendien geen applicaties onder root binnen de container draait. Als een aanvaller een remote vulnerability met root-rechten in de applicatie vindt, kan hij via een nog onbekende kwetsbaarheid uit de container ontsnappen en root-toegang op de host krijgen.<\/p>\n<p>De beste manier om dit te voorkomen is om in de eerste plaats niets onder root uit te voeren. Hiervoor kun je gebruikmaken van de directive. <code>USER<\/code> in <code>Dockerfile<\/code> of <code>runAsUser<\/code> in Kubernetes gebruiken. De clusterbeheerder kan ook geforceerd gedrag instellen met behulp van <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/pod-security-policies\">Pod Security Policy<\/a><\/noindex>.<\/p>\n<h2>5. Maak de applicatie eenvoudig te monitoren<\/h2>\n<p>\nNet als logging is monitoring een essentieel onderdeel van het beheren van de applicatie. Een populaire oplossing voor monitoring in de Kubernetes-gemeenschap is <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> \u2014 een systeem dat automatisch pods en services ontdekt die monitoring vereisen. <i>(<b>Opmerking vertaler.<\/b>: Zie ook ons <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">gedetailleerd verslag<\/a><\/noindex> over monitoring met Prometheus en Kubernetes.)<\/i> <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/monitoring\/kubernetes-engine\/\">Stackdriver<\/a><\/noindex> kan Kubernetes-clusters monitoren en bevat zijn eigen versie van Prometheus voor het monitoren van applicaties.<\/p>\n<p><img decoding=\"async\" alt=\"7 beste praktijken voor containerbeheer volgens Google\" src=\"\/wp-content\/uploads\/2019\/10\/642b9ccc4b7a789018a4aeeb62e7cae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Het Kubernetes-monitoringpaneel in Stackdriver<\/i><\/p>\n<p>Prometheus verwacht dat de applicatie metrics doorgeeft via een HTTP endpoint. Hiervoor zijn er <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/instrumenting\/clientlibs\/\">Prometheus clientbibliotheken<\/a><\/noindex>. Een vergelijkbaar formaat wordt gebruikt door andere tools zoals <noindex><a rel=\"nofollow\" href=\"http:\/\/opencensus.io\/\">OpenCensus<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio<\/a><\/noindex>.<\/p>\n<h2>6. Maak de applicatiestatus beschikbaar<\/h2>\n<p>\nHet beheren van een productie-applicatie helpt door aan de hele systeem te rapporteren over zijn status. Is de applicatie actief? Is alles in orde? Is het klaar om verkeer te ontvangen? Hoe presteert het? De meest voorkomende manier om dit probleem aan te pakken is door health checks <i>(gezondheidscontroles)<\/i>. Kubernetes heeft twee soorten: <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness en readiness probes<\/a><\/noindex>.<\/p>\n<p>Voor liveness probe <i>(levensvatbaarheid controle)<\/i> moet de applicatie een HTTP endpoint hebben dat een \"200 OK\"-antwoord retourneert als het functioneert en zijn belangrijkste afhankelijkheden zijn voldaan. Voor readiness probe <i>(gereedheid controle)<\/i> De applicatie moet een andere HTTP endpoint hebben die '200 OK' retourneert als de applicatie gezond is, de initialisatie-stappen zijn uitgevoerd en elke correcte aanvraag geen fout oplevert. Kubernetes zal het verkeer naar de container alleen omleiden als de applicatie in overeenstemming met deze controles klaar is. Twee endpoints kunnen worden samengevoegd als er geen verschil is tussen de levensvatbaarheid (liveness) en gereedheid (readiness) toestanden.<\/p>\n<p>Meer hierover is te lezen in het bijbehorende artikel van Sandeep Dinesh, Developer Advocate bij Google: \"<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes\">Kubernetes best practices: Het instellen van gezondheidschecks met readiness- en liveness-probes<\/a><\/noindex>\u00bb.<\/p>\n<h2>7. Kies zorgvuldig de versie van het image<\/h2>\n<p>\nDe meeste publieke en private images gebruiken een tagging-systeem dat lijkt op dat in <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-building-containers#properly_tag_your_images\">Best Practices for Building Containers<\/a><\/noindex>. Als het image een systeem toepast dat lijkt op <noindex><a rel=\"nofollow\" href=\"https:\/\/semver.org\/lang\/ru\/\">semantische versiebeheer<\/a><\/noindex>, moet je rekening houden met de specifieke tagging. Bijvoorbeeld, de tag <code>latest<\/code> kan vaak van image naar image verplaatst worden \u2014 je kunt er niet op vertrouwen als je voorspelbare en reproduceerbare builds en installaties nodig hebt.<\/p>\n<p>Je kunt de tag <code>X.Y.Z<\/code> gebruiken (ze zijn bijna altijd onveranderlijk), maar houd in dat geval alle patches en updates van het image in de gaten. Als het gebruikte image een tag heeft van <code>X.Y<\/code>, is dit een goede middenweg. Door deze te kiezen, krijg je automatisch patches en baseer je je tegelijkertijd op een stabiele versie van de applicatie.<\/p>\n<h2>P.S. van de vertaler<\/h2>\n<p>\nLees ook op onze blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/422949\/\">Nieuwe CNCF-statistieken over containers, cloud native en Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353272\/\">7 ontwerpprincipes voor container-gebaseerde applicaties<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/417905\/\">11 manieren om (niet) het slachtoffer te worden van een hack in Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">Onze ervaring met Kubernetes in kleine projecten<\/a><\/noindex>\u00bb <i>(overzicht en video van de presentatie)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">Monitoring en Kubernetes<\/a><\/noindex>\u00bb <i>(overzicht en video van de presentatie)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Docker-images verzamelen voor CI\/CD snel en gemakkelijk met dapp<\/a><\/noindex>\u00bb <i>(overzicht en video van de presentatie)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">Praktijken van Continuous Delivery met Docker<\/a><\/noindex>\u00bb <i>(overzicht en video van de presentatie)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">De dood van de microservices-hype in 2018.<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/425085\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google. \u0412 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0431\u043b\u043e\u0433\u0430 Google Cloud \u043e\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043a\u0440\u0430\u0442\u043a\u0443\u044e \u0432\u044b\u0436\u0438\u043c\u043a\u0443 \u0438\u0437 \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043d\u0430\u0437\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u00abBest Practices for Operating Containers\u00bb. \u0412 \u043d\u0451\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b Google \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Google Kubernetes Engine \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e, \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39016","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=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.\" \/>\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\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\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\udd477 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 Google | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\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=\"2019-10-31T19:27:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:21+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\udd477 beste praktijken voor het beheer van containers volgens Google | ProHoster","description":"Opmerking vert.: De auteur van het oorspronkelijke artikel is Th\u00e9o Chamley, cloud solutions architect bij Google.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","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\udd477 \u043b\u0443\u0447\u0448\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 Google | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0410\u0432\u0442\u043e\u0440 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 Th\u00e9o Chamley, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 Google.","og:url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","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":"2019-10-31T19:27:21+00:00","article:modified_time":"2019-10-31T19:27:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39016","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":"2026-01-24 00:24:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:58:39","updated":"2026-01-24 00:24:24","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\/39016","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=39016"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/39016\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/29273"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=39016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=39016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=39016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}