{"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\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","title":{"rendered":"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502052\/\">Melhores pr\u00e1ticas Kubernetes. Criando pequenos cont\u00eaineres<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502320\/\">As melhores pr\u00e1ticas do Kubernetes. Organiza\u00e7\u00e3o do Kubernetes com namespaces<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502430\/\">As melhores pr\u00e1ticas do Kubernetes. Verifica\u00e7\u00e3o de viabilidade do Kubernetes com testes de Readiness e Liveness<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/502614\/\">Melhores pr\u00e1ticas de Kubernetes. Configura\u00e7\u00e3o de solicita\u00e7\u00f5es e limites de recursos<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503488\/\">Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate<\/a><\/noindex><\/p>\n<p>Se voc\u00ea \u00e9 como a maioria das pessoas, provavelmente utiliza recursos que funcionam fora do seu cluster. \u00c9 poss\u00edvel que voc\u00ea esteja usando a API Taleo para enviar mensagens de texto ou analisando imagens com a API Google Cloud Vision.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Se voc\u00ea est\u00e1 usando o mesmo endpoint para receber solicita\u00e7\u00f5es no lado do servidor em todos os seus ambientes e n\u00e3o planeja mover seus servidores para o Kubernetes, \u00e9 perfeitamente aceit\u00e1vel ter o endpoint do servi\u00e7o diretamente no seu c\u00f3digo. No entanto, existem muitos outros cen\u00e1rios poss\u00edveis. Nesta s\u00e9rie de 'Melhores Pr\u00e1ticas do Kubernetes', voc\u00ea aprender\u00e1 a usar os mecanismos integrados do Kubernetes para descoberta de servi\u00e7os tanto dentro quanto fora do cluster. <\/p>\n<p>Um exemplo comum de servi\u00e7o externo \u00e9 um banco de dados que opera fora do cluster do Kubernetes. Diferentemente de servi\u00e7os de banco de dados em nuvem, como Google Cloud Data Store ou Google Cloud Spanner, que usam um \u00fanico endpoint para todos os tipos de acesso, a maioria dos bancos de dados tem endpoints separados para diferentes circunst\u00e2ncias.<br \/>\nUma pr\u00e1tica recomendada ao usar bancos de dados tradicionais, como MySQL e MongoDB, geralmente envolve a conex\u00e3o a diferentes componentes para diferentes ambientes. Voc\u00ea pode ter uma m\u00e1quina maior para dados de produ\u00e7\u00e3o e uma m\u00e1quina menor para o ambiente de teste. Cada uma ter\u00e1 seu pr\u00f3prio endere\u00e7o IP ou nome de dom\u00ednio, mas voc\u00ea certamente n\u00e3o gostaria de alterar seu c\u00f3digo ao transitar de um ambiente para outro. Portanto, em vez de codificar esses endere\u00e7os de forma r\u00edgida, voc\u00ea pode usar a descoberta de servi\u00e7os integrada do Kubernetes para servi\u00e7os externos baseada em DNS, assim como faria para servi\u00e7os nativos do Kubernetes.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/b64f2f5857f32d2d927c8dad1e4b1e36.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSuponha que voc\u00ea esteja executando um banco de dados MongoDB no Google Compute Engine. Voc\u00ea ficar\u00e1 preso nesse mundo h\u00edbrido at\u00e9 que consiga migr\u00e1-lo para o cluster.<\/p>\n<p>Felizmente, voc\u00ea pode usar servi\u00e7os est\u00e1ticos do Kubernetes para facilitar a sua vida. Neste exemplo, eu criei um servidor MongoDB usando o Google Cloud Launcher. Como ele foi criado na mesma rede (ou VPC do cluster Kubernetes), o acesso \u00e9 feito atrav\u00e9s de um IP interno de alto desempenho.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/cafe19eabc8ac144d27bd06f6c44ac5f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo Google Cloud, essa \u00e9 a configura\u00e7\u00e3o padr\u00e3o, ent\u00e3o voc\u00ea n\u00e3o precisa configurar nada. Agora que temos um endere\u00e7o IP, o primeiro passo \u00e9 criar um servi\u00e7o. Note que este servi\u00e7o n\u00e3o possui seletores de pods. Ou seja, criamos um servi\u00e7o que n\u00e3o saber\u00e1 para onde enviar o tr\u00e1fego. Isso permitir\u00e1 criar manualmente um objeto de endpoint, que receber\u00e1 o tr\u00e1fego deste servi\u00e7o. <\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/4f3643f3ce2f2d3f5b207429bb269058.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO pr\u00f3ximo exemplo de c\u00f3digo mostra que os endpoints definem o endere\u00e7o IP do banco de dados, utilizando o mesmo nome mongo que o servi\u00e7o.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/dbba2655a9e2295cb8a7de4c97eddc8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO Kubernetes utilizar\u00e1 todos os endere\u00e7os IP para encontrar os endpoints, como se fossem pods comuns do Kubernetes, permitindo que voc\u00ea acesse o banco de dados com uma simples string de conex\u00e3o para o nome mongodb:\/\/mongo. N\u00e3o \u00e9 necess\u00e1rio utilizar endere\u00e7os IP em seu c\u00f3digo.<\/p>\n<p>Se no futuro os endere\u00e7os IP mudarem, voc\u00ea pode simplesmente atualizar os endpoints com o novo endere\u00e7o IP, e suas aplica\u00e7\u00f5es n\u00e3o precisar\u00e3o ser alteradas de forma alguma.<\/p>\n<p>Se voc\u00ea estiver usando um banco de dados hospedado em um provedor externo, provavelmente os propriet\u00e1rios do host fornecer\u00e3o um identificador de recurso URI unificado para conex\u00e3o. Portanto, se voc\u00ea recebeu um endere\u00e7o IP, pode simplesmente usar o m\u00e9todo anterior. Este exemplo mostra que tenho dois bancos de dados MongoDB hospedados no servi\u00e7o mLab.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/088a578041c3d7c924c77f0a2e67e323.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm deles \u00e9 o banco de dados de desenvolvimento, e o outro \u00e9 o banco de dados de produ\u00e7\u00e3o. As strings de conex\u00e3o para esses bancos de dados s\u00e3o as seguintes \u2014 o mLab fornece um URI din\u00e2mico e uma porta din\u00e2mica. Como voc\u00ea pode ver, eles s\u00e3o diferentes.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/41d2e22371e85b7e794a9df7b2db515d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara se abstrair disso, usamos Kubernetes e nos conectamos ao banco de dados de desenvolvimento. Voc\u00ea pode criar um nome de servi\u00e7o externo do Kubernetes, que lhe fornecer\u00e1 um servi\u00e7o est\u00e1tico, direcionando o tr\u00e1fego para um servi\u00e7o externo. <\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/ed07c1e9818a6641b29d5c941bdf68cb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEste servi\u00e7o realizar\u00e1 um simples redirecionamento CNAME a n\u00edvel de n\u00facleo, o que ter\u00e1 um impacto m\u00ednimo no desempenho. Com isso, voc\u00ea pode usar uma string de conex\u00e3o mais simples.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/ee5442aec9c1a9d19f78bd92d44a97ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMas como o nome externo utiliza redirecionamento CNAME, ele n\u00e3o pode fazer o remapeamento de portas. Portanto, essa solu\u00e7\u00e3o \u00e9 aplic\u00e1vel apenas a portas est\u00e1ticas e n\u00e3o pode ser usada com portas din\u00e2micas. No entanto, o plano gratuito mLab Free Tier fornece por padr\u00e3o um n\u00famero de porta din\u00e2mico ao usu\u00e1rio, e voc\u00ea n\u00e3o pode alterar isso. Isso significa que para dev e prod voc\u00ea precisa de diferentes strings de conex\u00e3o. O lado ruim \u00e9 que ser\u00e1 necess\u00e1rio codificar rigidamente o n\u00famero da porta. Ent\u00e3o, como fazer o remapeamento de portas funcionar?<\/p>\n<p>O primeiro passo \u00e9 obter o endere\u00e7o IP do URI. Se voc\u00ea executar o comando nslookup, hostname ou ping no URI, poder\u00e1 obter o endere\u00e7o IP do banco de dados. Se o servi\u00e7o retornar v\u00e1rios endere\u00e7os IP, todos esses endere\u00e7os podem ser usados nos pontos finais do objeto.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/6cd63eb3c8bd733afbd7fe791ef7b8f4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c9 importante lembrar que os endere\u00e7os IP do URI podem mudar sem aviso pr\u00e9vio, portanto, \u00e9 bastante arriscado us\u00e1-los em produ\u00e7\u00e3o. Com esse endere\u00e7o IP, voc\u00ea pode se conectar a um banco de dados remoto sem especificar a porta. Assim, o servi\u00e7o Kubernetes realiza o remapeamento de portas de maneira bastante transparente.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos\" src=\"\/wp-content\/uploads\/2020\/05\/3f718da15739fd42dc640f44b34c7cab.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO mapeamento, ou associa\u00e7\u00e3o de recursos externos com internos, permite que voc\u00ea use esses servi\u00e7os dentro do cluster de forma flex\u00edvel no futuro, minimizando o esfor\u00e7o de refatora\u00e7\u00e3o. Tamb\u00e9m facilita a gest\u00e3o e d\u00e1 uma compreens\u00e3o de quais servi\u00e7os externos a sua empresa est\u00e1 utilizando. <\/p>\n<p>A continua\u00e7\u00e3o vir\u00e1 em breve\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=\"Por que no hosting comum a administra\u00e7\u00e3o do PrestaShop \u00e9 lenta, e no seu n\u00e3o \u00e9?\" 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>Um pouco de publicidade \ud83d\ude42<\/h3>\n<p>\nObrigado por permanecer conosco. Voc\u00ea gosta dos nossos artigos? Quer ver mais materiais interessantes? Apoie-nos fazendo um pedido ou recomendando para conhecidos. <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">VPS em nuvem para desenvolvedores a partir de $4.99<\/a><\/noindex>, <b>uma alternativa \u00fanica aos servidores entry-level, que criamos para voc\u00ea:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Toda a verdade sobre VPS (KVM) E5-2697 v3 (6 N\u00facleos) 10GB DDR4 480GB SSD 1Gbps a partir de $19 ou como dividir um servidor corretamente?<\/a><\/noindex> (dispon\u00edveis op\u00e7\u00f5es com RAID1 e RAID10, at\u00e9 24 n\u00facleos e at\u00e9 40GB DDR4).<\/p>\n<p><b>Dell R730xd por 2 vezes mais barato no datacenter Equinix Tier IV em Amsterd\u00e3?<\/b> Somente conosco <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 a partir de $199<\/a><\/noindex> na Holanda! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 a partir de $99!<\/b><\/b> Leia sobre <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Como construir uma infraestrutura de classe corporativa utilizando servidores Dell R730xd E5-2650 v4 com custo de 9000 euros por centavos?<\/a><\/noindex><br \/>\n<br \/>Fonte: <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.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\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos | ProHoster","description":"Melhores pr\u00e1ticas de Kubernetes.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-mapping-vneshnih-servisov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/82902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=82902"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/82902\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/82903"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=82902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=82902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=82902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}