{"id":102088,"date":"2021-11-01T03:02:09","date_gmt":"2021-11-01T01:02:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya"},"modified":"2021-11-01T14:22:04","modified_gmt":"2021-11-01T12:22:04","slug":"kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya","title":{"rendered":"Comment une startup est pass\u00e9e de docker-compose \u00e0 Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<div>\n<p>Dans cet article, je voudrais vous parler de la mani\u00e8re dont nous avons modifi\u00e9 notre approche de l'orchestration dans notre projet startup, pourquoi nous l'avons fait et quels probl\u00e8mes nous avons r\u00e9solus en cours de route. Cette article ne pr\u00e9tend probablement pas \u00e0 l'unicit\u00e9, mais je pense qu'il peut \u00eatre utile \u00e0 certains, car nous avons rassembl\u00e9 du mat\u00e9riel avec un effort consid\u00e9rable pour r\u00e9soudre ce probl\u00e8me. \u00a0<\/p>\n<p><strong>Qu'avions-nous et de quoi s'agit-il exactement ?<\/strong> Nous avions un projet startup avec environ 2 ans d'historique de d\u00e9veloppement dans le domaine de la publicit\u00e9. Le projet \u00e9tait initialement con\u00e7u comme un syst\u00e8me de microservices, et sa partie serveur \u00e9tait \u00e9crite en Symfony, avec un peu de Laravel, Django et NodeJs natif. Les services repr\u00e9sentent essentiellement des API pour nos clients mobiles (il y en a 3 dans le projet) et notre propre SDK pour iOS (int\u00e9gr\u00e9 dans les applications de nos clients), ainsi que des interfaces web et divers tableaux de bord pour ces m\u00eames clients. Tous les services \u00e9taient initialement conteneuris\u00e9s avec Docker et fonctionnaient sous la gestion de docker-compose.<\/p>\n<p>Cependant, docker-compose n'\u00e9tait pas utilis\u00e9 partout, mais seulement dans l'environnement local des d\u00e9veloppeurs, sur les serveurs de test <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/dts-newyork\/\"   title=\"le serveur\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2684\">le serveur<\/a> et \u00e0 l'int\u00e9rieur du pipeline lors de la construction et des tests des services. En production, nous utilisions Google Kubernetes Engine (GKE). D'ailleurs, la configuration de GKE au d\u00e9but du projet a \u00e9t\u00e9 faite enti\u00e8rement via son interface web, ce qui \u00e9tait assez rapide et, \u00e0 l'\u00e9poque, nous semblait pratique. Seul le processus de construction des images Docker pour le lancement des services dans GKE \u00e9tait automatis\u00e9.<\/p>\n<p> <a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/586594\/?utm_campaign=586594&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut\">Lire la suite<\/a><\/div>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043c\u0435\u043d\u044f\u043b\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0441\u0442\u0430\u0440\u0442\u0430\u043f-\u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0437\u0430\u0447\u0435\u043c \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u0440\u0435\u0448\u0430\u043b\u0438. \u041f\u0440\u0435\u0442\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0432\u0440\u044f\u0434 \u043b\u0438 \u043c\u043e\u0436\u0435\u0442, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435 \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043a\u043e\u043c\u0443-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u043d\u0430\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-102088","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043c\u0435\u043d\u044f\u043b\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0441\u0442\u0430\u0440\u0442\u0430\u043f-\u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0437\u0430\u0447\u0435\u043c \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u0440\u0435\u0448\u0430\u043b\u0438.\" \/>\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\/kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\udd47\u041a\u0430\u043a \u043e\u0434\u0438\u043d \u0441\u0442\u0430\u0440\u0442\u0430\u043f \u043e\u0442 docker-compose \u0434\u043e Kubernetes \u0434\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043c\u0435\u043d\u044f\u043b\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0441\u0442\u0430\u0440\u0442\u0430\u043f-\u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0437\u0430\u0447\u0435\u043c \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u0440\u0435\u0448\u0430\u043b\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya\" \/>\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=\"2021-11-01T01:02:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-01T12:22:04+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\udd47Comment un startup est pass\u00e9 de docker-compose \u00e0 Kubernetes | ProHoster","description":"Dans cet article, je voudrais vous parler de la mani\u00e8re dont nous avons modifi\u00e9 notre approche de l'orchestration dans notre projet startup, pourquoi nous l'avons fait et quels probl\u00e8mes nous avons r\u00e9solus en cours de route.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya","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\udd47\u041a\u0430\u043a \u043e\u0434\u0438\u043d \u0441\u0442\u0430\u0440\u0442\u0430\u043f \u043e\u0442 docker-compose \u0434\u043e Kubernetes \u0434\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f | ProHoster","og:description":"\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043c\u0435\u043d\u044f\u043b\u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0441\u0442\u0430\u0440\u0442\u0430\u043f-\u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u0437\u0430\u0447\u0435\u043c \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u0440\u0435\u0448\u0430\u043b\u0438.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-odin-startap-ot-docker-compose-do-kubernetes-dobiralsya","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":"2021-11-01T01:02:09+00:00","article:modified_time":"2021-11-01T12:22:04+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102088","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-11-01 01:05:10","updated":"2026-02-09 21:39:46","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\/102088","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=102088"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102088\/revisions"}],"predecessor-version":[{"id":159965,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102088\/revisions\/159965"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=102088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=102088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=102088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}