{"id":3929,"date":"2017-06-27T11:38:34","date_gmt":"2017-06-27T14:38:34","guid":{"rendered":"http:\/\/blog.dialhost.com.br\/?p=3929"},"modified":"2019-05-03T17:43:43","modified_gmt":"2019-05-03T20:43:43","slug":"kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm","status":"publish","type":"post","link":"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/","title":{"rendered":"Kubernetes, quais a vantagens em utiliz\u00e1-lo mesmo depois do docker swarm?"},"content":{"rendered":"\n<p>Hoje avan\u00e7o um pouco nos conceitos de cont\u00eaineres trazendo o Kubernetes \u00a0para automatizar e gerenciar seus aplicativos em cont\u00eaineres. Ao fim farei um breve comparativo entre o Kubernetes e o docker Swarm.<\/p>\n\n\n\n<div id=\"toc_container\" class=\"have_bullets\"><p class=\"toc_title\">T&oacute;picos<\/p><ul class=\"toc_list\"><li><a href=\"#kubernetes\">Kubernetes<\/a><ul><li><a href=\"#replicaset\">ReplicaSet<\/a><\/li><li><a href=\"#services\">Services<\/a><\/li><li><a href=\"#gerenciamento-de-storage\">Gerenciamento de Storage<\/a><\/li><\/ul><\/li><li><a href=\"#mas-mesmo-depois-do-docker-ter-lancado-o-swarm-mode-porque-o-kubernetes-ainda-e-uma-opcao-mais-interessante\">Mas, mesmo depois do Docker ter lan\u00e7ado o Swarm mode, porque o Kubernetes ainda \u00e9 uma op\u00e7\u00e3o mais interessante?<\/a><\/li><\/ul><\/div>\n<h2><span id=\"kubernetes\">Kubernetes<\/span><\/h2>\n\n\n\n<p>O Kubernetes \u00e9 uma plataforma desenvolvida pela Google para gerenciar aplicativos em cont\u00eaineres atrav\u00e9s de m\u00faltiplos hosts de um cluster e assim, ampliar a estabilidade e controle do servi\u00e7o.<\/p>\n\n\n\n<p>Com ele se tornou poss\u00edvel o que por muito tempo n\u00e3o era poss\u00edvel, nativamente, atrav\u00e9s do Docker: criar balanceamento de cargas e a migra\u00e7\u00e3o de cont\u00eaineres sem perda de dados. Al\u00e9m disto \u00e9 poss\u00edvel automatizar estas a\u00e7\u00f5es para ter alta disponibilidade dos seus servi\u00e7os.<\/p>\n\n\n\n<h3><span id=\"replicaset\">ReplicaSet<\/span><\/h3>\n\n\n\n<p>O <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/replicaset\/\" target=\"_blank\" rel=\"noopener noreferrer\">ReplicaSet <\/a>\u00e9 a nova gera\u00e7\u00e3o do j\u00e1 conhecido <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/replicationcontroller\/\" target=\"_blank\" rel=\"noopener noreferrer\">Replication Controller<\/a>,&nbsp;este controlador \u00e9 respons\u00e1vel por manter a disponibilidade dos seus cont\u00eaineres (no Kubernetes estes cont\u00eaineres s\u00e3o encapsulados em Pods, individualmente ou, em alguns casos, em grupos). Ele ir\u00e1 gerenciar a replica\u00e7\u00e3o dos Pods de forma que:<\/p>\n\n\n\n<ul><li>Se voc\u00ea necessita de 10 Pods sempre rodando, quando um destes Pods cair ou travar, outro Pod ser\u00e1 iniciado em seu host para manter o servi\u00e7o funcionando.<\/li><li>Voc\u00ea tamb\u00e9m pode definir regras para que um novo Pod seja criado sempre que o consumo de CPU de seus Pods, em execu\u00e7\u00e3o, alcancem 70% de uso, por exemplo.<\/li><\/ul>\n\n\n\n<p>Lembro que o ReplicaSet n\u00e3o \u00e9 respons\u00e1vel por definir configura\u00e7\u00f5es do seu Pod. Para editar qualquer configura\u00e7\u00e3o voc\u00ea deve atualizar o Pod atrav\u00e9s do <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/deployment\/\" target=\"_blank\" rel=\"noopener noreferrer\">Deployment<\/a>.<\/p>\n\n\n\n<h3><span id=\"services\">Services<\/span><\/h3>\n\n\n\n<p>Um <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/service\/\" target=\"_blank\" rel=\"noopener noreferrer\">servi\u00e7o do Kubernetes<\/a> \u00e9 respons\u00e1vel por abstrair das defini\u00e7\u00f5es l\u00f3gicas dos Pods, al\u00e9m de definir as regras de acesso a estes Pods. Em outras palavras, aqui atrelamos uma faixa de IP para o ReplicaSet, definimos as regras de acesso do mesmo e configuramos o Load Balance para manter o uso de recursos de cada Pod est\u00e1vel.<\/p>\n\n\n\n<h3><span id=\"gerenciamento-de-storage\">Gerenciamento de Storage<\/span><\/h3>\n\n\n\n<p>Como os Pods s\u00e3o vulner\u00e1veis a travamentos e <em>restarts,<\/em>&nbsp;o Kubernetes trouxe o conceito de <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/\" target=\"_blank\" rel=\"noopener noreferrer\">volumes independentes<\/a>, ou seja, possuem suas pr\u00f3prias caracter\u00edsticas de tempo de vida etc. Isto permite que um volume permane\u00e7a vivo fora de um cont\u00eainer e assim, os dados vinculados a um cont\u00eainer &#8220;morto&#8221; n\u00e3o se percam no meio do caminho. Al\u00e9m disto, um Pod pode utilizar diversos tipos de volumes e in\u00fameros volumes simultaneamente. Isto porque as regras de como o diret\u00f3rio \u00e9 e seus conte\u00fados s\u00e3o determinados pelo tipo de volume utilizado.<\/p>\n\n\n\n<p>Ok. Agora que entendemos um pouco melhor sobre o Kubernetes deu pra ver que ele faz um trabalho de automatiza\u00e7\u00e3o bem completo.<\/p>\n\n\n\n<h2><span id=\"mas-mesmo-depois-do-docker-ter-lancado-o-swarm-mode-porque-o-kubernetes-ainda-e-uma-opcao-mais-interessante\">Mas, mesmo depois do Docker ter lan\u00e7ado o Swarm mode, porque o Kubernetes ainda \u00e9 uma op\u00e7\u00e3o mais interessante?<\/span><\/h2>\n\n\n\n<p>Sem d\u00favida o Docker swarm \u00e9 uma op\u00e7\u00e3o interessante para criarmos clusters de cont\u00eaineres e gerenciarmos de forma simples, mas o Kubernetes traz uma proposta bem mais automatizada para fazermos isto.<\/p>\n\n\n\n<p>Enquanto atrav\u00e9s do Docker Swarm voc\u00ea criar\u00e1 manualmente um cluster, o Kubernetes far\u00e1 isto tudo automaticamente para voc\u00ea. Ele seguir\u00e1 suas regras predefinidas (de uso de recursos ou de quantidade de Pods) para manter a estabilidade do servi\u00e7o.<\/p>\n\n\n\n<p>Um segundo ponto \u00e9 o isolamento dos volumes que garante que os dados de um Pod estejam da forma que estavam quando ele precisou ser reiniciado.<\/p>\n\n\n\n<p>N\u00e3o mencionei anteriormente neste post, mas, pelo Kubernetes tamb\u00e9m \u00e9 poss\u00edvel definir namespaces para criarmos ambientes isolados de produ\u00e7\u00e3o e testes. Assim, podemos&nbsp;limitar os recursos de cada ambiente, para que um n\u00e3o interfira no outro.<\/p>\n\n\n\n<p>E para finalizar, um ponto que achei interessante \u00e9 a flexibilidade dele trabalhar com outros modelos de cont\u00eainer que n\u00e3o seja o Docker, como o Rockets (Containers no CoreOS).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No \u00faltimo artigo apresentei um exemplo pr\u00e1tico de como montar o docker em um cloud. <\/p>\n","protected":false},"author":1,"featured_media":8893,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,20,12],"tags":[51,52,59,60,85,136],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubernetes, quais a vantagens em utiliz\u00e1-lo mesmo depois do docker swarm? - Blog DialHost<\/title>\n<meta name=\"description\" content=\"O Kubernetes \u00e9 uma plataforma desenvolvida pela Google para gerenciamento de aplicativos em cont\u00eaineres atrav\u00e9s de m\u00faltiplos hosts de um cluster.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes, quais a vantagens em utiliz\u00e1-lo mesmo depois do docker swarm? - Blog DialHost\" \/>\n<meta property=\"og:description\" content=\"O Kubernetes \u00e9 uma plataforma desenvolvida pela Google para gerenciamento de aplicativos em cont\u00eaineres atrav\u00e9s de m\u00faltiplos hosts de um cluster.\" \/>\n<meta property=\"og:url\" content=\"\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog DialHost\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/DialHost\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/DialHost\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-27T14:38:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-03T20:43:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dialhost.com.br\/blog\/wp-content\/uploads\/2019\/04\/og-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"http:\/\/blog.dialhost.com.br\/wp-content\/uploads\/2017\/06\/kubernetes-scl-link.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@dialhost\" \/>\n<meta name=\"twitter:site\" content=\"@dialhost\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#organization\",\"name\":\"DialHost Internet\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/DialHost\",\"https:\/\/www.instagram.com\/dialhost_oficial\/\",\"https:\/\/www.linkedin.com\/company\/dialhost-internet\",\"https:\/\/www.youtube.com\/channel\/UCAiqiX8IiqTSfA8wQhpzgXQ\",\"https:\/\/twitter.com\/dialhost\"],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#logo\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/wp-content\/uploads\/2019\/03\/marca-dialhost.png\",\"width\":81,\"height\":81,\"caption\":\"DialHost Internet\"},\"image\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/\",\"name\":\"Blog DialHost\",\"description\":\"Os melhores conte\\u00fados sobre Desenvolvimento Web, Marketing e Neg\\u00f3cios\",\"publisher\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.dialhost.com.br\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#primaryimage\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/wp-content\/uploads\/2017\/06\/kubernetes-cover.jpg\",\"width\":700,\"height\":260},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#webpage\",\"url\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/\",\"name\":\"Kubernetes, quais a vantagens em utiliz\\u00e1-lo mesmo depois do docker swarm? - Blog DialHost\",\"isPartOf\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#primaryimage\"},\"datePublished\":\"2017-06-27T14:38:34+00:00\",\"dateModified\":\"2019-05-03T20:43:43+00:00\",\"description\":\"O Kubernetes \\u00e9 uma plataforma desenvolvida pela Google para gerenciamento de aplicativos em cont\\u00eaineres atrav\\u00e9s de m\\u00faltiplos hosts de um cluster.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"\/blog\/\",\"url\":\"\/blog\/\",\"name\":\"In\\u00edcio\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/\",\"url\":\"\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/\",\"name\":\"Kubernetes, quais a vantagens em utiliz\\u00e1-lo mesmo depois do docker swarm?\"}}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#\/schema\/person\/a0b10cbe35449dea173a06d4664f9fcc\"},\"headline\":\"Kubernetes, quais a vantagens em utiliz\\u00e1-lo mesmo depois do docker swarm?\",\"datePublished\":\"2017-06-27T14:38:34+00:00\",\"dateModified\":\"2019-05-03T20:43:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#webpage\"},\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#primaryimage\"},\"keywords\":\"cloud,cloud computing,container,cont\\u00eainer,docker,Kubernetes\",\"articleSection\":\"Cloud Computing,Infraestrutura e Seguran\\u00e7a,Tecnologias\",\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dialhost.com.br\/blog\/kubernetes-vantagens-utiliza-lo-mesmo-depois-docker-swarm\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#\/schema\/person\/a0b10cbe35449dea173a06d4664f9fcc\",\"name\":\"DialHost Internet\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.dialhost.com.br\/blog\/#personlogo\",\"inLanguage\":\"pt-BR\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/05feec2f99aef1c42b09aeaa637ee66f?s=96&r=g\",\"caption\":\"DialHost Internet\"},\"description\":\"H\\u00e1 mais de 18 anos proporcionando um servi\\u00e7o de hospedagem de sites voltado 100% na Experi\\u00eancia e Sucesso do Cliente, prezando a qualidade, transpar\\u00eancia e seguran\\u00e7a.\",\"sameAs\":[\"https:\/\/www.facebook.com\/DialHost\",\"https:\/\/www.instagram.com\/dialhost_oficial\/\",\"https:\/\/www.linkedin.com\/company\/dialhost-internet\",\"https:\/\/twitter.com\/dialhost\",\"https:\/\/www.youtube.com\/channel\/UCAiqiX8IiqTSfA8wQhpzgXQ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/3929"}],"collection":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3929"}],"version-history":[{"count":0,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/posts\/3929\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/media\/8893"}],"wp:attachment":[{"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dialhost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}