{"id":56218,"date":"2020-02-07T00:00:00","date_gmt":"2020-02-06T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/dark-launch-v-istio-sekretnye-sluzhby"},"modified":"2020-02-18T14:04:26","modified_gmt":"2020-02-18T11:04:26","slug":"dark-launch-v-istio-sekretnye-sluzhby","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby","title":{"rendered":"Dark Launch no Istio: servi\u00e7os secretos","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00abPerigo \u2013 meu segundo nome\u00bb, dizia Austin Powers, um homem enigm\u00e1tico de import\u00e2ncia internacional. Mas o que \u00e9 valorizado pelos superagentes e servi\u00e7os secretos n\u00e3o serve para os servi\u00e7os de computa\u00e7\u00e3o, onde a monotonia \u00e9 muito prefer\u00edvel ao perigo. <\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/c29a2cabb6fca30d622401987f3e488a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE o Istio, junto com o OpenShift e o Kubernetes, transforma a implanta\u00e7\u00e3o de microsservi\u00e7os em uma tarefa realmente mon\u00f3tona e previs\u00edvel \u2013 e isso \u00e9 \u00f3timo. Vamos falar sobre isso e muito mais no quarto e \u00faltimo post da s\u00e9rie sobre Istio. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Quando a monotonia \u00e9 a escolha certa<\/h3>\n<p>\nNo nosso caso, a monotonia surge apenas na fase final, quando resta apenas sentar e observar o processo. Mas para isso, \u00e9 necess\u00e1rio configur\u00e1-lo tudo previamente, e aqui voc\u00ea encontrar\u00e1 muitas coisas interessantes.<\/p>\n<p>Ao implantar uma nova vers\u00e3o do seu software, \u00e9 importante considerar todas as op\u00e7\u00f5es para minimizar riscos. Trabalhar em modo paralelo \u00e9 uma forma muito poderosa e comprovada de teste, e o Istio permite usar um 'servi\u00e7o secreto' (uma vers\u00e3o do seu microsservi\u00e7o oculta dos olhos dos outros) sem interferir no funcionamento do sistema de produ\u00e7\u00e3o. Para isso, existe at\u00e9 um termo espec\u00edfico \u2013 'Lan\u00e7amento Secreto' (Dark Launch), que por sua vez \u00e9 ativado por uma fun\u00e7\u00e3o com um nome igualmente espionagem: 'espelhamento de tr\u00e1fego'.<\/p>\n<p>Observe que na primeira frase do par\u00e1grafo anterior \u00e9 utilizado o termo 'implanta\u00e7\u00e3o' (deploy), e n\u00e3o 'lan\u00e7amento' (release). Voc\u00ea realmente deve ser capaz de implantar \u2013 e, claro, utilizar \u2013 seu microsservi\u00e7o sempre que desejar. Este servi\u00e7o deve ser capaz de aceitar e processar tr\u00e1fego, fornecer resultados, al\u00e9m de registrar em logs e ser monitorado. Mas o servi\u00e7o em si n\u00e3o precisa ser lan\u00e7ado em produ\u00e7\u00e3o. Implanta\u00e7\u00e3o e lan\u00e7amento de software nem sempre s\u00e3o a mesma coisa. Voc\u00ea pode implantar sempre que quiser, enquanto o lan\u00e7amento s\u00f3 deve ocorrer quando voc\u00ea estiver completamente pronto.<\/p>\n<h3>Organizar a monotonia \u00e9 interessante<\/h3>\n<p>\nVeja a seguinte regra de roteamento do Istio, que direciona todas as requisi\u00e7\u00f5es HTTP para o microsservi\u00e7o recommendation v1 (todos os exemplos s\u00e3o retirados de <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial#mirroring-traffic-dark-launch\">reposit\u00f3rio GitHub do Istio Tutorial<\/a><\/noindex>), espelhando-as simultaneamente no microsservi\u00e7o recommendation v2:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/7139950ed58f23ceb43546ec932c6b92.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPreste aten\u00e7\u00e3o na etiqueta <code>mirror:<\/code> na parte inferior da tela \u2013 \u00e9 ela que define o espelhamento de tr\u00e1fego. Sim, \u00e9 simples assim!<\/p>\n<p>A implementa\u00e7\u00e3o desta regra far\u00e1 com que seu sistema de produ\u00e7\u00e3o (v1) continue processando as solicita\u00e7\u00f5es recebidas, enquanto os pr\u00f3prios pedidos ser\u00e3o espelhados de forma ass\u00edncrona em v2, ou seja, c\u00f3pias completas deles ser\u00e3o enviadas para l\u00e1. Assim, voc\u00ea poder\u00e1 testar o funcionamento do v2 em condi\u00e7\u00f5es reais \u2014 com dados e tr\u00e1fego reais \u2014 sem interferir no funcionamento do sistema de produ\u00e7\u00e3o. Isso torna a organiza\u00e7\u00e3o do teste um t\u00e9dio? Sim, sem d\u00favida. Mas \u00e9 feito de forma interessante.<\/p>\n<h3>Vamos adicionar um pouco de drama<\/h3>\n<p>\nObserve que no c\u00f3digo v2, \u00e9 necess\u00e1rio prever situa\u00e7\u00f5es em que as solicita\u00e7\u00f5es recebidas possam levar a altera\u00e7\u00f5es nos dados. As pr\u00f3prias solicita\u00e7\u00f5es s\u00e3o espelhadas de forma f\u00e1cil e transparente, mas a escolha do m\u00e9todo de processamento no teste fica a seu crit\u00e9rio \u2014 e isso \u00e9 um pouco preocupante.<\/p>\n<h3>Vamos repetir um ponto importante <\/h3>\n<p>\nO lan\u00e7amento secreto com espelhamento de tr\u00e1fego (Dark Launch\/Request Mirroring) pode ser realizado sem afetar o c\u00f3digo de forma alguma.<\/p>\n<h3>Uma reflex\u00e3o<\/h3>\n<p>\nE se, em vez de espelhar todas as solicita\u00e7\u00f5es para v1, envi\u00e1ssemos uma parte delas para v2? Por exemplo, um por cento de todas as solicita\u00e7\u00f5es ou apenas as solicita\u00e7\u00f5es de um grupo espec\u00edfico de usu\u00e1rios. E ent\u00e3o, ao observar como v2 funciona, ir gradualmente transferindo todas as solicita\u00e7\u00f5es para a nova vers\u00e3o. Ou, ao contr\u00e1rio, retornar tudo para v1, se algo der errado com v2. Isso parece ser chamado de Canary Deployment (\"implanta\u00e7\u00e3o can\u00e1rio\" \u2014 um termo <noindex><a rel=\"nofollow\" href=\"http:\/\/miningwiki.ru\/wiki\/%D0%9A%D0%B0%D0%BD%D0%B0%D1%80%D0%B5%D0%B9%D0%BA%D0%B0_%D0%B2_%D1%88%D0%B0%D1%85%D1%82%D0%B5\">que remonta \u00e0 minera\u00e7\u00e3o<\/a><\/noindex>, e se tivesse origens russas, provavelmente faria alus\u00e3o a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=7yGrgwE_k4I\">gatos<\/a><\/noindex>), e agora iremos examinar isso mais de perto.<\/p>\n<h2>Canary Deployment no Istio: simplificando a implementa\u00e7\u00e3o<\/h2>\n<p><\/p>\n<h3>Com cautela e lentamente<\/h3>\n<p>\nA ess\u00eancia do modelo de implementa\u00e7\u00e3o Canary Deployment \u00e9 extremamente simples: ao lan\u00e7ar uma nova vers\u00e3o de seu software (neste caso \u2014 micross servi\u00e7o), voc\u00ea primeiro permite que um pequeno grupo de usu\u00e1rios tenha acesso a ele. Se tudo correr bem, voc\u00ea aumenta lentamente esse grupo at\u00e9 que a nova vers\u00e3o comece a falhar, ou \u2014 se isso n\u00e3o acontecer \u2014 eventualmente transfere todos os usu\u00e1rios para ela. Ao introduzir cuidadosamente e gradualmente a nova vers\u00e3o e controladamente mudar os usu\u00e1rios para ela, \u00e9 poss\u00edvel reduzir riscos e maximizar o feedback.<\/p>\n<p>Claro que o Istio simplifica o Canary Deployment, oferecendo v\u00e1rias boas op\u00e7\u00f5es para o roteamento inteligente de solicita\u00e7\u00f5es. E sim, tudo isso pode ser feito sem tocar no seu c\u00f3digo-fonte.<\/p>\n<h3>Filtrando o navegador<\/h3>\n<p>\nUm dos crit\u00e9rios de roteamento mais simples \u00e9 o redirecionamento com base no navegador. Suponha que voc\u00ea queira que apenas solicita\u00e7\u00f5es do navegador Safari sejam direcionadas para a v2. Veja como fazer isso:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/3d9b763ec32c250ba88c8e54f701c602.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAplicaremos essa regra de roteamento e ent\u00e3o com a equipe <code>curl<\/code> vamos simular em loop solicita\u00e7\u00f5es reais para o microsservi\u00e7o. Como voc\u00ea pode ver na captura de tela, todas est\u00e3o sendo direcionadas para a v1:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/cf270c01680b6bd19045bca239bf89c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMas onde est\u00e1 o tr\u00e1fego para a v2? Como em nosso exemplo todas as solicita\u00e7\u00f5es vieram apenas da nossa linha de comando, elas simplesmente n\u00e3o existem. Mas note as linhas inferiores na captura acima: essa \u00e9 a rea\u00e7\u00e3o ao ter feito a solicita\u00e7\u00e3o a partir do navegador Safari, que retornou o seguinte:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/dc17ede0c2aac97284d27a2a77ce0651.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Poder ilimitado<\/h3>\n<p>\nJ\u00e1 mencionamos que express\u00f5es regulares oferecem poderosas capacidades para roteamento de solicita\u00e7\u00f5es. Veja o pr\u00f3ximo exemplo (acreditamos que voc\u00ea mesmo entender\u00e1 o que ele faz):<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/edf8d60651eef50af3e83aae67fde1db.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAgora voc\u00ea provavelmente j\u00e1 tem uma ideia do que as express\u00f5es regulares podem fazer.<\/p>\n<h3>Aja de forma inteligente<\/h3>\n<p>\nO roteamento inteligente, em particular o tratamento dos cabe\u00e7alhos de pacotes usando express\u00f5es regulares, permite controlar o tr\u00e1fego como voc\u00ea desejar. E isso simplifica muito a introdu\u00e7\u00e3o de novo c\u00f3digo - \u00e9 simples, n\u00e3o requer altera\u00e7\u00f5es no pr\u00f3prio c\u00f3digo, e se necess\u00e1rio, tudo pode ser rapidamente revertido como estava.<\/p>\n<h3>Interessado?<\/h3>\n<p>\nEst\u00e1 animado para experimentar o Istio, Kubernetes e OpenShift no seu computador? A equipe <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/about\/\">Red Hat Developer Team<\/a><\/noindex> preparou um \u00f3timo <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">tutorial<\/a><\/noindex> sobre esse tema e disponibilizou todos os arquivos de apoio. Ent\u00e3o, v\u00e1 em frente e n\u00e3o se prive de nada.<br \/>\n\u2003<\/p>\n<h2>Istio Egress: sa\u00edda atrav\u00e9s da loja de souvenirs<\/h2>\n<p>\nAplicando o Istio junto com Red Hat OpenShift e Kubernetes, voc\u00ea pode facilitar muito a sua vida com microsservi\u00e7os. A malha de servi\u00e7os do Istio est\u00e1 embutida dentro dos pods do Kubernetes, enquanto seu c\u00f3digo \u00e9 executado (principalmente) de forma isolada. Desempenho, facilidade de modifica\u00e7\u00e3o, rastreamento e muito mais - tudo isso \u00e9 f\u00e1cil de utilizar devido \u00e0 aplica\u00e7\u00e3o de cont\u00eaineres sidecar. Mas o que fazer se seu microsservi\u00e7o precisar se comunicar com outros servi\u00e7os que est\u00e3o fora do seu sistema OpenShift-Kubernetes?<\/p>\n<p>Aqui entra o Istio Egress. Em poucas palavras, ele simplesmente permite acesso a recursos (leia-se: \"servi\u00e7os\") que n\u00e3o fazem parte dos pods do seu sistema Kubernetes. Sem configura\u00e7\u00f5es adicionais, o tr\u00e1fego no ambiente do Istio Egress \u00e9 roteado apenas dentro do cluster de pods e entre clusters com base nas tabelas de IP internas. Esse encapsulamento funciona bem at\u00e9 que voc\u00ea precise acessar servi\u00e7os externos.<\/p>\n<p>O Egress permite contornar as tabelas de IP mencionadas acima, seja com base em regras de Egress ou para um intervalo de endere\u00e7os IP.<\/p>\n<p>Vamos supor que temos um programa Java que faz uma requisi\u00e7\u00e3o GET para httpbin.org\/headers.<\/p>\n<p>(httpbin.org \u00e9 apenas um recurso conveniente para testar solicita\u00e7\u00f5es de servi\u00e7os de sa\u00edda.)<\/p>\n<p>Se digitarmos no terminal <code>curl http:\/\/httpbin.org\/headers<\/code>, veremos o seguinte:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/df0a2e1be00da0077bdb94a4d9fa091c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nOu podemos abrir esse mesmo endere\u00e7o no navegador:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/4fe04b4e888106d98b8f71cccf6ab430.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nComo podemos ver, o servi\u00e7o localizado l\u00e1 simplesmente retorna os cabe\u00e7alhos que foram enviados a ele.<\/p>\n<h3>Vamos fazer um substituto direto<\/h3>\n<p>\nAgora, vamos pegar o c\u00f3digo Java desse servi\u00e7o externo em rela\u00e7\u00e3o ao nosso sistema e execut\u00e1-lo onde, lembremos, temos o Istio. (Voc\u00ea pode fazer isso sozinho, consultando o <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial#egress\">nosso tutorial sobre Istio<\/a><\/noindex>.) Ap\u00f3s compilar a imagem correspondente e execut\u00e1-la na plataforma OpenShift, chamaremos esse servi\u00e7o com o comando <code>curl egresshttpbin-istioegress.$(minishift ip).nip.io<\/code>, ap\u00f3s o que veremos na tela o seguinte:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/ed71b5ba2e62415d1bbe3b54bba71eb8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nO que aconteceu? Estava funcionando, afinal. O que significa Not Found? Acabamos de criar para ele <code>curl<\/code>.<\/p>\n<h3>Expandindo as tabelas de IP para toda a internet<\/h3>\n<p>\nDevemos isso (ou agradecer) ao Istio. Afinal, o Istio \u00e9 apenas cont\u00eaineres sidecar, que s\u00e3o respons\u00e1veis pela descoberta e roteamento (e por muitas outras coisas das quais falamos anteriormente). Por essa raz\u00e3o, as tabelas de IP conhecem apenas o que est\u00e1 dentro do seu sistema de clusters. E httpbin.org est\u00e1 localizado fora e, portanto, n\u00e3o est\u00e1 acess\u00edvel. \u00c9 a\u00ed que o Istio Egress entra em cena \u2013 sem a menor mudan\u00e7a no seu c\u00f3digo-fonte.<\/p>\n<p>A regra de Egress abaixo faz o Istio procurar (se necess\u00e1rio, at\u00e9 em toda a internet) pelo servi\u00e7o desejado, neste caso, httpbin.org. Como pode ser visto neste arquivo (egress_httpbin.yml), a funcionalidade aqui \u00e9 bastante simples:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/47c65b06769d077a46e456f802b32a55.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nBasta aplicar essa regra:<\/p>\n<pre><code class=\"plaintext\">istioctl create -f egress_httpbin.yml -n istioegress\n<\/code><\/pre>\n<p>\nVoc\u00ea pode visualizar as regras de Egress com o comando <code>istioctl get egressrules<\/code>:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/dbbd11def744eacd98ce4638ea4dd30a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nE finalmente, executamos novamente o comando <i>curl<\/i> \u2013 e vemos que tudo funciona:<\/p>\n<p><img decoding=\"async\" alt=\"Dark Launch no Istio: servi\u00e7os secretos\" src=\"\/wp-content\/uploads\/2020\/02\/3ab69421969e4fdd35a4a712d22df785.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Pensamos de forma aberta<\/h3>\n<p>\nComo voc\u00ea pode ver, o Istio permite organizar a intera\u00e7\u00e3o com o mundo externo. Em outras palavras, voc\u00ea ainda pode criar servi\u00e7os OpenShift e gerenci\u00e1-los atrav\u00e9s do Kubernetes, mantendo tudo em pods que escalam para cima e para baixo conforme necess\u00e1rio. E voc\u00ea pode tranquilamente acessar servi\u00e7os externos em rela\u00e7\u00e3o ao seu ambiente. E sim, mais uma vez, reafirmamos que tudo isso pode ser feito sem alterar seu c\u00f3digo.<\/p>\n<p>Este foi o \u00faltimo post da s\u00e9rie sobre Istio. Fique conosco \u2013 ainda temos muito conte\u00fado interessante pela frente!<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/487214\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430. \u041d\u043e \u0442\u043e, \u0447\u0442\u043e \u0432 \u043f\u043e\u0447\u0435\u0442\u0435 \u0443 \u0441\u0443\u043f\u0435\u0440\u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0438 \u0441\u043f\u0435\u0446\u0441\u043b\u0443\u0436\u0431, \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043b\u0443\u0436\u0431 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0445, \u0433\u0434\u0435 \u0441\u043a\u0443\u043a\u043e\u0442\u0438\u0449\u0430 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0435\u0439. \u0418 Istio \u0432\u043c\u0435\u0441\u0442\u0435 OpenShift \u0438 Kubernetes \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 \u0434\u0435\u043b\u043e \u043f\u043e-\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c\u0443 \u0441\u043a\u0443\u0447\u043d\u043e\u0435 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u2013 \u0438 \u044d\u0442\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e. \u041e\u0431 \u044d\u0442\u043e\u043c \u0438 \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-56218","post","type-post","status-publish","format-standard","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=\"\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430.\" \/>\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\/dark-launch-v-istio-sekretnye-sluzhby\" \/>\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\udd47Dark Launch \u0432 Istio: \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby\" \/>\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-02-06T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:26+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\udd47Dark Launch no Istio: servi\u00e7os secretos | ProHoster","description":"\u00abPerigo \u00e9 meu segundo nome\u00bb, dizia Austin Powers, o homem-mist\u00e9rio de escala internacional.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby","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\udd47Dark Launch \u0432 Istio: \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b | ProHoster","og:description":"\u00ab\u041e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u2013 \u043c\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0435 \u0438\u043c\u044f\u00bb, \u2013 \u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u043b \u041e\u0441\u0442\u0438\u043d \u041f\u0430\u0443\u044d\u0440\u0441, \u0447\u0435\u043b\u043e\u0432\u0435\u043a-\u0437\u0430\u0433\u0430\u0434\u043a\u0430 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/dark-launch-v-istio-sekretnye-sluzhby","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-02-06T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"56218","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 19:28:24","updated":"2022-10-05 04:55:29","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\/56218","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=56218"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/56218\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=56218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=56218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=56218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}