{"id":82913,"date":"2020-05-26T13:42:32","date_gmt":"2020-05-26T11:42:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate"},"modified":"2020-05-26T13:42:32","modified_gmt":"2020-05-26T11:42:32","slug":"luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","title":{"rendered":"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate","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><\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/4c3f50a0968007bbfa99d167b43d0a5a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm ponto importante no funcionamento de sistemas distribu\u00eddos \u00e9 o tratamento de falhas. O Kubernetes ajuda nisso, utilizando controladores que monitoram o estado do seu sistema e reiniciam servi\u00e7os que pararam de funcionar. No entanto, o Kubernetes pode interromper for\u00e7adamente suas aplica\u00e7\u00f5es para garantir a viabilidade geral do sistema. Nesta s\u00e9rie, vamos explorar como ajudar o Kubernetes a realizar seu trabalho de forma mais eficaz e reduzir o tempo de inatividade das aplica\u00e7\u00f5es. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Antes da introdu\u00e7\u00e3o dos cont\u00eaineres, a maioria das aplica\u00e7\u00f5es funcionava em m\u00e1quinas virtuais ou f\u00edsicas. Se uma aplica\u00e7\u00e3o falhasse ou travasse, era necess\u00e1rio muito tempo para interromper a tarefa em execu\u00e7\u00e3o e reiniciar o programa. No pior dos casos, algu\u00e9m tinha que resolver esse problema manualmente durante a noite, no pior hor\u00e1rio poss\u00edvel. Se uma tarefa importante fosse executada por apenas 1-2 m\u00e1quinas, essa falha era completamente inaceit\u00e1vel. <br \/>\nPor isso, em vez de reinicializa\u00e7\u00e3o manual, come\u00e7ou-se a usar monitoramento a n\u00edvel de processos para reiniciar automaticamente a aplica\u00e7\u00e3o em caso de falha. Se o programa falhasse, o processo de monitoramento capturava o c\u00f3digo de sa\u00edda e reiniciava o servidor. Com sistemas como o Kubernetes, esse tipo de resposta a falhas foi simplesmente integrado \u00e0 infraestrutura.<\/p>\n<p>O Kubernetes utiliza um loop de eventos de \"observa\u00e7\u00e3o \u2013 registro de diferen\u00e7as \u2013 a\u00e7\u00e3o\" para garantir que os recursos permane\u00e7am operacionais ao longo do caminho, desde os cont\u00eaineres at\u00e9 os pr\u00f3prios n\u00f3s.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/fe255d31824d2e570492a882ea7e54c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIsso significa que voc\u00ea n\u00e3o precisa mais iniciar manualmente o monitoramento de processos. Se um recurso falhar na verifica\u00e7\u00e3o de integridade, o Kubernetes simplesmente fornecer\u00e1 automaticamente uma substitui\u00e7\u00e3o. Neste processo, o Kubernetes faz muito mais do que simplesmente monitorar as falhas de suas aplica\u00e7\u00f5es. Ele pode criar mais c\u00f3pias da aplica\u00e7\u00e3o para funcionar em v\u00e1rias m\u00e1quinas, atualizar a aplica\u00e7\u00e3o ou executar simultaneamente v\u00e1rias vers\u00f5es da sua aplica\u00e7\u00e3o.<br \/>\nPortanto, existem v\u00e1rias raz\u00f5es pelas quais o Kubernetes pode interromper um cont\u00eainer que est\u00e1 perfeitamente saud\u00e1vel. Por exemplo, se voc\u00ea atualizar seu deployment, o Kubernetes come\u00e7ar\u00e1 a parar os pods antigos lentamente, enquanto inicia novos. Se voc\u00ea desativar um n\u00f3, o Kubernetes interromper\u00e1 todos os pods nesse n\u00f3. Finalmente, se um n\u00f3 ficar sem recursos, o Kubernetes desligar\u00e1 todos os pods para liberar esses recursos.<\/p>\n<p>Por isso, \u00e9 muito importante que seu aplicativo pare com o m\u00ednimo de impacto para o usu\u00e1rio final e um tempo de recupera\u00e7\u00e3o reduzido. Isso significa que, antes de desligar, ele deve salvar todos os dados que precisam ser salvos, fechar todas as conex\u00f5es de rede, concluir qualquer trabalho restante e realizar outras tarefas urgentes.<\/p>\n<p>Na pr\u00e1tica, isso significa que seu aplicativo deve ser capaz de lidar com a mensagem SIGTERM \u2013 um sinal de t\u00e9rmino de processo, que \u00e9 o sinal padr\u00e3o para a utilidade kill em sistemas operacionais da fam\u00edlia Unix. Ao receber essa mensagem, o aplicativo deve se desligar.<\/p>\n<p>Depois que o Kubernetes decide encerrar um pod, uma s\u00e9rie de eventos ocorre. Vamos analisar cada passo que o Kubernetes realiza ao interromper um cont\u00eainer ou pod.<\/p>\n<p>Suponha que queiramos encerrar um dos pods. Nesse momento, ele deixar\u00e1 de receber novo tr\u00e1fego \u2013 os cont\u00eaineres em execu\u00e7\u00e3o no pod n\u00e3o ser\u00e3o afetados, mas todo o novo tr\u00e1fego ser\u00e1 bloqueado.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/d89c31e39bfdc16e5a8db3b4e22f8dca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVamos considerar o hook preStop \u2013 \u00e9 um comando especial ou uma solicita\u00e7\u00e3o HTTP que \u00e9 enviada para os cont\u00eaineres no pod. Se seu aplicativo n\u00e3o se desliga corretamente ao receber SIGTERM, voc\u00ea pode usar o preStop para garantir um desligamento adequado. <\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/9d45a209daf3b5698266481680b45da2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA maioria dos programas responde ao sinal SIGTERM encerrando corretamente suas opera\u00e7\u00f5es, mas se voc\u00ea estiver usando c\u00f3digo de terceiros ou algum sistema que n\u00e3o pode controlar totalmente, o hook preStop serve como uma excelente maneira de facilitar um desligamento elegante sem modificar o aplicativo.<\/p>\n<p>Ap\u00f3s a execu\u00e7\u00e3o desse hook, o Kubernetes enviar\u00e1 um sinal SIGTERM para os cont\u00eaineres no pod, avisando-os de que em breve ser\u00e3o desligados. Ao receber esse sinal, seu c\u00f3digo entrar\u00e1 no processo de desligamento. Esse processo pode incluir a interrup\u00e7\u00e3o de quaisquer conex\u00f5es de longa dura\u00e7\u00e3o, como a conex\u00e3o com o banco de dados ou um fluxo WebSocket, al\u00e9m da preserva\u00e7\u00e3o do estado atual e assim por diante.<\/p>\n<p>Mesmo que voc\u00ea use o hook preStop, \u00e9 muito importante verificar o que exatamente acontece com seu aplicativo quando voc\u00ea envia o sinal SIGTERM e como ele se comporta nesse momento, para que eventos ou mudan\u00e7as no funcionamento do sistema ocasionados pelo desligamento do pod n\u00e3o sejam uma surpresa para voc\u00ea.<\/p>\n<p>Nesse momento, antes de tomar qualquer a\u00e7\u00e3o adicional, o Kubernetes aguardar\u00e1 durante um tempo especificado, chamado terminationGracePeriodSecond, ou per\u00edodo para desligamento adequado ao receber o sinal SIGTERM.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/6f74959ff74252bb1ad2dd9c011c177c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPor padr\u00e3o, esse per\u00edodo \u00e9 de 30 segundos. \u00c9 importante notar que ele ocorre em paralelo com o hook preStop e o sinal SIGTERM. O Kubernetes n\u00e3o aguardar\u00e1 a finaliza\u00e7\u00e3o do hook preStop e do SIGTERM \u2014 se seu aplicativo encerrar antes do t\u00e9rmino do per\u00edodo TerminationGracePeriod, o Kubernetes passar\u00e1 imediatamente para o pr\u00f3ximo passo. Portanto, verifique se o valor desse per\u00edodo em segundos n\u00e3o \u00e9 menor do que o tempo necess\u00e1rio para um desligamento adequado do pod e, se exceder 30 segundos, aumente o per\u00edodo para o tamanho desejado no YAML. No exemplo dado, ele \u00e9 de 60 segundos.<\/p>\n<p>E, finalmente, o \u00faltimo passo \u2014 se os cont\u00eaineres ainda continuarem funcionando ap\u00f3s o t\u00e9rmino do terminationGracePeriod, eles enviar\u00e3o um sinal SIGKILL e ser\u00e3o removidos \u00e0 for\u00e7a. Nesse momento, o Kubernetes tamb\u00e9m limpar\u00e1 todos os outros objetos do pod.<\/p>\n<p><img decoding=\"async\" alt=\"Melhores pr\u00e1ticas de Kubernetes. Desligamento adequado Terminate\" src=\"\/wp-content\/uploads\/2020\/05\/cb71079ffd166c955474738e5af6301a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO Kubernetes interrompe pods por v\u00e1rios motivos, portanto, certifique-se de que, em qualquer situa\u00e7\u00e3o, seu aplicativo seja encerrado adequadamente para garantir a estabilidade do servi\u00e7o. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/503612\/\">Melhores pr\u00e1ticas de Kubernetes. Mapeamento de servi\u00e7os externos <\/a><\/noindex><\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"Z_l_kE1MDTc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/Z_l_kE1MDTc\/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\/503488\/\">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 \u0412\u0430\u0436\u043d\u044b\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0431\u043e\u0435\u0432. Kubernetes \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432 \u044d\u0442\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0435\u0434\u044f\u0442 \u0437\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":82914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-82913","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-korrektnoe-otklyuchenie-terminate\" \/>\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. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate | 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-korrektnoe-otklyuchenie-terminate\" \/>\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:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-26T11:42:32+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 do Kubernetes. Desligamento adequado Terminate | ProHoster","description":"Melhores pr\u00e1ticas de Kubernetes.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/luchshie-praktiki-kubernetes-korrektnoe-otklyuchenie-terminate","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. \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Terminate | 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-korrektnoe-otklyuchenie-terminate","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:32+00:00","article:modified_time":"2020-05-26T11:42:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"82913","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:28:37","updated":"2022-09-29 17:02:01","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\/82913","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=82913"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/82913\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/82914"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=82913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=82913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=82913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}