{"id":5278,"date":"2021-03-08T13:15:40","date_gmt":"2021-03-08T16:15:40","guid":{"rendered":"https:\/\/geekblogti.wpengine.com\/?p=5278"},"modified":"2024-10-29T17:12:38","modified_gmt":"2024-10-29T20:12:38","slug":"o-que-e-kubernetes","status":"publish","type":"post","link":"https:\/\/www.geekhunter.com/pt/blog\/o-que-e-kubernetes\/","title":{"rendered":"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Quer saber qual \u00e9 uma das principais tecnologias do momento? <strong>Kubernetes (K8s)<\/strong>. <br \/><br \/>A ado\u00e7\u00e3o dessa tecnologia por empresas de todos os tamanhos tem se espalhado como fogo, levando o n\u00famero de oportunidades para profissionais que manjam dessa tecnologia a crescer rapidamente. <br \/><br \/>Que tal aprender um pouco mais sobre K8s e garantir aquela pr\u00f3xima vaga?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&#8220;<em>&#8230;no Google n\u00f3s temos gerenciado cont\u00eaineres Linux em larga escala por mais de 10 anos&#8230;<\/em>&#8220;<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esse \u00e9 um trecho de um artigo publicado em 2016 pelo Google chamado <strong><a href=\"https:\/\/queue.acm.org\/detail.cfm?id=2898444\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">Borg, Omega, and Kubernetes<\/a><\/strong>.<br \/><br \/>O projeto foi desenvolvido com base nos desafios e aprendizados de engenheiros do <strong><em>Google<\/em><\/strong> enquanto eles tentavam desenvolver uma plataforma que fosse capaz de suportar diversas aplica\u00e7\u00f5es e times dentro da empresa.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-o-que-kubernetes\">O que \u00e9 Kubernetes?<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"654\" height=\"170\" class=\"wp-image-5540\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/04\/logo-kubernetes-arquitetura-de-cluster-3.png\" alt=\"kubernetes \u00e9 mantido pelo Cloud Native Computing Foundation\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/logo-kubernetes-arquitetura-de-cluster-3.png 654w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/logo-kubernetes-arquitetura-de-cluster-3-150x39.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/logo-kubernetes-arquitetura-de-cluster-3-100x26.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/logo-kubernetes-arquitetura-de-cluster-3-600x156.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/logo-kubernetes-arquitetura-de-cluster-3-450x117.png 450w\" sizes=\"(max-width: 654px) 100vw, 654px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>O K8s \u00e9 um projeto de c\u00f3digo aberto que tem como objetivo orquestrar containers e automatizar a implanta\u00e7\u00e3o de aplica\u00e7\u00f5es.<\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Atualmente mantido pela <strong><a href=\"https:\/\/www.cncf.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Native Computing Foundation<\/a><\/strong>, o Kubernetes gerencia os clusters que cont\u00eam os hosts que executam as aplica\u00e7\u00f5es Linux.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esses clusters podem incluir hosts em\u00a0nuvem, por isso, o Kubernetes \u00e9 a plataforma ideal para hospedar\u00a0aplica\u00e7\u00f5es <em>cloud-native<\/em>\u00a0que exigem escalabilidade r\u00e1pida, como a transmiss\u00e3o de dados em tempo real por meio do <a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/apache-kafka\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache Kafka<\/a>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Fazer o <em>deploy<\/em> de uma nova vers\u00e3o de uma aplica\u00e7\u00e3o \u00e9 sempre um processo arriscado. Existem uma s\u00e9rie de passos manuais ou semi-automatizados e, caso algo d\u00ea errado, fazer o <em>rollback<\/em> para a vers\u00e3o anterior \u00e9 super complicado.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Agora imagine isso com uma aplica\u00e7\u00e3o composta por dezenas de microsservi\u00e7os, cada um com um ciclo de vida diferente, datas de <em>release<\/em> diferentes, tecnolog\u00edas diferentes.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esse seria o pesadelo de qualquer time de desenvolvimento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por isso, ele elimina muitos processos manuais que uma aplica\u00e7\u00e3o em containers exige, facilitando e dando agilidade a projetos de microsservi\u00e7os, por exemplo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Recomendo esse v\u00eddeo do canal C\u00f3digo Fonte, \u00e9 muito did\u00e1tico e explica de uma forma simples e clara!<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\r\n<div class=\"wp-block-embed__wrapper\">https:\/\/www.youtube.com\/watch?v=mVL0nOM3AGo<\/div>\r\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-como-funciona-o-kubernetes-containers\">Como funciona o Kubernetes: Containers<\/h2>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">N\u00e3o tem muito mist\u00e9rio! Containers seguem basicamente a mesma l\u00f3gica da sua contraparte literal.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Da mesma forma que agrupamos objetos que precisam ser enviados de um local para o outro em containers, tamb\u00e9m agrupamos nossos c\u00f3digos em um container, que pode ser executado em diversos locais.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Dessa forma, podemos trabalhar com componentes menores, utilizando a arquitetura de microsservi\u00e7os que, assim como o <strong>Kubernetes<\/strong>, est\u00e1 em alta.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Utilizar <em>microservices<\/em> e <em>containers<\/em> simplifica a vida do programador, pois dissipa codifica\u00e7\u00f5es enormes em outras menores, impedindo que seu c\u00f3digo vire um monstro.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/tudo-sobre-devops-iniciantes\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">Tudo sobre DevOps, para iniciantes.<\/a><\/strong><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-como-funciona-o-kubernetes-aplica-es-cloud-native\">Como funciona o Kubernetes: Aplica\u00e7\u00f5es <em>cloud-native<\/em><\/h2>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">C<em>loud-native <\/em>\u00e9 o termo utilizado para classificar aplica\u00e7\u00f5es projetadas para tirar m\u00e1ximo proveito de ambientes em nuvem, seja ela privada ou p\u00fablica.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essas aplica\u00e7\u00f5es se baseiam na <strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">arquitetura de microsservi\u00e7os<\/a><\/strong> e incorporam pr\u00e1ticas que possibilitam a automa\u00e7\u00e3o de todo o ciclo de vida da aplica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Existem aplica\u00e7\u00f5es conhecidas como <strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/arquitetura-de-microsservicos-x-arquitetura-monolitica\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">monol\u00edticas<\/a><\/strong>, onde todas as partes da aplica\u00e7\u00e3o vivem juntas (causando forte acoplamento).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A arquitetura de microsservi\u00e7os sugere a ideia de que aplica\u00e7\u00f5es devem ser compostas por partes menores e independentes chamadas de servi\u00e7os (resultando em fraco acoplamento).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A ideia \u00e9 que cada servi\u00e7o seja especializado e ofere\u00e7a uma API para se comunicar com outros servi\u00e7os.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essa caracter\u00edstica possibilita, por exemplo, que diferentes times assumam diferentes partes de uma mesma aplica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Outra vantagem \u00e9 que um mesmo servi\u00e7o pode ser utilizado por m\u00faltiplas aplica\u00e7\u00f5es sem nenhum esfor\u00e7o extra.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.geekhunter.com\/pt\/vagas?utm_source=blog&amp;utm_medium=banner&amp;utm_campaign=o_que_e_kubernetes\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"720\" height=\"200\" class=\"wp-image-11848\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes.png\" alt=\"\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes.png 720w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-150x42.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-100x28.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-600x167.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-450x125.png 450w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-caracter-sticas-das-aplica-es-cloud-native\">Caracter\u00edsticas das aplica\u00e7\u00f5es cloud-native<\/h3>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/xYwp01TS-OIA7LwfhjVaz3MJYo3I9znj_i3pU4j3uq85wYZGxCUdorP4zJqch-FsDBlfrv_tlHjarpBxqKpZtXsvYO-xF9NLyHp0H_n0bkpZiwfBxfgIRnxpSfBxne68e-EhybAw\" alt=\"Aplica\u00e7\u00e3o cloud-native composta por cont\u00eaineres\r\n\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No caso de aplica\u00e7\u00f5es <em>cloud-native<\/em>, uma das principais caracter\u00edsticas \u00e9 que elas utilizam cont\u00eaineres para encapsular cada microsservi\u00e7o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como esses cont\u00eaineres possuem o servi\u00e7o e todas as suas depend\u00eancias, eles se tornam independentes da infraestrutura, podendo ser facilmente migrados de uma <em>cloud<\/em> para outra, por exemplo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Outro ponto importante \u00e9 que a <strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/orquestracao-de-conteineres-docker-swarm-portainer\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">utiliza\u00e7\u00e3o de cont\u00eaineres<\/a><\/strong> facilita muito quest\u00f5es como escalabilidade e <em>deploy<\/em> de novas vers\u00f5es.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No exemplo da imagem acima, se 3 cont\u00eaineres da interface web n\u00e3o forem suficientes, basta iniciar mais um.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Saiu uma nova vers\u00e3o? Basta substituir os cont\u00eaineres pela nova vers\u00e3o. A nova vers\u00e3o tem um bug cr\u00edtico? S\u00f3 substituir de volta pelo cont\u00eainer da vers\u00e3o anterior.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esse tipo de flexibilidade traz diversas vantagens, mas tamb\u00e9m cria novos desafios. Quando uma aplica\u00e7\u00e3o \u00e9 composta por diversas partes pequenas, gerenciar tudo isso de forma manual pode se tornar bem complexo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>E \u00e9 para ajudar nessa parte que existem orquestradores como o Kubernetes.<\/strong><\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Microservices  (abre numa nova aba)\"><strong>Microservices<\/strong><\/a> e o perigo das \u201cmodinhas\u201d<\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-funcionalidades-do-kubernetes\">Funcionalidades do Kubernetes<\/h2>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para ajudar a resolver o problema citado no come\u00e7o do texto, o <strong>Kubernetes<\/strong> oferece uma s\u00e9rie de funcionalidades. No entanto, antes de entrarmos em detalhes, \u00e9 importante entendermos um conceito central do K8s: <strong>o estado da aplica\u00e7\u00e3o<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A ideia por tr\u00e1s desse conceito \u00e9 que existem dois tipos de estado de uma aplica\u00e7\u00e3o: <strong>o atual e o desejado. <\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O estado atual da aplica\u00e7\u00e3o descreve a realidade. Por exemplo, quantas r\u00e9plicas de um determinado servi\u00e7o est\u00e3o em execu\u00e7\u00e3o, qual a vers\u00e3o em produ\u00e7\u00e3o de cada servi\u00e7o e por a\u00ed vai.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">J\u00e1 o estado desejado descreve como o time ou a pessoa respons\u00e1vel pela aplica\u00e7\u00e3o deseja que ela esteja naquele momento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O Kubernetes implementa uma s\u00e9rie de <em>loops<\/em> que ficam constantemente verificando se o estado atual \u00e9 igual ao estado desejado. Esse papel \u00e9 desempenhado pelos chamados <em>Controllers<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quando um <em>controller<\/em> identifica que o estado atual \u00e9 diferente do estado desejado, ele aciona outros componentes do sistema para fazer novamente com que o estado atual se iguale ao estado desejado.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Todo esse processo de monitoramento e gest\u00e3o do estado da aplica\u00e7\u00e3o, sem contar a execu\u00e7\u00e3o da aplica\u00e7\u00e3o em si, exige uma s\u00e9rie de componentes. \u00c9 por isso que a arquitetura de um ambiente Kubernetes \u00e9 baseada em um cluster de m\u00e1quinas.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p>Usando o <a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/utilizando-a-biblioteca-mediatr-com-asp-net-core\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"MediatR com ASP.NET Core (abre numa nova aba)\"><strong>MediatR com ASP.NET Core<\/strong><\/a><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-a-arquitetura-kubernetes-como-funciona\">A arquitetura Kubernetes: Como funciona?<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"682\" height=\"214\" class=\"wp-image-5291\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/04\/arquitetura-de-cluster-kubernetes.png\" alt=\"infraestrutura de um cluster\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/arquitetura-de-cluster-kubernetes.png 682w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/arquitetura-de-cluster-kubernetes-150x47.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/arquitetura-de-cluster-kubernetes-100x31.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/arquitetura-de-cluster-kubernetes-600x188.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/arquitetura-de-cluster-kubernetes-450x141.png 450w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O Kubernetes \u00e9 composto por uma s\u00e9rie de componentes, cada um com um prop\u00f3sito diferente. Para garantir que exista uma separa\u00e7\u00e3o de responsabilidades e que o sistema seja resiliente, o <strong>K8s<\/strong> utiliza um cluster de m\u00e1quinas para ser executado.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">As m\u00e1quinas de um cluster s\u00e3o separadas em tr\u00eas tipos:<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-node\">Node<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O primeiro tipo \u00e9 chamado de <em>Node<\/em>. O papel de um <em>Node<\/em> \u00e9 executar os cont\u00eaineres que encapsulam as aplica\u00e7\u00f5es sendo gerenciadas pelo K8s.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quando voc\u00ea faz o <em>deploy<\/em> de uma aplica\u00e7\u00e3o em um cluster K8s, essa aplica\u00e7\u00e3o vai ser executada em um dos <em>Nodes<\/em> do cluster. O conjunto de <em>Nodes<\/em> forma o que chamamos de <em>Workers<\/em>.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-etcd\"><em>etcd<\/em><\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O segundo tipo de n\u00f3 \u00e9 o <em>etcd<\/em>. O <em>etcd<\/em> \u00e9, na verdade, o nome da <strong><a href=\"https:\/\/github.com\/etcd-io\/etcd\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">base de dados distribu\u00edda<\/a><\/strong> que \u00e9 utilizada para armazenar tudo o que est\u00e1 acontecendo dentro do cluster, incluindo o estado da aplica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em ambientes de produ\u00e7\u00e3o, um bom gerenciamento desses n\u00f3s \u00e9 essencial para garantir que o <em>cluster<\/em> esteja sempre dispon\u00edvel.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-master\">Master<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Finalmente, o \u00faltimo tipo de n\u00f3 \u00e9 o que chamamos de <em>Master<\/em>. \u00c9 nesse tipo de n\u00f3 que os principais componentes do Kubernetes s\u00e3o executados, como o <em>Scheduler<\/em>, o qual tem a responsabilidade de controlar a aloca\u00e7\u00e3o de recursos no cluster.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O conjunto de n\u00f3s <em>Master<\/em> forma o que pode ser considerado o c\u00e9rebro de um cluster Kubernetes: o <em>Control Plane<\/em>.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-control-plane\">Control Plane<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O <em>Control Plane <\/em>do Kubernetes pode ser considerado o c\u00e9rebro de um cluster. Ele \u00e9 respons\u00e1vel por gerenciar os principais componentes do sistema e garantir que tudo est\u00e1 funcionando de acordo com o estado desejado da aplica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para facilitar a representa\u00e7\u00e3o desse estado, o K8s trabalha com uma abstra\u00e7\u00e3o chamada de <em>Object<\/em>. Um <em>Object<\/em> representa parte do estado da aplica\u00e7\u00e3o e quando o seu estado atual n\u00e3o \u00e9 o estado desejado, mudan\u00e7as s\u00e3o aplicadas para que os dois estados se igualem novamente.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Existem diversos tipos de <em>Objects<\/em> em um ambiente Kubernetes, mas alguns deles s\u00e3o essenciais para entendermos como um cluster funciona.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-pod\">Pod<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Na se\u00e7\u00e3o sobre aplica\u00e7\u00f5es <em>cloud-native<\/em>, uma das principais caracter\u00edsticas \u00e9 que essas aplica\u00e7\u00f5es utilizam cont\u00eaineres para encapsular seus microsservi\u00e7os. No entanto, quando falamos sobre aplica\u00e7\u00f5es sendo executadas em um cluster Kubernetes, n\u00e3o falamos sobre cont\u00eaineres diretamente, mas sim sobre <em>Pods<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><em>Pods<\/em> s\u00e3o a unidade b\u00e1sica de um um cluster<strong> K8s<\/strong>. Elas encapsulam um ou mais cont\u00eaineres de uma aplica\u00e7\u00e3o e representam um processo dentro do cluster. Quando fazemos o <em>deploy<\/em> de uma aplica\u00e7\u00e3o no K8s, estamos criando uma ou mais <em>Pods<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No entanto, <em>Pods<\/em> s\u00e3o ef\u00eameras, ou seja, elas s\u00e3o criadas e destru\u00eddas de acordo com as necessidades do cluster.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para garantir que o acesso a um microsservi\u00e7o esteja sempre dispon\u00edvel, existe um <em>Object<\/em> chamado <em>Service<\/em> que encapsula uma ou mais <em>Pods<\/em> e \u00e9 capaz de encontr\u00e1-las dinamicamente em qualquer <em>Node<\/em> do cluster.<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"h-deployment\">Deployment<\/h4>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esse tipo de <em>Object<\/em> oferece uma s\u00e9rie de funcionalidades que automatizam todos aqueles passos que descrevemos de um cen\u00e1rio t\u00edpico de desenvolvimento de software, com <em>deploys<\/em> manuais ou semi-automatizados de uma aplica\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Utilizando <em>Deployments<\/em>, n\u00f3s podemos descrever qual o estado desejado da nossa aplica\u00e7\u00e3o e um <em>Deployment controller<\/em> vai se encarregar de transformar o estado atual no estado desejado, caso eles sejam diferentes.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E por falar em descrever o estado desejado da nossa aplica\u00e7\u00e3o, \u00e9 hora de entendermos como isso \u00e9 feito em um ambiente <strong>Kubernetes<\/strong>.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.geekhunter.com\/pt\/candidates\/signup?utm_source=blog&amp;utm_medium=banner&amp;utm_campaign=o_que_e_kubernetes\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"200\" class=\"wp-image-11847\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2021\/03\/cta2-kubernetes.png\" alt=\"\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta2-kubernetes.png 720w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta2-kubernetes-150x42.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta2-kubernetes-100x28.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta2-kubernetes-600x167.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta2-kubernetes-450x125.png 450w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-aprendendo-kubernetes-como-criar-aplica-es\">Aprendendo kubernetes: como criar aplica\u00e7\u00f5es?<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"257\" class=\"wp-image-5300\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/04\/configuracao-declarativa-cloud-native-para-criar-aplicacoes.png\" alt=\"fluxo de uma aplica\u00e7\u00e3o\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/configuracao-declarativa-cloud-native-para-criar-aplicacoes.png 717w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/configuracao-declarativa-cloud-native-para-criar-aplicacoes-150x54.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/configuracao-declarativa-cloud-native-para-criar-aplicacoes-100x36.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/configuracao-declarativa-cloud-native-para-criar-aplicacoes-600x215.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/configuracao-declarativa-cloud-native-para-criar-aplicacoes-450x161.png 450w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quando estamos utilizando um cluster Kubernetes, existem duas formas de aplicarmos mudan\u00e7as ao estado atual de uma aplica\u00e7\u00e3o, ou seja, de mudarmos sua configura\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A abordagem tradicional e que talvez voc\u00ea esteja mais acostumado \u00e9 o chamada de <strong>Configura\u00e7\u00e3o Imperativa<\/strong>, onde dizemos como cada mudan\u00e7a deve ser feita.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por exemplo, imagine que voc\u00ea queira mudar o n\u00famero de r\u00e9plicas de uma determinada <em>Pod<\/em> de 3 para 4.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Na abordagem imperativa, voc\u00ea enviaria comandos diretamente para a <strong>API<\/strong> do K8s dizendo que voc\u00ea quer alterar o n\u00famero de r\u00e9plicas de 3 para 4. Mas como fazer isso em uma aplica\u00e7\u00e3o com dezenas de microsservi\u00e7os?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E se, enquanto voc\u00ea estava alterando cada um deles, algo aconteceu e voc\u00ea s\u00f3 teve tempo de aplicar as mudan\u00e7as em metade das <em>Pods<\/em>. Quais s\u00e3o as implica\u00e7\u00f5es que uma mudan\u00e7a como essa poderia causar? Se algo come\u00e7ar a dar errado, como os membros do seu time v\u00e3o saber o que j\u00e1 foi alterado e o que ainda n\u00e3o foi?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Talvez voc\u00ea tenha passado um par\u00e2metro errado em um dos comandos e agora a aplica\u00e7\u00e3o est\u00e1 fora do ar.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-configura-o-declarativa\">Configura\u00e7\u00e3o declarativa<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 para evitar esse tipo de problema que o Kubernetes suporta o que \u00e9 chamado de <strong>Configura\u00e7\u00e3o Declarativa<\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em uma abordagem declarativa, n\u00f3s n\u00e3o dizemos como uma mudan\u00e7a deve ser feita, mas apenas qual mudan\u00e7a deve ser feita.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O sistema, no nosso caso o <em>Control Plane <\/em>do K8s, vai decidir qual \u00e9 a melhor forma de aplicar aquela mudan\u00e7a e tornar o estado atual da aplica\u00e7\u00e3o igual ao estado desejado.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Se n\u00f3s fossemos fazer a mesma mudan\u00e7a do exemplo anterior, alterar o n\u00famero de r\u00e9plicas de uma <em>Pod<\/em> de 3 para 4 de uma forma declarativa, bastaria alterarmos o valor do campo \u201creplicas\u201d no exemplo abaixo e enviarmos esse arquivo YAML para a API do K8s.<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">apiVersion: apps\/v1\r\nkind: ReplicaSet\r\nmetadata:\r\n \u00a0name: frontend\r\n \u00a0labels:\r\n \u00a0\u00a0\u00a0app: guestbook\r\n \u00a0\u00a0\u00a0tier: frontend\r\nspec:\r\n<strong> \u00a0# s\u00f3 precisamos alterar o valor do campo abaixo<\/strong>\r\n \u00a0replicas: 3\r\n \u00a0selector:\r\n \u00a0\u00a0\u00a0matchLabels:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0tier: frontend\r\n \u00a0template:\r\n \u00a0\u00a0\u00a0metadata:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0labels:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0tier: frontend\r\n \u00a0\u00a0\u00a0spec:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0containers:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0- name: php-redis\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0image: gcr.io\/google_samples\/gb-frontend:v3<\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por falar na API do Kubernetes, vamos entender melhor como ela funciona?<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-entendendo-a-api-do-kubernetes\">Entendendo a API do Kubernetes<\/h3>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5304\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/04\/api-do-kubernetes-clusters.png\" alt=\"API no  Control Plane \" width=\"588\" height=\"285\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/api-do-kubernetes-clusters.png 472w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/api-do-kubernetes-clusters-150x73.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/api-do-kubernetes-clusters-100x49.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/api-do-kubernetes-clusters-450x218.png 450w\" sizes=\"(max-width: 588px) 100vw, 588px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A API do Kubernetes \u00e9 um dos principais elementos do <em>Control Plane<\/em>. \u00c9 atrav\u00e9s dela que conseguimos interagir com todos componentes de um cluster K8s, seja pela linha de comando ou pela interface web.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, \u00e9 a API quem define os diferentes <em>Objects<\/em> que fazem parte do ecossistema do K8s.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quando enviamos uma altera\u00e7\u00e3o de estado, seja de forma imperativa ou declarativa, a API cria o que \u00e9 chamado de <em>Record of Intent<\/em> (Registro de Inten\u00e7\u00e3o). Dependendo do <em>Object<\/em> que est\u00e1 sendo alterado nesse <em>Record of Intent<\/em>, um <em>Controller<\/em> espec\u00edfico vai detectar que o estado desejado foi alterado e vai reagir para aplicar as mudan\u00e7as necess\u00e1rias.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como existem diversos tipos de <em>Objects<\/em> no contexto do Kubernetes, a API pode parecer complexa quando vista pela primeira vez. Para facilitar a gest\u00e3o e evolu\u00e7\u00e3o da API, os <em>Objects<\/em> foram agrupados em diferentes categorias, como <em>Core<\/em>, <em>Apps<\/em> e <em>Storage<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Esse grupos s\u00e3o compostos por desenvolvedores da comunidade Kubernetes e s\u00e3o eles quem decidem como cada categoria vai evoluir. Isso mostra a natureza open source do projeto e como os usu\u00e1rios do sistema tem influ\u00eancia direta na sua evolu\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-um-resumo-das-vantagens-do-kubernetes\">Um resumo das vantagens do kubernetes<\/h2>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O Kubernetes \u00e9 uma ferramenta super poderosa, mas que pode parecer bem complexa em um primeiro momento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Existem diversos conceitos e componentes envolvidos no funcionamento de um cluster, mas s\u00e3o eles que fazem com o que o K8s seja o orquestrador mais utilizado no momento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para recapitularmos os principais pontos que vimos sobre o Kubernetes e organizar o nosso racioc\u00ednio, aqui vai um resumo:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>O K8s oferece uma plataforma completa para aplica\u00e7\u00f5es conhecidas como <em>cloud-native<\/em>;<\/li>\r\n<li>Os seus componentes s\u00e3o executados em um cluster composto por tr\u00eas tipos de n\u00f3s: <em>Node<\/em>, <em>etcd<\/em> e <em>Master<\/em>;<\/li>\r\n<li>O conjunto de todos os n\u00f3s <em>Master<\/em> forma o chamado <em>Control Plane<\/em>, o qual \u00e9 respons\u00e1vel por controlar tudo o que acontece dentro do cluster e monitorar o estado da aplica\u00e7\u00e3o;<\/li>\r\n<li>Ele utiliza abstra\u00e7\u00f5es, como <em>Pods<\/em> e <em>Deployments<\/em>, chamadas de <em>Objects <\/em>para representar diferentes aspectos do estado de uma aplica\u00e7\u00e3o;<\/li>\r\n<li>Esse estado pode ser alterado de duas formas: imperativa ou declarativa. A forma declarativa \u00e9 considerada a mais ideal e utiliza arquivos no formato YAML que s\u00e3o enviados para a API;<\/li>\r\n<li>A API do Kubernetes \u00e9 a porta de entrada de um cluster, sendo utilizada tanto pela linha de comando quando pela interface web.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Agora que voc\u00ea j\u00e1 tem uma no\u00e7\u00e3o do que \u00e9 o Kubernetes e da sua arquitetura, \u00e9 hora de come\u00e7ar a aprender da melhor forma poss\u00edvel: colocando a m\u00e3o na massa!<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-o-que-um-cluster-kubernetes-e-como-construir-um\">O que \u00e9 um cluster Kubernetes e como construir um?<\/h2>\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como b\u00f4nus, vou agora dar algumas dicas para voc\u00ea construir o seu primeiro cluster Kubernetes. Prontos?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A melhor forma de aprender como o Kubernetes funciona \u00e9 usando ele na pr\u00e1tica. Para isso, existem 3 formas r\u00e1pidas de voc\u00ea criar o seu primeiro cluster.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">A primeira, e mais f\u00e1cil, \u00e9 utilizando o site: <strong><a href=\"https:\/\/labs.play-with-k8s.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Play With Kubernetes<\/a><\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O <em>Play with K8s<\/em> oferece um cluster Kubernetes que voc\u00ea pode acessar atrav\u00e9s do seu browser. A ideia \u00e9 que voc\u00ea tenha um ambiente de laborat\u00f3rio para brincar por at\u00e9 4 horas. Depois disso, o ambiente \u00e9 destru\u00eddo, mas voc\u00ea sempre pode criar um novo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Outra op\u00e7\u00e3o \u00e9 utilizar a fun\u00e7\u00e3o Kubernetes dispon\u00edvel no <strong><a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Docker<\/a><\/strong>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Caso voc\u00ea n\u00e3o conhe\u00e7a, o Docker \u00e9 principal <strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/orquestracao-de-conteineres-docker-swarm-portainer\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">plataforma para cont\u00eaineres<\/a><\/strong> no momento. Gra\u00e7as a ele, o uso de cont\u00eaineres ganhou popularidade nos \u00faltimos anos, gerando uma s\u00e9rie de novas tecnologias e pr\u00e1ticas, como \u00e9 o caso das aplica\u00e7\u00f5es <em>cloud-native<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Com o avan\u00e7o do Kubernetes, o Docker criou uma op\u00e7\u00e3o que possibilita a cria\u00e7\u00e3o de um cluster K8s na sua m\u00e1quina.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Para isso, basta instalar o Docker seguindo as <strong><a href=\"https:\/\/docs.docker.com\/install\/#supported-platforms\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">instru\u00e7\u00f5es para o seu sistema operacional<\/a><\/strong>, clicar com o bot\u00e3o direito no \u00edcone do Docker e selecionar Prefer\u00eancias.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Nesse menu voc\u00ea deve achar a op\u00e7\u00e3o chamada Kubernetes, como na imagem abaixo.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"450\" class=\"wp-image-5310\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/04\/menu-do-docker-kubernetes.png\" alt=\"menu da plataforma de conteineres docker\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/menu-do-docker-kubernetes.png 653w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/menu-do-docker-kubernetes-150x103.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/menu-do-docker-kubernetes-100x69.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/menu-do-docker-kubernetes-600x413.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/menu-do-docker-kubernetes-450x310.png 450w\" sizes=\"(max-width: 653px) 100vw, 653px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Finalmente, a terceira op\u00e7\u00e3o \u00e9 utilizar os servi\u00e7os oferecidos pelos provedores de nuvem p\u00fablica.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Com a ado\u00e7\u00e3o do Kubernetes crescendo a cada dia, era natural que eles n\u00e3o ficariam de fora.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Atualmente, os principais servi\u00e7os s\u00e3o:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong><a href=\"https:\/\/aws.amazon.com\/pt\/eks\/?nc1=h_ls\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Amazon EKS<\/a><\/strong> da AWS;<\/li>\r\n<li><strong><a href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Kubernetes Engine<\/a><\/strong> do Google Cloud Platform; e<\/li>\r\n<li><strong><a href=\"https:\/\/azure.microsoft.com\/pt-br\/services\/kubernetes-service\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">AKS<\/a><\/strong> da Azure (Microsoft).<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essas tr\u00eas op\u00e7\u00f5es oferecem um cluster gerenciado, livrando voc\u00ea de se preocupar com diversos aspectos, como quantidade de n\u00f3s <em>etcd<\/em> e <em>Master<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E a\u00ed est\u00e3o, tr\u00eas formas de voc\u00ea criar o seu primeiro cluster e come\u00e7ar a aprender Kubernetes na pr\u00e1tica.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Espero que esse artigo tenha ajudado a clarear um pouco mais o por que tantas empresas est\u00e3o interessadas em utilizar o K8s e tenha te inspirado a querer aprender mais. O mercado est\u00e1 cheio de oportunidades sensacionais para aqueles que se empenharem.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como sempre, caso tenha d\u00favidas, n\u00e3o pense duas vezes, \u00e9 s\u00f3 me mandar uma mensagem que eu estarei aqui para te responder.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Um abra\u00e7o e at\u00e9 o pr\u00f3ximo post!<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.geekhunter.com\/pt\/vagas?utm_source=blog&amp;utm_medium=banner&amp;utm_campaign=o_que_e_kubernetes\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"720\" height=\"200\" class=\"wp-image-11848\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes.png\" alt=\"\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes.png 720w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-150x42.png 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-100x28.png 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-600x167.png 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2021\/03\/cta1-kubernetes-450x125.png 450w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/a><\/figure>\r\n","protected":false},"excerpt":{"rendered":"<p>Quer saber qual \u00e9 uma das principais tecnologias do momento? Kubernetes (K8s). A ado\u00e7\u00e3o dessa tecnologia por empresas de todos os tamanhos tem se espalhado como fogo, levando o n\u00famero de oportunidades para profissionais que manjam dessa tecnologia a crescer rapidamente. Que tal aprender um pouco mais sobre K8s e garantir aquela pr\u00f3xima vaga? &#8220;&#8230;no [&hellip;]<\/p>\n","protected":false},"author":167,"featured_media":5538,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-5278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimiento-de-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>O que \u00e9 Kubernetes e que voc\u00ea precisa saber sobre<\/title>\n<meta name=\"description\" content=\"No artigo de hoje, falaremos sobre uma das principais tecnologias do momento: o Kubernetes (K8s). Saiba como usar. Leia o artigo!\" \/>\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.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!\" \/>\n<meta property=\"og:description\" content=\"Quer saber qual \u00e9 uma das principais tecnologias do momento? Kubernetes (K8s). A ado\u00e7\u00e3o dessa tecnologia por empresas de todos os tamanhos tem se\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Geekhunter\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/geekhunterbr\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-08T16:15:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-29T20:12:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/how-to-setup-webserver-on-Kubernetes-750x410-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"410\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Geekhunter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:site\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geekhunter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/\"},\"author\":{\"name\":\"Geekhunter\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\"},\"headline\":\"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!\",\"datePublished\":\"2021-03-08T16:15:40+00:00\",\"dateModified\":\"2024-10-29T20:12:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/\"},\"wordCount\":2854,\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/how-to-setup-webserver-on-Kubernetes-750x410-1.png\",\"articleSection\":[\"Desenvolvimiento de software\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/\",\"name\":\"O que \u00e9 Kubernetes e que voc\u00ea precisa saber sobre\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/how-to-setup-webserver-on-Kubernetes-750x410-1.png\",\"datePublished\":\"2021-03-08T16:15:40+00:00\",\"dateModified\":\"2024-10-29T20:12:38+00:00\",\"description\":\"No artigo de hoje, falaremos sobre uma das principais tecnologias do momento: o Kubernetes (K8s). Saiba como usar. Leia o artigo!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/o-que-e-kubernetes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/how-to-setup-webserver-on-Kubernetes-750x410-1.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/how-to-setup-webserver-on-Kubernetes-750x410-1.png\",\"width\":750,\"height\":410,\"caption\":\"logo de produto kubernetes\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/o-que-e-kubernetes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mundo TI\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desenvolvimiento de software\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/desenvolvimiento-de-software\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"name\":\"Blog de TI\",\"description\":\"Dicas para o RH e profissionais da \u00e1rea TI\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\",\"name\":\"GeekHunter\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"width\":300,\"height\":300,\"caption\":\"GeekHunter\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/x.com\\\/geekhunterbr\",\"https:\\\/\\\/www.instagram.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/geekhunter-brasil\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@GeekHunterOfficial\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\",\"name\":\"Geekhunter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"caption\":\"Geekhunter\"},\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/author\\\/matias\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"O que \u00e9 Kubernetes e que voc\u00ea precisa saber sobre","description":"No artigo de hoje, falaremos sobre uma das principais tecnologias do momento: o Kubernetes (K8s). Saiba como usar. Leia o artigo!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/","og_locale":"pt_BR","og_type":"article","og_title":"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!","og_description":"Quer saber qual \u00e9 uma das principais tecnologias do momento? Kubernetes (K8s). A ado\u00e7\u00e3o dessa tecnologia por empresas de todos os tamanhos tem se","og_url":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/","og_site_name":"Blog Geekhunter","article_publisher":"https:\/\/www.facebook.com\/geekhunterbr\/","article_published_time":"2021-03-08T16:15:40+00:00","article_modified_time":"2024-10-29T20:12:38+00:00","og_image":[{"width":750,"height":410,"url":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/how-to-setup-webserver-on-Kubernetes-750x410-1.png","type":"image\/png"}],"author":"Geekhunter","twitter_card":"summary_large_image","twitter_creator":"@geekhunterbr","twitter_site":"@geekhunterbr","twitter_misc":{"Escrito por":"Geekhunter","Est. tempo de leitura":"17 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#article","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/"},"author":{"name":"Geekhunter","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400"},"headline":"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!","datePublished":"2021-03-08T16:15:40+00:00","dateModified":"2024-10-29T20:12:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/"},"wordCount":2854,"publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/how-to-setup-webserver-on-Kubernetes-750x410-1.png","articleSection":["Desenvolvimiento de software"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/","name":"O que \u00e9 Kubernetes e que voc\u00ea precisa saber sobre","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/how-to-setup-webserver-on-Kubernetes-750x410-1.png","datePublished":"2021-03-08T16:15:40+00:00","dateModified":"2024-10-29T20:12:38+00:00","description":"No artigo de hoje, falaremos sobre uma das principais tecnologias do momento: o Kubernetes (K8s). Saiba como usar. Leia o artigo!","breadcrumb":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.geekhunter.com/pt/blog\/o-que-e-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#primaryimage","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/04\/how-to-setup-webserver-on-Kubernetes-750x410-1.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/04\/how-to-setup-webserver-on-Kubernetes-750x410-1.png","width":750,"height":410,"caption":"logo de produto kubernetes"},{"@type":"BreadcrumbList","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/o-que-e-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.geekhunter.com/pt/blog\/"},{"@type":"ListItem","position":2,"name":"Mundo TI","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/"},{"@type":"ListItem","position":3,"name":"Desenvolvimiento de software","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/desenvolvimiento-de-software\/"},{"@type":"ListItem","position":4,"name":"O que \u00e9 Kubernetes? Tudo que voc\u00ea precisa saber sobre!"}]},{"@type":"WebSite","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","name":"Blog de TI","description":"Dicas para o RH e profissionais da \u00e1rea TI","publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.geekhunter.com/pt/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization","name":"GeekHunter","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","width":300,"height":300,"caption":"GeekHunter"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/geekhunterbr\/","https:\/\/x.com\/geekhunterbr","https:\/\/www.instagram.com\/geekhunterbr\/","https:\/\/www.linkedin.com\/company\/geekhunter-brasil\/","https:\/\/www.youtube.com\/@GeekHunterOfficial"]},{"@type":"Person","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400","name":"Geekhunter","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","caption":"Geekhunter"},"url":"https:\/\/www.geekhunter.com\/pt\/blog\/author\/matias\/"}]}},"_links":{"self":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/5278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/comments?post=5278"}],"version-history":[{"count":0,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/5278\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media\/5538"}],"wp:attachment":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media?parent=5278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/categories?post=5278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/tags?post=5278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}