{"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\/fr\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","title":{"rendered":"7 meilleures pratiques d'exploitation des conteneurs selon Google","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Note de traduction.<\/b>: L'auteur de l'article original est Th\u00e9o Chamley, architecte de solutions cloud chez Google. Dans cette publication pour le blog Google Cloud, il pr\u00e9sente un bref aper\u00e7u d'un guide plus d\u00e9taill\u00e9 de son entreprise, intitul\u00e9 \"<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">Meilleures pratiques pour l'exploitation des conteneurs<\/a><\/noindex>\u00bb. Dans ce guide, des experts de Google ont rassembl\u00e9 les meilleures pratiques pour l'exploitation des conteneurs dans le contexte de l'utilisation de Google Kubernetes Engine et au-del\u00e0, abordant une large gamme de sujets : de la s\u00e9curit\u00e9 \u00e0 la surveillance et \u00e0 la journalisation. Quelles sont donc, selon Google, les pratiques les plus importantes \u00e0 suivre lors de l'utilisation des conteneurs ?<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 meilleures pratiques d&#039;exploitation des conteneurs selon 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>(un service bas\u00e9 sur Kubernetes pour ex\u00e9cuter des applications conteneuris\u00e9es dans Google Cloud \u2014 <b>Note de traduction.<\/b>)<\/i> \u2014 est l'un des meilleurs moyens de d\u00e9ployer des charges de travail n\u00e9cessitant une mise \u00e0 l'\u00e9chelle. <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes\/\">Kubernetes<\/a><\/noindex> Cela garantira le bon fonctionnement de la plupart des applications, \u00e0 condition qu'elles soient conteneuris\u00e9es. Mais si vous souhaitez que votre application soit facile \u00e0 g\u00e9rer et que vous souhaitiez tirer parti de tous les avantages de Kubernetes, il est n\u00e9cessaire de suivre les meilleures pratiques. Celles-ci faciliteront l'exploitation de l'application, sa surveillance et son d\u00e9pannage, tout en am\u00e9liorant la s\u00e9curit\u00e9.<\/p>\n<p>Dans cet article, nous passerons en revue les \u00e9l\u00e9ments \u00e0 conna\u00eetre et \u00e0 mettre en \u0153uvre pour le fonctionnement efficace des conteneurs dans Kubernetes. Pour ceux qui souhaitent approfondir les d\u00e9tails, nous vous encourageons \u00e0 lire le mat\u00e9riel <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-operating-containers\">Meilleures pratiques pour l'exploitation des conteneurs<\/a><\/noindex>, ainsi qu'\u00e0 jeter un \u0153il \u00e0 notre <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/7-best-practices-for-building-containers\">article pr\u00e9c\u00e9dent<\/a><\/noindex> sur la cr\u00e9ation de conteneurs.<\/p>\n<h2>1. Utilisez les m\u00e9canismes natifs des conteneurs pour la journalisation<\/h2>\n<p>\nSi l'application s'ex\u00e9cute dans un cluster Kubernetes, il n'y a pas besoin de beaucoup de log. Un syst\u00e8me de journalisation centralis\u00e9 est probablement d\u00e9j\u00e0 int\u00e9gr\u00e9 dans le cluster utilis\u00e9. Dans le cas de Kubernetes Engine, cela est g\u00e9r\u00e9 par <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/\">Stackdriver Logging<\/a><\/noindex>. <i>(<b>Note de traduction.<\/b>: Et dans le cas d'une installation Kubernetes autonome, nous recommandons d'explorer notre solution open source \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/loghouse\">loghouse<\/a><\/noindex>.)<\/i> Ne vous compliquez pas la vie et utilisez les m\u00e9canismes de journalisation natifs des conteneurs. \u00c9crivez les logs dans stdout et stderr \u2014 ils seront automatiquement r\u00e9cup\u00e9r\u00e9s, stock\u00e9s et index\u00e9s.<\/p>\n<p>Si vous le souhaitez, vous pouvez \u00e9galement \u00e9crire les logs au format <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/logging\/docs\/structured-logging\">JSON<\/a><\/noindex>. Cette approche permettra d'ajouter facilement des m\u00e9tadonn\u00e9es. Et avec celles-ci, il sera possible de rechercher dans Stackdriver Logging les logs en utilisant ces m\u00e9tadonn\u00e9es.<\/p>\n<h2>2. Assurez-vous que les conteneurs sont sans \u00e9tat et immuables<\/h2>\n<p>\nPour un fonctionnement correct des conteneurs dans un cluster Kubernetes, ceux-ci doivent \u00eatre sans \u00e9tat et immuables. Lorsque ces conditions sont remplies, Kubernetes sera capable de remplir sa fonction en cr\u00e9ant et d\u00e9truisant des entit\u00e9s d'application quand et o\u00f9 cela est n\u00e9cessaire.<\/p>\n<p><i>Sans \u00e9tat<\/i> signifie que tout \u00e9tat (donn\u00e9es permanentes de tout type) est stock\u00e9 en dehors du conteneur. Pour cela, selon les besoins, diff\u00e9rents types de stockage externe peuvent \u00eatre utilis\u00e9s : <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/storage\/docs\">Stockage Cloud<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/stateful-apps\">Disques Persistants<\/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> ou d'autres bases de donn\u00e9es g\u00e9r\u00e9es. <i>(<b>Note de traduction.<\/b>: Pour en savoir plus, consultez \u00e9galement notre article \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/326414\/\">Op\u00e9rateurs pour Kubernetes : comment ex\u00e9cuter des applications stateful<\/a><\/noindex>\u00bb.)<\/i><\/p>\n<p><i>Immuable<\/i> signifie que le conteneur ne sera pas modifi\u00e9 durant sa vie : pas de mises \u00e0 jour, de correctifs, ou de modifications de configuration. Si vous devez mettre \u00e0 jour le code de l'application ou appliquer un correctif, cr\u00e9ez une nouvelle image et d\u00e9ployez-la. Il est recommand\u00e9 de sortir la configuration du conteneur (port d'\u00e9coute, options de l'environnement d'ex\u00e9cution, etc.) \u00e0 l'ext\u00e9rieur \u2014 dans <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/secret\/\">Secrets<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Ceux-ci peuvent \u00eatre mis \u00e0 jour sans avoir besoin de reconstruire une nouvelle image de conteneur. Pour cr\u00e9er facilement des pipelines de construction d'images, vous pouvez utiliser <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/cloud-build\/\">Cloud Build<\/a><\/noindex>. <i>(<b>Note de traduction.<\/b>: Pour ces objectifs, nous utilisons l'outil Open Source <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/dapp\">dapp<\/a><\/noindex>.)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"7 meilleures pratiques d&#039;exploitation des conteneurs selon Google\" src=\"\/wp-content\/uploads\/2019\/10\/f13a83d22e7b8d7c1e8ac6a63c35646c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Exemple de mise \u00e0 jour de la configuration Deployment dans Kubernetes \u00e0 l'aide de ConfigMap, mont\u00e9 dans les pods comme configuration<\/i><\/p>\n<h2>3. \u00c9vitez les conteneurs privil\u00e9gi\u00e9s<\/h2>\n<p>\nVous ne lancez pas d'applications sous root sur vos serveurs, n'est-ce pas ? Si un attaquant parvient \u00e0 p\u00e9n\u00e9trer dans l'application, il obtiendra un acc\u00e8s avec des droits root. Les m\u00eames consid\u00e9rations s'appliquent pour ne pas ex\u00e9cuter de conteneurs privil\u00e9gi\u00e9s. Si vous devez modifier les param\u00e8tres sur l'h\u00f4te, vous pouvez donner au conteneur des droits sp\u00e9cifiques. <i>des capacit\u00e9s<\/i> avec l'option <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> dans Kubernetes. Si vous devez modifier <i>les sysctls<\/i>, Kubernetes dispose d <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/administer-cluster\/sysctl-cluster\/\">une annotation distincte<\/a><\/noindex> pour cela. En g\u00e9n\u00e9ral, essayez d'utiliser au maximum les <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/init-containers\/\">init-<\/a><\/noindex> et les conteneurs sidecar pour effectuer des op\u00e9rations privil\u00e9gi\u00e9es similaires. Ils n'ont pas besoin d'\u00eatre accessibles ni pour le trafic interne, ni pour le trafic externe.<\/p>\n<p>Si vous administrez un cluster, vous pouvez utiliser <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/pod-security-policy\/#privileged\">la Politique de S\u00e9curit\u00e9 des Pods<\/a><\/noindex> pour restreindre l'utilisation de conteneurs privil\u00e9gi\u00e9s.<\/p>\n<h2>4. \u00c9vitez de lancer en tant que root<\/h2>\n<p>\nIl a d\u00e9j\u00e0 \u00e9t\u00e9 question des conteneurs privil\u00e9gi\u00e9s, mais il serait encore mieux de ne pas ex\u00e9cuter d'applications sous root \u00e0 l'int\u00e9rieur d'un conteneur. Si un attaquant trouve une vuln\u00e9rabilit\u00e9 \u00e0 distance avec ex\u00e9cution de code dans une application tournant sous root, puis qu'il parvient \u00e0 sortir du conteneur par une vuln\u00e9rabilit\u00e9 encore inconnue, il obtiendra l'acc\u00e8s root sur l'h\u00f4te.<\/p>\n<p>Le meilleur moyen d'\u00e9viter cela est, en premier lieu, de ne rien ex\u00e9cuter sous root. Pour cela, vous pouvez utiliser la directive. <code>UTILISATEUR<\/code> dans <code>Dockerfile<\/code> ou <code>runAsUser<\/code> dans Kubernetes. L'administrateur du cluster peut \u00e9galement configurer un comportement forc\u00e9 \u00e0 l'aide de <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/docs\/how-to\/pod-security-policies\">la Politique de S\u00e9curit\u00e9 des Pods<\/a><\/noindex>.<\/p>\n<h2>5. Rendez l'application facile \u00e0 surveiller<\/h2>\n<p>\nTout comme le journalisation, la surveillance est une partie int\u00e9grante de la gestion de l'application. Une solution populaire de surveillance dans la communaut\u00e9 Kubernetes est <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> \u2014 un syst\u00e8me qui d\u00e9couvre automatiquement les pods et les services n\u00e9cessitant une surveillance. <i>(<b>Note de traduction.<\/b>: Voir \u00e9galement notre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">rapport d\u00e9taill\u00e9<\/a><\/noindex> sur la surveillance avec Prometheus et Kubernetes.)<\/i> <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/monitoring\/kubernetes-engine\/\">Stackdriver<\/a><\/noindex> peut surveiller les clusters Kubernetes et inclut sa propre version de Prometheus pour la surveillance des applications.<\/p>\n<p><img decoding=\"async\" alt=\"7 meilleures pratiques d&#039;exploitation des conteneurs selon Google\" src=\"\/wp-content\/uploads\/2019\/10\/642b9ccc4b7a789018a4aeeb62e7cae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Le tableau de bord Kubernetes dans Stackdriver<\/i><\/p>\n<p>Prometheus s'attend \u00e0 ce que l'application expose des m\u00e9triques sur un endpoint HTTP. Pour cela, des <noindex><a rel=\"nofollow\" href=\"https:\/\/prometheus.io\/docs\/instrumenting\/clientlibs\/\">biblioth\u00e8ques clientes Prometheus<\/a><\/noindex>sont disponibles. Un format similaire est utilis\u00e9 par d'autres outils comme <noindex><a rel=\"nofollow\" href=\"http:\/\/opencensus.io\/\">OpenCensus<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/\">Istio<\/a><\/noindex>.<\/p>\n<h2>6. Rendez l'\u00e9tat de sant\u00e9 de l'application accessible<\/h2>\n<p>\nLa gestion d'une application en production est aid\u00e9e par sa capacit\u00e9 \u00e0 communiquer son \u00e9tat \u00e0 l'ensemble du syst\u00e8me. L'application est-elle en cours d'ex\u00e9cution ? Est-elle en bon \u00e9tat ? Pr\u00eate \u00e0 recevoir du trafic ? Comment se comporte-t-elle ? La mani\u00e8re la plus courante de r\u00e9soudre ce probl\u00e8me est de mettre en \u0153uvre des contr\u00f4les de sant\u00e9 <i>(health checks)<\/i>. Kubernetes a deux types : <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-liveness-readiness-probes\/\">liveness et readiness probes<\/a><\/noindex>.<\/p>\n<p>Pour un liveness probe <i>(contr\u00f4le de l'\u00e9tat de vie)<\/i> l'application doit avoir un endpoint HTTP renvoyant une r\u00e9ponse \u00ab 200 OK \u00bb si elle fonctionne et que ses principales d\u00e9pendances sont satisfaites. Pour un readiness probe <i>(contr\u00f4le de la disponibilit\u00e9)<\/i> L'application doit avoir un autre point de terminaison HTTP renvoyant une r\u00e9ponse \u00ab 200 OK \u00bb si l'application est en bonne sant\u00e9, que les \u00e9tapes d'initialisation sont compl\u00e9t\u00e9es et qu'aucune requ\u00eate valide ne conduit \u00e0 une erreur. Kubernetes dirigera le trafic vers le conteneur uniquement lorsque l'application est pr\u00eate selon ces v\u00e9rifications. Les deux points de terminaison peuvent \u00eatre combin\u00e9s s'il n'y a pas de diff\u00e9rence entre les \u00e9tats de vivacit\u00e9 (liveness) et de pr\u00e9paration (readiness).<\/p>\n<p>Pour en savoir plus, vous pouvez lire l'article correspondant de Sandeep Dinesh, Developer Advocate chez Google : \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes\">Meilleures pratiques Kubernetes : Configuration des v\u00e9rifications de sant\u00e9 avec des sondes de pr\u00e9paration et de viabilit\u00e9<\/a><\/noindex>\u00bb.<\/p>\n<h2>7. Choisissez attentivement la version de l'image<\/h2>\n<p>\nLa plupart des images publiques et priv\u00e9es utilisent un syst\u00e8me de balisage similaire \u00e0 celui d\u00e9crit dans <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/solutions\/best-practices-for-building-containers#properly_tag_your_images\">Meilleures pratiques pour construire des conteneurs<\/a><\/noindex>. Si l'image applique un syst\u00e8me proche de <noindex><a rel=\"nofollow\" href=\"https:\/\/semver.org\/lang\/ru\/\">la version s\u00e9mantique<\/a><\/noindex>, il faut tenir compte des sp\u00e9cificit\u00e9s du balisage. Par exemple, la balise <code>latest<\/code> peut souvent \u00eatre d\u00e9plac\u00e9e d'une image \u00e0 l'autre \u2014 elle ne peut pas \u00eatre fiable si vous avez besoin de constructions et d'installations pr\u00e9visibles et reproductibles.<\/p>\n<p>Vous pouvez utiliser la balise <code>X.Y.Z<\/code> (elles sont presque toujours constantes), mais dans ce cas, suivez tous les correctifs et mises \u00e0 jour de l'image. Si l'image utilis\u00e9e a la balise <code>X.Y<\/code>, c'est une bonne option de compromis. En choisissant celle-ci, vous obtenez automatiquement des correctifs tout en vous appuyant sur une version stable de l'application.<\/p>\n<h2>P.S. de l'auteur<\/h2>\n<p>\nLisez aussi dans notre blog :<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/422949\/\">Nouvelles statistiques de la CNCF sur les conteneurs, le cloud natif et Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353272\/\">7 principes de conception d'applications bas\u00e9es sur des conteneurs<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/417905\/\">11 fa\u00e7ons de (ne pas) devenir une victime de hacking dans Kubernetes<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">Notre exp\u00e9rience avec Kubernetes dans de petits projets<\/a><\/noindex>\u00bb <i>(aper\u00e7u et vid\u00e9o de la pr\u00e9sentation)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">Surveillance et Kubernetes<\/a><\/noindex>\u00bb <i>(aper\u00e7u et vid\u00e9o de la pr\u00e9sentation)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Cr\u00e9ation d'images Docker pour CI\/CD rapidement et facilement avec dapp<\/a><\/noindex>\u00bb <i>(aper\u00e7u et vid\u00e9o de la pr\u00e9sentation)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">Pratiques de livraison continue avec Docker<\/a><\/noindex>\u00bb <i>(aper\u00e7u et vid\u00e9o de la pr\u00e9sentation)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">La mort de la folie des microservices en 2018<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Source : <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.2.1 - 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\/fr\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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 meilleures pratiques pour l'exploitation de conteneurs selon Google | ProHoster","description":"Note du traducteur : L'auteur de l'article original est Th\u00e9o Chamley, architecte des solutions cloud chez Google.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/7-luchshih-praktik-po-ekspluatatsii-kontejnerov-po-versii-google","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/39016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=39016"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/39016\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/29273"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=39016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=39016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=39016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}