{"id":81130,"date":"2020-05-11T01:42:39","date_gmt":"2020-05-10T23:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo"},"modified":"2020-05-11T01:42:39","modified_gmt":"2020-05-10T23:42:39","slug":"kubernetes-open-source-protiv-vendorskogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","title":{"rendered":"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Ol\u00e1, meu nome \u00e9 Dmitry Krasnov. H\u00e1 mais de cinco anos, trabalho com a administra\u00e7\u00e3o de clusters Kubernetes e constru\u00e7\u00e3o de arquiteturas de microservi\u00e7os complexas. No in\u00edcio deste ano, lan\u00e7amos um servi\u00e7o de gerenciamento de clusters Kubernetes baseado no Containerum. Aproveitando a oportunidade, vou explicar o que \u00e9 esse Kubernetes e como a integra\u00e7\u00e3o com provedores difere do open source.<\/b><\/p>\n<p>Para come\u00e7ar, o que \u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">Kubernetes<\/a><\/noindex>. \u00c9 um sistema para gerenciar cont\u00eaineres em um grande n\u00famero de hosts. Em grego, ali\u00e1s, traduz-se como \"condutor\" ou \"piloto\". Originalmente desenvolvido pelo Google, depois foi transferido como uma contribui\u00e7\u00e3o tecnol\u00f3gica para a Cloud Native Computing Foundation, uma organiza\u00e7\u00e3o internacional sem fins lucrativos que re\u00fane os principais desenvolvedores do mundo, usu\u00e1rios finais e fornecedores de tecnologias de cont\u00eaineres. <\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio\" src=\"\/wp-content\/uploads\/2020\/05\/7cbe773adf691ad29c4aaa7a2c8f0461.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Gerenciar um grande n\u00famero de cont\u00eaineres <\/h3>\n<p>\nAgora, vamos entender o que s\u00e3o esses cont\u00eaineres. \u00c9 um aplicativo com todo o seu ambiente \u2014 na maioria das vezes, as bibliotecas das quais o programa depende. Tudo isso \u00e9 empacotado em arquivos e apresentado na forma de uma imagem, que pode ser executada independentemente do sistema operacional, testada e muito mais. Mas h\u00e1 um problema \u2014 gerenciar cont\u00eaineres em um grande n\u00famero de hosts \u00e9 muito complicado. Por isso, o Kubernetes foi criado. <\/p>\n<p>A imagem do cont\u00eainer consiste em um aplicativo mais suas depend\u00eancias. O aplicativo, suas depend\u00eancias e a imagem do sistema de arquivos do SO est\u00e3o localizados em diferentes partes da imagem, chamados de camadas. As camadas podem ser reutilizadas para diferentes cont\u00eaineres. Por exemplo, todas as aplica\u00e7\u00f5es de uma empresa podem usar uma camada base do Ubuntu. Ao iniciar cont\u00eaineres, n\u00e3o \u00e9 necess\u00e1rio armazenar m\u00faltiplas c\u00f3pias de uma \u00fanica camada base no host. Isso permite otimizar o armazenamento e a entrega de imagens.<\/p>\n<p>Quando queremos executar um aplicativo a partir de um cont\u00eainer, as camadas necess\u00e1rias se sobrep\u00f5em e formam um sistema de arquivos sobreposto. Uma camada de escrita \u00e9 aplicada por cima, a qual \u00e9 removida quando o cont\u00eainer \u00e9 interrompido. Isso garante que, ao iniciar o cont\u00eainer, o aplicativo tenha sempre um ambiente id\u00eantico que n\u00e3o pode ser modificado. Assim, a reprodutibilidade do ambiente em diferentes sistemas operacionais host \u00e9 garantida. Seja Ubuntu ou CentOS, o ambiente ser\u00e1 sempre o mesmo. Al\u00e9m disso, o cont\u00eainer \u00e9 isolado do host por meio de mecanismos integrados no n\u00facleo do Linux. Aplicativos dentro do cont\u00eainer n\u00e3o veem arquivos ou processos do host e de outros cont\u00eaineres. Essa isola\u00e7\u00e3o dos aplicativos em rela\u00e7\u00e3o ao sistema operacional host oferece uma camada adicional de seguran\u00e7a. <\/p>\n<p>H\u00e1 diversas ferramentas para gerenciar cont\u00eaineres em um host. A mais popular delas \u00e9 o Docker. Ele assegura o ciclo de vida completo dos cont\u00eaineres. No entanto, ele funciona apenas em um \u00fanico host. Quando \u00e9 necess\u00e1rio gerenciar cont\u00eaineres em m\u00faltiplos hosts, o Docker pode tornar a vida dos engenheiros um verdadeiro inferno. Por isso, foi criado o Kubernetes.<\/p>\n<p>A demanda pelo Kubernetes \u00e9 impulsionada pela sua capacidade de gerenciar grupos de cont\u00eaineres em m\u00faltiplos hosts como se fossem entidades \u00fanicas. A popularidade do sistema \u00e9 garantida pela possibilidade de construir DevOps, ou Operations de Desenvolvimento, onde o Kubernetes \u00e9 usado para executar os processos desse mesmo DevOps.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio\" src=\"\/wp-content\/uploads\/2020\/05\/40f253f4445595376231bb384253763d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 1. Representa\u00e7\u00e3o esquem\u00e1tica do funcionamento do Kubernetes<\/i><\/p>\n<h3>Automatiza\u00e7\u00e3o completa<\/h3>\n<p>\nDevOps, em ess\u00eancia, representa a automatiza\u00e7\u00e3o do processo de desenvolvimento. De forma simplificada, os desenvolvedores escrevem c\u00f3digo, que \u00e9 enviado para um reposit\u00f3rio. Esse c\u00f3digo pode ent\u00e3o ser automaticamente compilado diretamente em um cont\u00eainer com todas as bibliotecas, testado e colocado na pr\u00f3xima fase \u2013 Staging, e depois imediatamente em Production.<\/p>\n<p>Juntamente com o Kubernetes, o DevOps permite automatizar esse processo, de modo que ocorra praticamente sem a participa\u00e7\u00e3o dos pr\u00f3prios desenvolvedores. Isso acelera significativamente a constru\u00e7\u00e3o, pois o desenvolvedor n\u00e3o precisa se preocupar com isso em seu computador \u2014 ele simplesmente escreve um trecho de c\u00f3digo, envia o c\u00f3digo para o reposit\u00f3rio, ap\u00f3s o que um pipeline \u00e9 iniciado, que pode incluir o processo de constru\u00e7\u00e3o, teste e implementa\u00e7\u00e3o. E isso acontece com cada commit, portanto, os testes ocorrem continuamente.<\/p>\n<p>Al\u00e9m disso, o uso de cont\u00eaineres garante que todo o ambiente desse programa ser\u00e1 implantado em produ\u00e7\u00e3o exatamente da forma como foi testado. Ou seja, n\u00e3o surgir\u00e3o problemas do tipo \"na vers\u00e3o de teste havia uma vers\u00e3o, em produ\u00e7\u00e3o \u2014 outra, e ao implantar \u2014 tudo falhou\". E visto que hoje temos a tend\u00eancia de arquiteturas de microsservi\u00e7os, onde em vez de um grande aplicativo h\u00e1 centenas de pequenos, para gerenci\u00e1-los manualmente, ser\u00e1 necess\u00e1rio um grande n\u00famero de funcion\u00e1rios. Por isso usamos o Kubernetes.<\/p>\n<p><b><\/p>\n<h3>Vantagens, vantagens, vantagens<\/h3>\n<p><\/b><br \/>\nSe falarmos sobre as vantagens do Kubernetes como plataforma, ele apresenta benef\u00edcios significativos em termos de gerenciamento de arquitetura de microsservi\u00e7os. <\/p>\n<ul>\n<li> <b>Gerenciamento de m\u00faltiplas r\u00e9plicas.<\/b> O mais importante \u00e9 o gerenciamento de cont\u00eaineres em m\u00faltiplos hosts. E mais importante ainda, \u2014 o gerenciamento de m\u00faltiplas r\u00e9plicas de aplicativos em cont\u00eaineres como uma entidade \u00fanica. Gra\u00e7as a isso, os engenheiros n\u00e3o precisam se preocupar com cada cont\u00eainer individual. Se um dos cont\u00eaineres falhar, o Kubernetes detectar\u00e1 isso e o reiniciar\u00e1. <\/li>\n<li> <b>Rede de cluster.<\/b> Al\u00e9m disso, o Kubernetes possui o que se chama rede de cluster com seu pr\u00f3prio espa\u00e7o de endere\u00e7amento. Isso garante que cada pod tenha seu pr\u00f3prio endere\u00e7o. Um pod \u00e9 a menor unidade estrutural do cluster, onde os cont\u00eaineres s\u00e3o executados diretamente. Al\u00e9m disso, o Kubernetes possui funcionalidades que combinam um balanceador de carga e descoberta de servi\u00e7os. Isso elimina a necessidade de gerenciamento manual de endere\u00e7os IP, transferindo essa tarefa para o Kubernetes. E os health checks autom\u00e1ticos ajudam a detectar problemas e redirecionar o tr\u00e1fego para os pods em funcionamento.<\/li>\n<li> <b>Gerenciamento de configura\u00e7\u00f5es. <\/b>Gerenciar uma grande quantidade de aplicativos torna a configura\u00e7\u00e3o deles complexa. Para isso, o Kubernetes possui recursos especiais chamados ConfigMap. Eles permitem armazenar centralizadamente as configura\u00e7\u00f5es e inseri-las nos pods ao iniciar os aplicativos. Esse mecanismo garante a consist\u00eancia da configura\u00e7\u00e3o, seja em dez ou em cem r\u00e9plicas de aplicativos. <\/li>\n<li> <b>Volumes Persistentes. <\/b>Os cont\u00eaineres s\u00e3o, por natureza, imut\u00e1veis, e ao interromper um cont\u00eainer, todos os dados gravados no sistema de arquivos ser\u00e3o destru\u00eddos. No entanto, alguns aplicativos armazenam dados diretamente no disco. Para resolver esse problema, o Kubernetes possui recursos de gerenciamento de armazenamento chamado Volumes Persistentes. Este mecanismo utiliza armazenamento externo para dados e pode fornecer armazenamento persistente, seja em bloco ou arquivo, para os cont\u00eaineres. Essa solu\u00e7\u00e3o permite armazenar dados separadamente dos workers, o que os protege em caso de falhas desses workers.<\/li>\n<li> <b>Balanceador de Carga.<\/b> Apesar de no Kubernetes gerenciarmos entidades abstratas como Deployments, StatefulSets etc., no final das contas, os cont\u00eaineres s\u00e3o executados em servidores comuns <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/vps\/abuzoustojchivye-vps\/\"   title=\"m\u00e1quinas virtuais\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4246\">m\u00e1quinas virtuais<\/a> ou f\u00edsicos. Eles n\u00e3o s\u00e3o perfeitos e podem falhar a qualquer momento. O Kubernetes detectar\u00e1 isso e redirecionar\u00e1 o tr\u00e1fego interno para outras r\u00e9plicas. Mas o que fazer com o tr\u00e1fego que vem de fora? Se simplesmente direcionarmos o tr\u00e1fego para um dos workers, o servi\u00e7o ficar\u00e1 indispon\u00edvel em caso de falha. Para resolver esse problema, o Kubernetes possui servi\u00e7os do tipo Load Balancer. Eles s\u00e3o destinados a configurar automaticamente um balanceador de carga externo em todos os workers no cluster. Esse balanceador externo direciona o tr\u00e1fego que vem de fora para os workers e monitora seu status. Se um ou mais workers ficarem indispon\u00edveis, o tr\u00e1fego \u00e9 redirecionado para outros. Isso permite criar servi\u00e7os de alta disponibilidade usando Kubernetes.<\/li>\n<\/ul>\n<p>\nO Kubernetes se destaca principalmente na execu\u00e7\u00e3o de arquiteturas de microsservi\u00e7os. Implementar o sistema em uma arquitetura cl\u00e1ssica \u00e9 poss\u00edvel, mas sem sentido. Se um aplicativo n\u00e3o pode funcionar em v\u00e1rias r\u00e9plicas, qual \u00e9 o prop\u00f3sito de us\u00e1-lo no Kubernetes?<\/p>\n<p><b><\/p>\n<h3>Kubernetes de c\u00f3digo aberto<\/h3>\n<p><\/b><br \/>\nKubernetes de c\u00f3digo aberto \u2013 uma excelente solu\u00e7\u00e3o: voc\u00ea instala e ele funciona. Pode ser implantado em seus pr\u00f3prios servidores, em sua infraestrutura, configurar um master e workers, onde todas as aplica\u00e7\u00f5es ser\u00e3o executadas. E o melhor \u2013 tudo isso \u00e9 gratuito. No entanto, existem nuances.<\/p>\n<ul>\n<li> A primeira \u2013 a exig\u00eancia de conhecimento e experi\u00eancia dos administradores e engenheiros que v\u00e3o implantar e dar suporte a tudo isso. Como o cliente obt\u00e9m total liberdade de a\u00e7\u00e3o no cluster, a responsabilidade pela opera\u00e7\u00e3o do cluster recai sobre ele. E \u00e9 muito f\u00e1cil quebrar tudo aqui.<\/li>\n<li> A segunda \u2013 a falta de integra\u00e7\u00f5es. Ao executar o Kubernetes sem uma plataforma de virtualiza\u00e7\u00e3o popular, voc\u00ea n\u00e3o aproveitar\u00e1 todas as vantagens do programa. Como o uso de Persistent Volumes e servi\u00e7os de Load balancer.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio\" src=\"\/wp-content\/uploads\/2020\/05\/8445e46889ca4c4d53bd91abeaa49256.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 2. Arquitetura do k8s<\/i><\/p>\n<p><b><\/p>\n<h3>Kubernetes do fornecedor<\/h3>\n<p><\/b><br \/>\nA integra\u00e7\u00e3o com o provedor de nuvem oferece duas possibilidades: <\/p>\n<ul>\n<li> Primeiro, a pessoa pode simplesmente clicar no bot\u00e3o \u2018criar cluster\u2019 e obter um cluster j\u00e1 configurado e pronto para uso.<\/li>\n<li> Em segundo lugar, o fornecedor mesmo instala o cluster e configura a integra\u00e7\u00e3o com a nuvem.<\/li>\n<\/ul>\n<p>\nComo isso acontece conosco. O engenheiro que inicia o cluster especifica quantos workers precisa e com quais par\u00e2metros (por exemplo, 5 workers, cada um com 10 CPUs, 16 GB de RAM e, digamos, 100 GB de disco). Ap\u00f3s isso, ele obt\u00e9m acesso ao cluster j\u00e1 formado. Nesse caso, os workers, onde a carga \u00e9 executada, s\u00e3o completamente entregues ao cliente, mas todo o plano de gerenciamento permanece sob a responsabilidade do fornecedor (caso o servi\u00e7o seja fornecido na modalidade de servi\u00e7o gerenciado).<\/p>\n<p>No entanto, esse esquema tem suas desvantagens. Devido ao fato de que o plano de gerenciamento permanece com o fornecedor, este n\u00e3o oferece acesso completo ao cliente, o que reduz a flexibilidade ao trabalhar com o Kubernetes. \u00c0s vezes, o cliente quer adicionar algum recurso espec\u00edfico ao Kubernetes, por exemplo, autentica\u00e7\u00e3o via LDAP, mas a configura\u00e7\u00e3o do plano de gerenciamento n\u00e3o permite isso.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio\" src=\"\/wp-content\/uploads\/2020\/05\/e5cff16e4280cf041917c886c146a2d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Figura 3. Exemplo de cluster Kubernetes de um provedor de nuvem<\/i><\/p>\n<p><b><\/p>\n<h3>O que escolher: open source ou de fornecedor<\/h3>\n<p><\/b><br \/>\nEnt\u00e3o, Kubernetes open source ou propriet\u00e1rio? Se voc\u00ea optar pelo Kubernetes open source, o usu\u00e1rio faz o que quiser. Mas existe uma grande chance de se prejudicar. Com o modelo propriet\u00e1rio, isso \u00e9 mais dif\u00edcil, pois a empresa planejou e configurou tudo. A maior desvantagem do Kubernetes open source \u00e9 a necessidade de especialistas. Com o modelo propriet\u00e1rio, a empresa \u00e9 liberada dessa dor de cabe\u00e7a, mas ter\u00e1 que decidir: pagar seus especialistas ou ao fornecedor.<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio\" src=\"\/wp-content\/uploads\/2020\/05\/f14130c42049e20b2f33121e4d789cca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Kubernetes: c\u00f3digo aberto versus propriet\u00e1rio\" src=\"\/wp-content\/uploads\/2020\/05\/4fb1feaacd42a67a444ae1600e37d0f0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBem, os pr\u00f3s s\u00e3o \u00f3bvios, e os contras tamb\u00e9m s\u00e3o conhecidos. Uma coisa \u00e9 certa: o Kubernetes resolve uma s\u00e9rie de problemas, automatizando a gest\u00e3o de m\u00faltiplos cont\u00eaineres. E qual escolher, open source ou propriet\u00e1rio, \u00e9 uma decis\u00e3o que cada um deve tomar.<\/p>\n<p><i>O artigo foi escrito por Dmitry Krasnov, arquiteto chefe do servi\u00e7o Containerum do provedor #CloudMTS. <\/i><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ru_mts\/blog\/500728\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441 \u043f\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes \u043d\u0430 \u0431\u0430\u0437\u0435 Containerum. \u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u043e\u0432\u043e\u0434\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 Kubernetes \u0438 \u0447\u0435\u043c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u043c \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 open source. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81130","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\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\/kubernetes-open-source-protiv-vendorskogo\" \/>\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\udd47Kubernetes: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo\" \/>\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-10T23:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-10T23:42:39+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\udd47Kubernetes: open source contra propriet\u00e1rio | ProHoster","description":"Ol\u00e1, meu nome \u00e9 Dmitry Krasnov. H\u00e1 mais de cinco anos trabalho com a administra\u00e7\u00e3o de clusters Kubernetes e a constru\u00e7\u00e3o de arquiteturas microservi\u00e7os complexas.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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\udd47Kubernetes: open source \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0435\u043d\u0434\u043e\u0440\u0441\u043a\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0414\u043c\u0438\u0442\u0440\u0438\u0439 \u041a\u0440\u0430\u0441\u043d\u043e\u0432. \u0423\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432 Kubernetes \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/kubernetes-open-source-protiv-vendorskogo","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-10T23:42:39+00:00","article:modified_time":"2020-05-10T23:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81130","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 16:04:23","updated":"2022-09-27 22:17:56","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\/81130","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=81130"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/81130\/revisions"}],"predecessor-version":[{"id":164121,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/81130\/revisions\/164121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/81131"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=81130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=81130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=81130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}