{"id":82902,"date":"2020-05-26T13:42:27","date_gmt":"2020-05-26T11:42:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov"},"modified":"2020-05-26T13:42:27","modified_gmt":"2020-05-26T11:42:27","slug":"luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Meilleures pratiques Kubernetes. Mappage des services externes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Meilleures pratiques Kubernetes. Cr\u00e9ation de petits conteneurs<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">Meilleures pratiques Kubernetes. Organisation de Kubernetes avec des espaces de noms<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">Les d\u00e9veloppeurs de Xenoblade Chronicles: Definitive Edition dans le dernier num\u00e9ro du magazine Weekly Famitsu.<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Meilleures pratiques Kubernetes. Configuration des demandes et des limites de ressources<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Meilleures pratiques Kubernetes. Arr\u00eat correct Terminate<\/a><\/noindex><\/p>\n<p>Si vous \u00eates comme la plupart des gens, vous utilisez probablement des ressources fonctionnant en dehors de votre cluster. Vous pourriez utiliser l'API Taleo pour envoyer des messages texte ou analyser des images \u00e0 l'aide de l'API Google Cloud Vision.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Si vous utilisez le m\u00eame point d'extr\u00e9mit\u00e9 endpoint \u2014 le point de r\u00e9ception des requ\u00eates c\u00f4t\u00e9 serveur dans tous vos environnements et que vous ne pr\u00e9voyez pas de d\u00e9placer vos serveurs vers Kubernetes, il est tout \u00e0 fait normal d'avoir le endpoint du service directement dans votre code. Cependant, il existe de nombreux autres sc\u00e9narios possibles. Dans cette s\u00e9rie \u00ab Meilleures pratiques Kubernetes \u00bb, vous apprendrez \u00e0 utiliser les m\u00e9canismes int\u00e9gr\u00e9s de Kubernetes pour la d\u00e9couverte de services \u00e0 la fois \u00e0 l'int\u00e9rieur et \u00e0 l'ext\u00e9rieur du cluster. <\/p>\n<p>Un exemple courant de service externe serait une base de donn\u00e9es fonctionnant en dehors du cluster Kubernetes. Contrairement \u00e0 des bases de donn\u00e9es cloud comme Google Cloud Data Store ou Google Cloud Spanner, qui utilisent un point d'extr\u00e9mit\u00e9 unique pour tous les types d'acc\u00e8s, la plupart des bases de donn\u00e9es ont des points d'extr\u00e9mit\u00e9 distincts pour diff\u00e9rentes situations.<br \/>\nUne bonne pratique pour l'utilisation de bases de donn\u00e9es traditionnelles comme MySQL et MongoDB consiste g\u00e9n\u00e9ralement \u00e0 se connecter \u00e0 diff\u00e9rents composants pour diff\u00e9rents environnements. Vous pouvez avoir une machine plus grande pour les donn\u00e9es de production et une machine plus petite pour l'environnement de test. Chacune d'elles aura sa propre adresse IP ou nom de domaine, mais vous ne voudrez certainement pas modifier votre code en passant d'un environnement \u00e0 l'autre. Donc, au lieu de coder en dur ces adresses, vous pouvez utiliser le service int\u00e9gr\u00e9 de Kubernetes pour d\u00e9couvrir des services externes via DNS, tout comme pour les services Kubernetes natifs.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSupposons que vous ex\u00e9cutiez une base de donn\u00e9es MongoDB sur Google Compute Engine. Vous serez bloqu\u00e9 dans ce monde hybride jusqu'\u00e0 ce que vous parveniez \u00e0 la transf\u00e9rer dans un cluster.<\/p>\n<p>Heureusement, vous pouvez utiliser des services statiques Kubernetes pour vous faciliter un peu la vie. Dans cet exemple, j'ai cr\u00e9\u00e9 un serveur MongoDB en utilisant Google Cloud Launcher. Puisqu'il est situ\u00e9 dans le m\u00eame r\u00e9seau (ou VPC du cluster Kubernetes), l'acc\u00e8s se fait via une adresse IP interne haute performance.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDans Google Cloud, c'est la configuration par d\u00e9faut, donc vous n'avez rien \u00e0 configurer. Maintenant que vous avez une adresse IP, la premi\u00e8re \u00e9tape consiste \u00e0 cr\u00e9er un service. Vous remarquerez qu'il n'y a pas de s\u00e9lecteurs de pods pour ce service. En d'autres termes, nous avons cr\u00e9\u00e9 un service qui ne saura pas o\u00f9 envoyer le trafic. Cela permettra de cr\u00e9er manuellement un objet endpoint qui recevra le trafic de ce service. <\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'exemple de code suivant montre que les points de terminaison d\u00e9finissent l'adresse IP pour la base de donn\u00e9es, en utilisant le m\u00eame nom mongo que celui du service.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKubernetes utilisera toutes les adresses IP pour trouver les points de terminaison, comme s'ils \u00e9taient des pods Kubernetes ordinaires, donc vous pouvez maintenant acc\u00e9der \u00e0 la base de donn\u00e9es avec une simple cha\u00eene de connexion au nom mongodb:\/\/mongo mentionn\u00e9 ci-dessus. Il n'est pas du tout n\u00e9cessaire d'utiliser des adresses IP dans votre code.<\/p>\n<p>Si \u00e0 l'avenir les adresses IP changent, vous pouvez simplement mettre \u00e0 jour les points de terminaison avec la nouvelle adresse IP, et vos applications n'auront pas besoin d'\u00eatre modifi\u00e9es d'une mani\u00e8re ou d'une autre.<\/p>\n<p>Si vous utilisez une base de donn\u00e9es h\u00e9berg\u00e9e par un tiers, il est probable que les propri\u00e9taires de l'h\u00e9bergement vous aient fourni un identifiant de ressource URI unifi\u00e9 pour la connexion. Donc, si on vous a donn\u00e9 une adresse IP, vous pouvez simplement utiliser la m\u00e9thode pr\u00e9c\u00e9dente. Cet exemple montre que j'ai deux bases de donn\u00e9es MongoDB h\u00e9berg\u00e9es sur l'h\u00f4te mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'une d'elles est la base de donn\u00e9es des d\u00e9veloppeurs, et l'autre est la base de donn\u00e9es de production. Les cha\u00eenes de connexion pour ces bases de donn\u00e9es ressemblent aux suivantes : mLab vous fournit un URI dynamique et un port dynamique. Comme vous pouvez le voir, ils sont diff\u00e9rents.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPour s'abstraire de cela, utilisons Kubernetes et connectons-nous \u00e0 la base de donn\u00e9es des d\u00e9veloppeurs. Vous pouvez cr\u00e9er un nom de service externe Kubernetes, ce qui vous fournira un service statique qui redirigera le trafic vers le service externe. <\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCe service effectuera une simple redirection CNAME au niveau du noyau, ce qui aura un impact minimal sur les performances. Gr\u00e2ce \u00e0 cela, vous pouvez utiliser une cha\u00eene de connexion plus simple.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCependant, comme le nom externe utilise une redirection CNAME, il ne peut pas ex\u00e9cuter de r\u00e9affectation de ports. Par cons\u00e9quent, cette solution ne s'applique qu'aux ports statiques et ne peut pas \u00eatre utilis\u00e9e avec des ports dynamiques. Cependant, le niveau gratuit mLab Free Tier attribue par d\u00e9faut un num\u00e9ro de port dynamique \u00e0 l'utilisateur, et vous ne pouvez pas le modifier. Cela signifie que pour dev et prod, vous avez besoin de cha\u00eenes de connexion diff\u00e9rentes. Le probl\u00e8me est qu'il faudra coder en dur le num\u00e9ro de port. Alors, comment faire fonctionner la r\u00e9affectation des ports ?<\/p>\n<p>La premi\u00e8re \u00e9tape consiste \u00e0 obtenir l'adresse IP \u00e0 partir de l'URI. Si vous ex\u00e9cutez la commande nslookup, le nom d'h\u00f4te ou un ping sur l'URI, vous pouvez obtenir l'adresse IP de la base de donn\u00e9es. Si le service retourne plusieurs adresses IP, toutes ces adresses peuvent \u00eatre utilis\u00e9es dans les points de terminaison de l'objet.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl est important de se rappeler que les adresses IP des URI peuvent changer sans pr\u00e9avis, il est donc assez risqu\u00e9 de les utiliser en production. Avec une telle adresse IP, vous pouvez vous connecter \u00e0 une base de donn\u00e9es distante sans sp\u00e9cifier le port. Ainsi, le service Kubernetes ex\u00e9cute tr\u00e8s efficacement la r\u00e9affectation des ports.<\/p>\n<p><img decoding=\"async\" alt=\"Meilleures pratiques Kubernetes. Mappage des services externes\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe mapping, ou la correspondance des ressources externes avec les internes, vous permet d'utiliser ces services de mani\u00e8re flexible \u00e0 l'int\u00e9rieur du cluster \u00e0 l'avenir tout en minimisant les efforts de refactoring. Cela facilite \u00e9galement la gestion et offre une compr\u00e9hension des services externes utilis\u00e9s par votre entreprise. <\/p>\n<p>La suite arrivera tr\u00e8s bient\u00f4t\u2026<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"fvpq4jqtuZ8\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/fvpq4jqtuZ8\/hqdefault.jpg\" alt=\"Lire la vid\u00e9o\" 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>Un peu de publicit\u00e9 \ud83d\ude42<\/h3>\n<p>\nMerci de rester avec nous. Aimez-vous nos articles ? Voulez-vous voir plus de contenu int\u00e9ressant ? Soutenez-nous en passants une commande ou en nous recommandant \u00e0 des amis, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS cloud pour d\u00e9veloppeurs \u00e0 partir de 4,99 $<\/a><\/noindex>, <b>un \u00e9quivalent unique des serveurs d'entr\u00e9e de gamme, con\u00e7u pour vous :<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toute la v\u00e9rit\u00e9 sur le VPS (KVM) E5-2697 v3 (6 c\u0153urs) 10 Go DDR4 480 Go SSD 1 Gbps \u00e0 partir de 19 $ ou comment bien diviser un serveur ?<\/a><\/noindex> (options disponibles avec RAID1 et RAID10, jusqu'\u00e0 24 c\u0153urs et jusqu'\u00e0 40 Go DDR4).<\/p>\n<p><b>Dell R730xd deux fois moins cher dans le data center Equinix Tier IV \u00e0 Amsterdam ?<\/b> Uniquement chez nous <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64Go DDR4 4x960Go SSD 1Gbps 100 To \u00e0 partir de 199 $<\/a><\/noindex> aux Pays-Bas ! <b>Dell R420 \u2014 2x E5-2430 2.2GHz 6C 128Go DDR3 2x960Go SSD 1Gbps 100To \u2014 \u00e0 partir de 99 $ !<\/b><\/b> Lisez sur <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Comment construire une infrastructure de classe entreprise avec des serveurs Dell R730xd E5-2650 v4 co\u00fbtant 9000 euros pour des clopinettes ?<\/a><\/noindex><br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503612\/\">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 \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 \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0445\u043e\u0436\u0438 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439, \u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0432\u0430\u0448\u0435\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82902","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 - 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\/fr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\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\/fr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\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:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:27+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\udd47Meilleures pratiques Kubernetes. Mapping des services externes | ProHoster","description":"Meilleures pratiques Kubernetes.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","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\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 Kubernetes. \u041c\u0430\u043f\u043f\u0438\u043d\u0433 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\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\/fr\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","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:27+00:00","article:modified_time":"2020-05-26T11:42:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82902","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:29:29","updated":"2022-10-02 08:31:16","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\/82902","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=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}