[Música] [Música] Boa noite pessoal beleza seja bem-vindo seja bem-vinda a mais essa nossa Live aqui no canal hoje essa Live vai ajudar você a montar o seu ambiente kubernetes de estudo eu vou te mostrar aqui três formas diferentes de você ter um cluster kubernetes para você estudar para você montar suas pox suas provas de conceito fazer apresentações pra sua equipe pra sua pro seu chefe aí montar mostrar eh algo que você queira apresentar utilizando essa fantástica ferramenta E é claro que como a gente vai criar kubernetes de diversas formas diferentes eu vou introduzir você aqui
nesse mundo do kubernetes e entender como kubernetes é formado as principais vantagens e como ele se conecta com o docker já aquecendo aí pro nosso desafio devops e Cloud certo e se você não me conhece muito prazer eu sou Fabrício Veronez e e aqui no canal toda semana tem conteúdo relacionado a devops e a Cloud para te botar aí mais um passo rumo à elite dos profissionais de ti que entregam aplicações escaláveis de forma rápida segura confiável e com muita resiliência trazendo a melhor experiência pro usuário certo bom galera ontem A nossa Live foi sobre
docker né a gente falou sobre essa fantástica tecnologia que cara eu sou apaixonado e que eu falei que mudou a minha carreira mudou o modo que eu comecei a que eu enxergava eh arquitetura que eu que eu enxergava entrega de software desenvolvimento de aplicações e se você assistiu eu tenho certeza que também explodiu a sua cabeça e se você não assistiu depois tá aqui no canal é só você assistir certo e a gente agora vai falar sobre a segunda ferramenta que cara eu sou apaixonado que é o kubernetes que acaba que tem uma relação muito
próxima ali com o docker e se você não é inscrito ainda não é inscrita nesse canal já se inscreve aí embaixo aciona o sininho que como eu disse toda semana tem conteúdo aqui no canal relacionado a Cloud e devops e se você quer o meu acompanhamento para acelerar a sua jornada no aprendizado de de cloud de devop sendo capaz de criar aplicações escaláveis de grande porte e perder o medo de Deploy em produção aqui embaixo tá aí embaixo na descrição tem um link para um formulário onde você pode preencher e a minha equipe entra em
contato com você para falar sobre a formação do devops pro que é o meu treinamento que ajuda você acelerar esse seu processo de aprendizado com mais de 150 horas de conteúdo com Fórum de dúvidas e contato com todos os todos os alunos e alunas da formação devops pro Então você vai ter conhecimento vai ter o meu acompanhamento vai ter encontros ao vivos e vai ter lugar para fazer Network Então já clica aí embaixo preenche formulário para você conhecer mais a gente trocar uma ideia Beleza bom pessoal e ponto muito importante também deixa eu ligar aqui
rapidinho mas ponto muito importante também aqui é que esse essa Live aqui essas lives que a gente tá fazendo aqui todo dia nessa semana faz parte do aquecimento do desafio devops Cloud a nossa semana de conteúdo para ajudar você a aprender a construir aplicações construir aplicações e soluções inteligentes escaláveis de entrega de software então aqui nessa semana que vai começar na semana que vem né do dia 4 ao dia 11 a gente vai passar por pelos principais tópicos de devops de cloud justamente para montar na prática uma solução de entrega de software contínua a gente
vai modernizar uma aplicação utilizando containers utilizando docker utilizando kubernet Vamos colocar essa aplicação para rodar num num ambiente de cloud utilizando a WS e depois a gente vai montar a pipeline CCD a solução de entrega contínua junto com o monitoramento dessa aplicação utilizando as principais ferramentas do mercado então se você olhar aqui embaixo Ó você vai ver cada aula aqui e o que você vai aprender aula 1 a gente vai falar sobre docker aula dois kubernetes aula 3 aws aula 4ro a gente vai falar sobre pipeline CCD com github Actions e na aula CCO a
gente vai falar sobre monitoramento com Prometeus e grafana e o legal aqui desse evento é que além do conteúdo além das aulas que você vai ter aqui você vai ter os desafios certo os desafios são Desafios que eu vou soltar durante essa semana e você fazendo o desafio você recebe um bed um escudinho lá do evento onde você pode compartilhar nas suas redes sociais compartilhar no Linkedin compartilhar no Instagram compartilhar onde você quiser para aumentar ainda mais a sua visibilidade e para que a a sua rede recrutadores recrutadoras pessoas técnicas que também eh te seguem
vejam que você tá se dedicando que você tá se desenvolvendo como profissional para aprender mais sobre devops e Cloud eu tenho certeza que isso vai abrir muitas oportunidades para você então cara evento online gratuito você pode assistir de qual qualquer lugar do mundo se você não mora no Brasil se você mora no Brasil você pode participar é só você vir aqui deixa eu pegar o link aqui certo botar aqui o link no chat e é só colocar aqui o seu melhor e-mail colocar ali os aqui o seu contato seu tempo de experiência e clicar aqui
quero participar para você receber todas as informações receber as aulas Quando saírem e tudo mais ponto muito importante aqui eu sempre falo para você colocar o seu melhor e-mail mas se você quer ficar por dentro mesmo receber tudo e garantir que você não vai que não vai cair ali o e-mail na caixa de spam nada disso que você vai ficar por dentro de tudo do evento não deixa de entrar no grupo de WhatsApp grupo de WhatsApp você recebe logo que você preenche aqui as informações você vai ser eh redirecionado ionado para entrar no grupo de
WhatsApp é só clicar lá e aí você vai entrar e vai receber tudo assim de primeira mão vai receber logo de cara assim que sair beleza bom recados dados né Vamos agora falar um pouco sobre o kubernetes vamos falar sobre o que que o kubernetes resolve que que é essa ferramenta e tudo mais mas antes eu quero saber o seguinte eu tô vendo aqui a galera boa noite boa noite para todo mundo novamente eu quero saber eh De onde vocês são coloquem aí De onde vocês são e se você é de desenvolvimento se você é
de é de infraestrutura e se você já atua com devops como sre coloca aí que eu quero saber né O que a o perfil aí da galera quem é que tá aí participando e vamos falar aqui do kubernetes bom a gente na aula passada né na Live de ontem eu falei sobre Dock falei que o docker ele é uma ferramenta que faz com que a gente consiga trabalhar de uma forma mais simples com contêiners e que o contêiner é uma tecnologia que cria uma camada de isolamento no meu processo então com isso processo que eu
digo aqui é uma aplicação é um script que eu quero executar Qualquer coisa Qualquer coisa que eu queira executar de forma isolada eu utilizo contêiners para isso e o contêiner em si na ferramenta de contêiners do Doc ela facilita você trabalhar com contêiner Já que é uma tecnologia que vem até antes do docker utilizando vários recursos do Kernel do Linux mas mas o docker em si ele ajuda muito com toda a certeza o docker ele facilita muito a execução de aplicações tanto em ambiente de desenvolvimento ambiente produtivo e tudo mais mas o docker container em
si Ele simplesmente executa aplicações de forma isolada você consegue criar camadas de isolamento dos seus processos mas quando a gente fala em aplicações modernas escaláveis resilientes só isso não resolve a minha vida só isso não vai resolver a minha vida eu preciso de muito mais eu preciso garantir a escalabilidade da minha aplicação eu preciso antir que sempre que eu tiver ali uma carga uma quantidade de requisições muito grande ali na minha aplicação no meu e serviço na minha api no meu site enfim e eu consiga escalar a minha aplicação e a melhor forma de escalar
principalmente no ambiente de cloud utilizando arquitetura de microsserviços é escalar horizontalmente ou seja e pegar ali a minha aplicação e criar réplicas criar cópias dessa minha aplicação criar instâncias diferentes e distribuir a carga distribuir as requisições entre essas réplicas e o docker ele não faz isso para mim o docker ele cria ele executa aplicações de maneira isolada E além disso quando eu tô trabalhando com um cenário como esse onde eu tenho essa escalabilidade eu tem essa elasticidade aumentando e diminuindo ali o número de réplicas eu preciso também em garantir o balanceamento de carga criar um
ponto único de comunicação entre essas réplicas para que eu faça a requisição pro meu serviço pro meu microsserviço e essa ferramenta esse componente faça a distribuição de carga ele e redirecione as requisições as chamadas para cada uma dessas instâncias fazendo balanceamento E isso docker também não faz e tem outros elementos aqui como gerenciamento de configuração para poder eh configurar as minhas Connection Strings tokens para serviços externos eh E por aí vai eu tenho também eh a necessidade de atualizar a minha aplicação mudar ali da versão um paraa versão dois e não simplesmente fazer isso mas
fazer essa troca de versão essa atualização de uma forma que eu consiga garantir um time e zero ou praticamente zero nesse momento né e o DOC também não vai fazer isso também preciso garantir um rollback caso eu tenha algum problema né Putz atualizei lá minha versão deu ruim e aí que que eu faço quanto tempo eu levo para voltar essa versão né quanto tempo eu levo para fazer um rollback e voltar pra versão anterior tudo isso são fatores que eu preciso me preocupar quando eu tô num ambiente escal escalável quando eu tô num ambiente crítico
onde eu preciso ter alta disponibilidade e o docker não vai resolver isso para mim o docker ele ajuda a executar aplicações de maneira eh isolada para isso para trabalhar dessa forma eu preciso ter uma ferramenta junto com o docker que me ajude com isso E aí que entra o orquestrador de containers é aí que entra o kubernetes o kubernetes é a ferramenta que vai me ajudar a gerenciar a orquestrar os meus contêiners então eu vou ter no kubernet um gerenciamento único das minhas aplicações pensa comigo quando a gente trabalha com microsserviço ou quando a gente
trabalha no ambiente eh grande complexo eu posso ter várias linguagens de programação né eu posso ter node posso ter Java posso ter python.net go PHP enfim posso ter aí diversas te tecnologias diferentes e a gente viu ontem que o docker ele ajuda também a lidar com isso porque como ele tá trabalhando com contêiner né como eu tô trabalhando com contêiner eu vou ter a minha aplicação sendo executada dentro do contêiner e externamente eu não sei exatamente qual é a tecnologia eu sei que tem um processo sendo executado lá dentro mas eu não sei se é
não sei qual é a tecnologia e o kubernetes como ele é um orquestrador de contêiner ele vai ajudar a orquestrar essa camada de isolamento que é o contêiner eh eu consigo ter aplicação Java aplicação dtnet aplicação em Python aplicação em node por aí vai sendo gerenciado pela mesma ferramenta eu não tenho que me preocupar com instalação de apach nada disso porque tá dentro do contêiner e para gerenciar esses processos né eu vou utilizar o kubernetes então não importa a linguagem de progr ação que você trabalha não importa a tecnologia que você usa o kubernetes ele
vai ajudar você a gerenciar no ambiente produtivo certo beleza show de bola bom então esse é o objetivo do kubernetes Beleza agora o objetivo aqui dessa aula né muitas vezes eh quem tem quem quer dar os primeiros passos com kubernetes tem muita dificuldade em montar esse ambiente Me conta aí coloca aí no chat coloca aqui nos comentários se você tiver vendo gravado E você tem essa dificuldade cara como é que eu monto um ambiente de de teste de estudo para começar ou pelo menos para baratear o meu estudo de kubernetes para não ter que investir
uma grana para montar um ambiente de kubernetes para poder estudar para poder cara d Os Meus Primeiros Passos quem aí tem essa dificuldade Me conta aí Coloca aí no chat Coloca aí nos comentários que eu quero esse feedback aqui de vocês isso é muito importante para mim me conta aí deixa eu beber uma água aqui enquanto isso beleza ó galera já começou aqui eh a contar aqui que tem dificuldade ó galera forte aí já falando que tem essa dificuldade vamos lá isso é muito comum é muito comum a algumas coisas que a gente algumas coisas
que a gente pensa né quando vai dar esses primeiros passos é que ah para eu trabalhar ou para eu estudar com o kubernetes eu preciso ter um ambiente de cloud eu preciso ter um ambiente de cloud para poder montar o meu setup do kubernet cara vou te falar uma coisa Mentira você pode fazer isso local Ah pô para montar o meu ambiente local eu preciso ter uma super máquina eu preciso ter um super computador um servidor para poder montar aqui o meu cluster kubernetes local balela Mentira você não precisa você pode montar no seu desktop
no seu notebook sem problema nenhum se você tem docker instalado na sua máquina você consegue criar um cluster kubernetes eu vou mostrar isso aqui para você e é importante só o seguinte você precisa também entender que cada modo de setup que a gente vai fazer aqui todo setup que eu vou mostrar para você aqui hoje ele não é um setup produtivo não é um setup que você vai colocar no ambiente de produção você pode utilizar esses setups que eu vou te mostrar aqui para você estudar para você fazer uma poc até para você fazer uma
apresentação no trabalho mas não usa esse setup em ambiente produtivo Ah quero fazer um MVP para rodar apresentar aqui pra minha equipe Ok tudo bem mas é um MVP para você apresentar não é produtivo fechado não é produtivo esses setups que eu vou botar aqui não são produtivos fechado beleza show Senão daqui a pouco a galera bota no ar cai eí fala que careca do devops lá que Falou brother pode botar aí não Não façam isso por favor deixa o careca do devops aqui tranquilo pessoal então vamos lá pessoal antes da gente começar aqui falar
do setup e tudo mais é importante o seguinte eh eu vou falar aqui sobre setups de kubernetes que eu não vou abordar lá no no desafio da vops e cloud no desafio da vops e Cloud vou mostrar um outro setup mas eu quero te dar possibilidades eu quero te dar possibilidades para você escolher a melhor forma que você vai conseguir aí estudar trabalhar e fazer aí os seus testes beleza mas é importante você testar todas as formas para você ter portfólio porque em alguns casos você vai usar um outros casos você vai usar outro então
cara eu quero te dar aqui possibilidades beleza Ah vamos lá eh primeiro antes da gente começar aqui galera antes da gente começar eu quero eu quero saber eu quero saber aqui quem sabe os componentes do kubernetes quem sabe a arquitetura do kubernetes para montar um cluster kubernetes você precisa entender os componentes que você vai criar porque vai te ajudar na hora de você montar um ambiente produtivo ou não e até também na hora de você identificar problemas então é importante você saber isso aqui certo Eh vamos lá o kubernetes ele é um cluster um cluster
é formado por é um conjunto de máquinas Ok e esse conjunto de máquinas é cada máquina vai exercer um de dois papéis possíveis eh ele vai exercer aqui o papel de pode exercer o papel de control plane deixa eu colocar aqui opa pode exercer o papel aqui ó de control plane opa certo o control plan é o componente do do cluster responsável por gerenciar o cluster kubernetes e vai orquestrar o cluster kubernetes Pensa nopl como Maestro né que vai conduzir ali a orquestra certo e eu tenho um outro papel que é o work node que
é o elemento responsável por executar os meus contêiners para fazer ali realmente a execução da minha carga de trabalho dos meus workloads ele que vai rodar a minha as minhas aplicações certo então aqui eu tenho o control Plane e eu tenho aqui os worker nodes certo e na e tem literaturas que você pode ver aí o kubernetes como o control plane como Master e o o work node simplesmente como node então é é importante você saber que pode existir aí essa nomenclatura também certo e cada um desses componentes aqui tem também elementos dentro dele que
são importantes para esse processo E aí eu tenho aqui no control plane o Api server o Api server ele é responsável por gerar por receber toda a comunicação externa do cluster kubernetes então quando eu executo lá Cub CTL e apply Cub CTL delete E por aí vai é com api server que eu tô me comunicando o cubc se comunica com esse endpoint do API server e eu posso também acessar diretamente com o endpoint certo depois eu tenho aqui o etcd o etcd ele é um banco chave valor onde eu armazeno todas as informações do kubernetes
então pô Fabrício eh eu tenho que fazer backup do cluster kubernetes eu tenho que fazer backup do meu cluster porque sei lá se acontecer alguma coisa eu tenho que restaurar Esse cluster você vai fazer utilizando aqui o etcd Ok você vai fazer backup você vai restaurar restaurar o etcd Pô legal depois do etcd eu tenho o o Cub scheduler o scheduler ele é responsável por fazer aqui eh toda o todo gerenciamento de onde vai ser né o onde vai ser agendado onde vai ser criado ali os meus contêiners sempre que que o kubernetes aí recebe
aqui o II server e recebe uma requisição de criação de um contêiner utilizando do podde que é um objeto do kubernetes que a gente vai ver na no desafio deops Cloud eu não vou entrar em detalhes aqui de Deploy podde e nada disso aqui nesse nesse dia vou só falar lá no no evento mas quando eu recebo aqui o Api server eh o Cub scheduler ele vai receber essas requisições e vai analisar cada uma dessas as requisições que vão ser dos contêiners que vão ser criados vai ver a especificação e vai falar em qual work
node né que ele vai ser eh executado onde ele vai ser endereçado para ser executado certo e aí depois aqui eu tenho também o Controller Manager certo o Controller Manager ele é responsável por por garantir e os estados né para gerenciar os controladores do kubernetes mas como assim FAB o que que é um controlador que que é esse lance de estado e dentro do kubernetes eu tenho diversas variáveis que vão ser alteradas ali o tempo todo como por exemplo quantidade de Pods quantidade de work noes eu tenho ali o estado do meu cluster kubernetes né
que são essas variáveis são esses resar são os recursos sempre que eu tenho essa variação de recursos quando diminui o número de um po ou quando diminui o número de um node E por aí vai eu tenho controladores que vão analisar essas variáveis vão analisar esses recursos e tomar certas decisões então quando cai ali um worker node né um node cai eu tenho o node Controller que vai tomar a decisão ali do que deve ser feito eu tenho o r s em relação ao número dos Pods E por aí vai e todos esses controladores eles
são executados né e estão sendo executados aqui no Controller Manager certo então eu tenho esses quatro elementos aqui no controlan no work node eu tenho aqui eh alguns elementos também eu tenho aqui o kubelet certo o kubelet ele vai ser responsável por por executar os meus contêiners certo ele vai fazer a execução Na verdade ele não vai fazer execução mas ele vai fazer a solicitação de execução com o contêiner antime que vai est rodando aqui no work node e ele vai cuidar ali da execução e também verificar a saúde dos meus contêineres e eu tenho
também o o Cub proxy o Cub proxy ele vai fazer toda a comunicação de rede aqui no kubernet certo e aqui né eu tenho o container runtime que é o runtime realmente de coners e esse runtime aqui vou botar aqui container runtime e esse container runtime aqui essa comunicação do container runtime com o kubet é feito através de uma interface de comunicação que a gente chama de cri é o container runtime interface é como se fosse um contrato de comunicação entre o kubet e o container runtime Provavelmente você já deve ter ouvido falar aí que
ah o docker ele não é mais utilizado pelo kubernetes ele não pode ser mais um container runtime no kubernetes e isso é verdade por quê Porque o docker ele nunca implementou esse contêiner runtime interface Então chegou um momento que cara eh por conta do container runtime interface eh o DOC aí passou a não ser mais utilizado mas para que ele continuasse sendo utilizado por mais tempo eh existia um outro processo que rodava aqui nesse meio de campo entre o kubet e o docker que era o docker shm certo é um outro processo que fazia uma
adaptação que implementava esse protocolo do cri e fazia comunicação com doc esse cara foi descontinuado e aí o Dock perdeu aí esse suporte E aí parou de ser utilizado mas quer dizer que você vai parar de usar o docker não não significa isso porque tanto o docker quanto os contêiners runtimes que são utilizados aqui no kubernet né Principalmente aí o contêiner de e o cryo todos Eles seguem o mesmo padrão para execução de contêiners e criação de imagens que é o padrão determinado pela Open container initiative que é a oci E aí isso significa que
Como Eles seguem o mesmo padrão você pode criar sua imagem com Dock e executar num contêiner de Sem problema nenhum você pode criar ali a sua imagem com o docker executar com c Sem problema nenhum então não é motivo para você de deixar de utilizar eh o docker certo ah o Eriton perguntou aqui sobre o DOC swarm cara o DOC swarm Ele também é um orquestrador de contêiners muito com muito menos recursos do que o kubernetes muito menos recursos que o kubernetes e também muito menos utilizado no mercado então assim hoje de uma forma geral
Fabrício vale a pena estudar swor não eu não recomendo ninguém estudar doc swor nos dias de hoje eu recomendo ir direto pro kubernetes só casos muito específicos que eu ainda falo Não beleza usa Dock swarm ou então vai estudar doc swarm mas assim cara 99,9 das vezes kubernetes brother vai pro kubernetes eu não investiria meu tempo hoje em doc swor Inclusive tem vídeo aqui no canal onde eu falo isso tá vídeo recente inclusive Então os principais projetos quer se diferenciar no mercado kubernetes brother kubernetes beleza show de bola então agora eh Vamos lá eh vamos
lá Quais as formas que eu posso criar um cluster kubernetes eu tenho aqui basicamente três formas diferentes eu tenho três tipos de setup diferentes que eu posso fazer pro kubernetes a primeira forma a primeira forma de criação é a mais complexa é utilizando o seu próprio cluster kubernetes gerenciado por você ou seja Tod aquele setup que eu falei antes de pegar as máquinas as suas máquinas instalar kubernet criar o control plane criar o work node E por aí vai tudo vai ser feito por você então você vai ter que instalar o Linux você vai ter
que instalar o kubernetes fazer ali a criação do pegar ali o worker node juntar os worker nodes cara você vai ter que gerenciar tudo e também as aplicações dentro do kubernetes tudo isso todo esse processo todo esse rolê vai ser feito por você a vantagem é que você tem total controle sobre o seu ambiente mas a desvantagem é que você também tem total controle sobre o seu ambiente porque você vai ter que cuidar de todo esse setup Saiu uma atualização do kubernetes você vai ter que aplicar saiu um Pet de segurança do Linux você vai
ter que colocar lá e você vai ter que gerenciar isso garantindo eh a alta disponibilidade do seu cluster kubernetes eh enfim você vai ter que gerenciar tudo eu não recomendo esse setup que é o setup on premise né vamos dizer assim quando você tá começando com kubernetes quando você tá dando seus primeiros passos e nem quando a sua equipe é pequena se você tem uma equipe pequena tá dando os primeiros passos com kubernetes car essa pior pielor forma de você começar porque vai ser o a forma com maior complexidade com maior demanda e com maior
esforço certo a segunda forma já ia botar terceira aqui mas a segunda forma é utilizando a service é você utilizar um pais um platform a Service do dos Cloud providers certo para você criar ali um cluster kubernetes e qual é a vantagem desse modelo você solicita lá a criação do cluster kubernetes pelo Cloud provider e ele cria tudo para você contr control plan work node tudo mais vai te entregar ali eh o setup já pronto para você acessar o kubernet você vai só se preocupar ali com o setup ali do do cluster e para botar
aplicação no ar eh para ambiente produtivo É o que eu mais recomendo e o último aqui é o seu cluster local para você montar o seu cluster kubernet de forma local onde você pode criar o seu cluster kubernetes utilizando containers docker onde cada máquina do seu cluster kubernetes você vai utilizar ali um contêiner E aí você cria ali o seu cluster kubernet você tem um cenário para você estudar certo e essa é a forma que eu recomendo para você estudar boa parte do seu tempo e inclusive na formação devops pro é a forma que eu
recomendo PR os meus alunos com as Minhas alunas para estudarem kubernetes ali no dia a dia e é claro validar isso depois no ambiente de produção Mas dia a dia quer montar uma poque quer estudar quer testar algo pode rodar localmente que cara não vai ter problema nenhum você vai ter uma excelente experiência e tem diversas formas de você fazer isso o que que a gente vai fazer aqui hoje eu vou mostrar para vocês hoje três formas simples de criar um cluster kubernetes ae prima vai ser o modo e local utilizando aqui o kind o
kind ele é uma ferramenta que utiliza containers docker para você criar o seu cluster kubernetes aqui local você pode se não me engano você usa podman também você pode utilizar podman pode utilizar Dock tem alguns outros contêiners runtimes que ele utiliza mas o default dele realmente é o docker então eu vou mostrar aqui para você como utilizar o kind localmente depois a gente vai criar um ambiente utilizando o aks que é o e kubernet service que é o serviço de kubernet gerenciado da azure certo o serviço de cloud da Microsoft ah Fabrício mas eu quero
ver o Eks da WS par cara a gente vai ver o Eks no desafio devops Cloud é por isso que eu tô trazendo aqui hoje o asre eu tô trazendo o asre porque ele é diferente do desafio não vou falar aqui e uma criação de cluster igual lá do desafio não aqui eu quero complementar eu quero te dar opções eu quero que você veja eu quero que você crie portfólios eu quero que você crie opções aí para você criar E aí depois depois eh no final aqui eu vou mostrar para você como montar um ambiente
on premise utilizando máquinas virtuais Mas a gente não vai utilizar o método trad ional utilizando o cuber adm eu vou mostrar aqui para você eh uma distribuição de kubernet chamada k3s que você consegue e criar um cluster kubernetes até com rhb Pie então se você tem aí eh hasb Pie ou se você tem aí uma máquina e que tá aí encostada e tal que você quer que você queira utilizar para ter o seu cluster kubernetes local cara você pode utilizar é uma excelente opção e ele roda com pouquíssimo recurso computacional então para você dar os
primeiros passos vai ser assim excelente eu vou mostrar aqui com máquinas virtuais porque a gente porque eu tô aqui é remoto né é a melhor forma de mostrar aqui para você mas você pode fazer um rbp você pode rodar aí em máquinas mais antigas Sem problema nenhum beleza show de bola Ah e então agora Vamos lá eh vamos lá eu vou aqui então compartilhar a minha tela P beleza e a gente vai começar aqui a ver a primeira forma que é utilizando o kind mas antes deixa eu pegar aqui eu vou abrir aqui e mostrar
para vocês eh o kind então agora vamos lá eu tenho aqui eh o o kind certo e aqui o kind ele é uma ferramenta Como eu disse que você consegue criar um cluster kubernetes local utilizando Dock inclusive ele fala aqui ó ele tem compatibilidade com o Dock com podman e também com o nerd CTL então você pode utilizar esses três Sem problema nenhum e eu recomendo utilizar o Dock tá e de por via geral assim eu sempre recomendo utilizar o DOC então então Eh coloca o docker aí que tá de boa para fazer a instalação
do do kide é muito tranquilo você pode instalar ele deixa eu ver se tem aqui ó você pode instalar ele através do binário dele e aí aqui ó você pode eh baixar esse binário e colocar ele para ser executado certo você pode executar ele aqui também instalar ele aqui no Mac né você pode instalar no Linux e também no Windows utilizando o powershell aqui embaixo Ó tem como você utilizar gerenciador de pacote também ó pode usar o brill pode utilizar o show con instal e tudo mais eu gosto né eu utilizo aqui eh o eu
utilizo o binário eu faço essa instalação aqui utilizando o a distribuição Linux aqui né o o a release para Linux certo deixa eu até que que quero botar aqui deixa eu até botar aqui Ah deixa eu botar aqui terminal Deixa eu botar aqui e ver se eu tenho ele aqui instalado né vamos conferir aqui se eu tenho botar aqui ó kind Ah tem instalado Beleza então mas deixa eu até atualizar aqui pode ser que eu tenha um tempo que eu não atualizo deixa eu pegar ele aqui ó no caso é para MD certo vou pegar
aqui certo vamos lá vou executar aqui um cão beleza só para vocês já verem aqui ó como é que é Tranquilo pego aqui pá beleza vem aqui ok bota aqui a minha senha á beleza show de bola se eu venho aqui C tá lá de boa Então a gente vai utilizar aqui o kind e ele é ele é um projeto escrito em go até aqui né aqui ó ele foi escrito em go e o nome dele inclusive eh significa kubernetes em doc né só a nível de curiosidade aqui embaixo tem a arquitetura dele certo para
você ver aqui deixa eu ver aqui ó tem a arquitetura dele como ele funciona e tudo mais eu não vou entrar nesse nível de detalhe eu só quero realmente mostrar para você como é que ele como é que ele é composto e tudo mais mas a gente não vai entrar nesse nível de detalhe e vamos fazer aqui o passo a passo né os principais passos para criar aqui o cluster kubernetes com o kind para criar o cluster kubernetes com kind a forma mais fácil é utilizando aqui o comando ó kind e Create cluster certo e
aí se eu executar Opa que que houve eu não tô com docker aqui rodando né faz certo que dá certo ah eu vou inicializar aqui o docker de novo pera aí vamos lá tá aqui ok Deixa eu botar aqui ó tô utilizando o docker desktop né então agora vou executar aqui de novo ó kind Create cluster e ele vai fazer aqui a criação do cluster para mim lá e vai vir aqui e vai baixar a imagem que que é utilizada aqui né pelo kind e vai fazer a criação para mim essa criação aqui do Kid
ele vai criar um cluster kubernetes com um nó só ah Fabrício mas pô cluster kubernetes não tem mais de um nó tem tem mais de um nó mas é um cenário de teste É um cenário de estudo para fazer ali seus testes seus estudos básicos você pode utilizar um nó Sem problema nenhum tá Ah mas eu quero mais de um Calma a gente vai fazer aqui também mas Mas aqui é um setup básico então aqui ó ele vai fazer essa configuração para mim demora um pouquinho porque ele tá baixando tá baixando a imagem tá criando
aqui o nóa fazendo a toda a configuração certo e aí no final ele cria aqui e ele faz também toda a configuração do CUB CTL para quem não conhece o Cub CTL o Cub CTL é a ferramenta de linha de comando utilizada para interagir com o cluster kubernetes então aqui ó Cub C get nodes eu tô executando o comando para listar os nós do cluster kubernetes se eu executar aqui ó lá ele mostra para mim que ele tem e o cluster kubernetes com apenas um nó em execução ah Fabrício eu não tenho Cub C Instalado
não tem problema é só você vir aqui ó Cub CTL instal E aí você consegue ver todo o passo a passo paraa né instalação aqui do do CUB CTL você pode instalar no Linux no Mac e no Windows certo só seguir Aí passo a passo aqui da documentação você vai conseguir instalar Sem problema Acabou que eu não falei antes do CUB CTL mas eh a gente arruma aqui agora é importante ter o Cub CTL instalado então aqui e beleza criei aqui o meu cluster kubernetes vamos ver o que que aconteceu aqui por debaixo dos panos
se eu executar aqui docker container LS ah lá ó ele cria um contêiner rodando na minha máquina utilizando aqui o o docker para criar o contêiner e criar um cluster kubernetes cada máquina do cluster kubernetes aqui vai ser um contêiner Então olha só que maneiro eu quero simular aqui a queda né do cluster kubernetes ou a queda de um nó do cluster kubernetes se eu pegar aqui ó pegar aqui ó docker stop e botar aqui pá ele vai parar esse contêiner certo tá ali parando vamos lá el tá parando ali o contêiner E aí o
que que vai acontecer indisponibilidade desse meu cluster lá ó não tá funcionando se eu quiser voltar esse nó eu ven aqui docker start e ele vai lá inicia de novo daqui a pouco eu tenho aqui o cluster kubernetes funcionando novamente ó lá já foi eu tenho aqui o cluster kubernetes Então cara você consegue simular um caos aqui você pode montar o teu setup do kubernetes Cara o que que acontece se um nó cair que que acontece se sei lá é o nó cair depois voltar você consegue ter esse comportamento aqui utilizando o kind e o
kind Ele é legal porque ele utiliza como base de setup o Cub ADM que é uma das principais ferramentas para criação de ambiente kubernetes eh hoje no mercado ele é a principal é a ferramenta utilizada desenvolvida inclusive pela própria equipe do kubernetes legal então aqui eu criei a forma mais simples do kubernet eu posso vir aqui também ó utilizar o kind e get cluster [Música] kind L cluster eu nunca lembro esses comandos Ah deixa eu ver aqui ah ah não é ah não é get clusters errei por causa de um s vamos lá tá aqui
ó get clusters aí ele vai listar para mim aqui o cluster que eu criei Se eu quiser eu posso criar vários clusters aqui posso criar vários como por exemplo deixa eu criar aqui um outro kind cluster certo e aí eu posso passar aqui o name e chamar aqui ó meu cluster E aí ele cria aqui para mim certo aí ele vai criar aqui um novo cluster e se eu executar o get clusters ele vai mostrar que agora tem dois clusters kubernetes criados certo e os comandos do kind eles são eles não seguem muito um padrão
né no caso o k3d que a gente vai ver no desafio devops Cloud é mais intuitivo assim os comandos é bem mais eh intuitivo certo então aqui eu tenho o meu cluster criado e eu posso vir aqui ó kind get clusters certo aí ele cria ele mostra aqui os dois clusters e eu posso vir também aqui ó e executar o kind delete cluster E aí ele vai deletar um cluster se eu executar de novo Opa se eu executar aqui de novo passando name meu cluster ele vai deletar esse cluster aqui para mim também ok bom
legal então aqui aprendemos como criar a forma mais simples mas quando a gente fala em cluster kubernetes quando a gente fala na criação aqui de um cluster kubernetes num cenário produtivo né vamos dizer assim é é uma boa prática eu trabalhar com alta disponibilidade o que que é isso é trabalhar com o kubernet de forma que caso aconteça algum problema com algum com algum work node ou com control plane eu tenha resiliência eu tenha contingência ali pro meu cluster então para ambiente produtivo você não vai botar aqui um contr plane apenas porque imagina um cenário
em que você tá numa orquestra Você tá assistindo uma orquestra né E aí o maestro vai lá e se machuca né Vai lá machucou aí e tal e aí o que que acontece Putz O maestro não vai poder mais conduzir ali a orquestra acabou o espetáculo né acabou o espetáculo quem é que vai conduzir por isso que é importante aqui trabalhar com mais de um controp no cluster kubernetes pra gente ter alta disponibilidade do cluster kubernetes certo e aí você precisa ter um setup com mais de um control plane beleza eu não vou abordar aqui
mais de um control plane num cenário on premise tem vídeo aqui no canal onde eu mostro como fazer isso com Cub ADM eh na formação devops pro a gente tem o módulo lá kubernetes administração que fala sobre isso então aqui o objetivo é montar setup de estudo desenvolvimento e prova de conceito não vou entrar aqui em cenário produtivo certo beleza mas é importante a gente ter isso e por que que eu tô falando pra gente eh pra gente conseguir aqui eh simular esse ambiente produtivo aqui com o kind E aí para isso que que eu
vou fazer aqui certo o que que eu vou fazer aqui eu vou primeiro deletar esse cara aqui né que é da aula de ontem certo vou matar esse cara E aí eu vou fazer o seguinte eu vou montar aqui um setup para criar o meu cluster kubernetes com kind eu vou montar aqui um kind config para eu poder mexer nessas configurações aqui do kind então para isso eu vou precisar criar aqui um arquivo emo certo ah vamos lá kconfig pemo certo e a gente vai montar esse setup aqui então beleza botar aqui o arquivo eemo
e aí a gente vai voltar na documentação eu quero que você veja aqui a documentação comigo para você ver onde é que você pode achar também as coisas certo e aí aqui eh a gente vai vir em configuração e eu tenho mais detalhes de configurações que eu posso fazer aqui com o com o kind se eu vir aqui ó em per note options deixa eu ver se é aqui não deixa eu ver aqui Paraná deixa eu achar aqui na documentação eh montando aqui com vários clusters Ah tá aqui aqui ó para eu criar esse meu
cluster com multin eu posso utilizar aqui o arquivo eh kind config E aí é só seguir aqui o o seguir aqui a configuração com o arquivo emo eu posso pegar aqui ó esse emo colar aqui certo e executar aqui a criação e aí eu venho aqui ó kind e Create cluster E aí eu passo aqui posso botar um nome eu não vou botar aqui o name tá Vou botar aqui o name meu cluster e vou colocar aqui o config que vai ser o meu arquivo kind config Emo se eu executar ele vai criar aqui para
mim E aí olha só que legal ele monta aqui né ele tem essa ilustração maor irada aqui esse desenhinho que ele fala olha tô baixando a imagem e aqui ó como você vê ó quantidade de nós que ele tá criando ele bota exatamente a aqui por porque aqui eu ó três nós onde um é cont plan e dois são worker node então elando aqui agora umen parecido com esse que eu aqui Plane e work node certo tá vendo aqui aí um cenário parecido com esse que eu tô fazendo aqui vamos lá então aí beleza e
aí aqui ó se eu viro aqui né ele terminou se eu executar agora o mesmo comando Cub CTL get noes Olha lá eu tenho um cluster kubernetes muito mais complexo n Eu tenho um cluster kubernetes bem mais complexo aqui certo tá vendo aqui eu Ten o cluster kubernetes com um control Plane e dois worker noes Ah quero montar um cenário de alta disponibilidade beleza eu posso pegar aqui ó e adicionar né quantos control Planes e quantos worker nodes eu quiser então aqui ó eu pego aqui boto aqui e agora eu venho aqui né kind eh
delete cluster passando aqui name meu cluster ele vai deletar e a gente executa de novo ele vai criar agora né um cluster kubernetes mais complexo você vê aqui ó que eu tenho aqui ó seis nos agora três control Planes e três worker noes e aí agora eu posso fazer aquele teste eu posso pegar um control plane dar um stop se o meu cruster kubernetes vai continuar funcionando e tudo mais eu tenho muito mais eh alta disponibilidade nesse cenário certo aí eu tenho aqui consigo vir aqui e trabalhar tranquilamente certo ó lá ele vai criar aqui
para mim beleza ó lá e aí como eu tô trabalhando agora com vários control Planes ele cria um load balancer aqui para mim tá vendo ele cria aqui o load balancer para mim realmente simulando um cenário de alta disponibilidade certo onde eu vou ter ali um load balancer balanceando a carga entre os meus control Planes e tudo mais certo simulando um ambiente de alta disponibilidade certo se eu vir aqui Cub C get nodes olha lá eu tenho um cluster kubernet com muito mais e máquinas rodando máquinas rodando certo se eu vir aqui agora ó doc
container LS Olha a quantidade de coners que eu tenho aqui rodando certo lá eu tenho aqui o o load balance né que ele cria eu tenho aqui o control plane 2 o 3 que tá aqui eu tenho o outro control plane que tá aqui eu tenho e o worker worker 3 e worker 2 eu tenho esses três aqui rodando ou melhor é tenho seis né instan rodando mais aqui o load balance certo agora tem um ponto muito importante muitas vezes eh eu preciso acessar com o kind os meus serviços meus podes as minhas aplicações ali
para rodar né para fazer o teste aqui na minha no meu ambiente e aí eu preciso fazer aqui um mapeamento de porta que inclusive ele mostra aqui embaixo também eu preciso mapear uma porta da minha máquina local né uma porta da minha máquina local com a porta do contêiner para poder acessar as minhas aplicações eu vou entrar em mais detalhes sobre isso no no nosso evento no desafio devops Cloud mas eu quero que você veja aqui também eh Então deixa eu limpar aqui e eu vou vir aqui agora e vou mudar esse cenário adicionando aqui
ó em uma da um dos contêiners o mapeamento de porta eu vou pegar aqui ó um deles e vou adicionar esse aqui que que eu tô fazendo aqui eu tô Map a porta 80 do meu contêiner com a porta 80 da minha máquina que no caso eu não vou fazer isso aqui eu vou usar 808 com a porta 30.000 do do contêiner Fabrício por que 30.000 desafio devops Cloud eu vou entrar nesse detalhe quando a gente falar sobre service por enquanto se liga aqui nessa parte de de de porta aqui que eu vou expor aqui
no caso essa parte aqui de baixo eu não preciso certo não preciso e agora eu vou criar esse carinha aqui de novo vou vir aqui kind eh delete cluster passar aqui o name meu cluster Ah vamos lá e tá deletando aqui á beleza vamos executar aqui de novo certo daqui a pouquinho eu vou parar aqui para responder as dúvidas de vocês aí no chat antes da gente pular pro próximo mas aqui ele tá criando eh os meus componentes certo de novo ele tá criando aqui os componentes vamos lá vamos lá beleza deixa aí terminar aqui
ah lá foi certo aqui ele criou agora eu posso vir aqui e executar Cub C get nodes tem a mesma coisa né mesma quantidade de nós e aqui se eu virar agora no Doc coner LS ah lá tá diferente por quê Porque aqui ó eu tenho um dos contêiners aqui com o bind aqui ó o bind do 8080 com a 30.000 E aí vamos ver se esse esse cara vai funcionar eu vou pegar aqui um arquivo de Deploy do kubernetes eu não vou entrar aqui em detalhes do Deploy porque a gente vai falar sobre isso
eh no evento mas basicamente eu vou rodar aqui um innex pra gente testar E aí deixa eu só colocar aqui né vou setar aqui que eu vou utilizar a porta ó 30.000 que é aquela porta que eu tô expondo né que eu que eu expus mas volto a dizer eu vou entrar em detalhes lá no desafio vai ficar muito mais claro isso aqui para vocês certo Cub CTL apply menos F Deploy E aí executo aqui Cub CTL get nodes beleza Cub CTL get Pods tá lá criando deixa aí terminar de criar aqui ó lá já
foi agora a gente a pode testar a gente pode vir aqui ó local host 8080 tá lá ó consegui acessar aqui a minha aplicação Então essas são as Essas são as formas de criar o cluster kubernetes aqui com o kind certo eu vou matar esse cara aqui kind eh delete cluster passar aqui o name meu cluster e deixa eu ver aqui as perguntas Ah deixa eu ver Vamos lá eh Fabrício explica sobre o clusters node port e tal desafio devops e Cloud a gente vai eu vou entrar nesse detalhe vou explicar tudo isso no evento
eh a gente vai entrar mais a fundo nisso aqui o foco é criar o ambiente beleza Eh o que significa ter três control Planes aí se comunicam de forma que alteração em um del seja espelhada nos outros eh não eles vão se comunicar entre si Mas você vai ter sempre um ali que vai ser o Master certo que vai que não é o Master mas é o eleito para ser o gerenciador E aí caso um caia e outro vai entrar no lugar beleza Isso é para ter alta disponibilidade beleza Ahã eu eu acho que foi
essa a sua pergunta não sei se foi isso que você quis saber eh o Maron perguntou se eu vou criar um um com load balancer cara eu vou criar agora no ambiente do ejo Então a gente vai utilizar aqui o load balancer eh Então a gente vai criar aqui eh paramos aí eh até esse ponto se os c são apenas processos Linux vazio no Linux processo vazio dentro do Linux Não entendi essa parte mas eh cara ele vai ser o vão ter alguns processos ali rodando no kubernet no na tua máquina Linux para rodar o
kubernetes você vai ter ali o coet rodando e você vai ter alguns coners rodando lá também tá depende depende também do setup que você tá utilizando mas com Cub ADM você vai ter o kubet que vai ser um processo fora e você vai ter contêiners ali rodando eh dentro do da sua máquina Linux quando a gente tá trabalhando com kubernetes eh o Cub api com kubeadm e o kubernetes com kubeadm eh o Api server o scheduler o etcd todos eles são contêiners eles vão estar sendo executados eh como pod dentro do cluster kubernetes E aí
o kubet ele faz essa criação né E tem alguns arquivos estáticos que ele lê e tem essa declaração dos componentes aí é mais de diive em relação à criação de ambientes on premise mas não é um processo vazio que vai est sendo executado tem algum algum alguns processos que vão ser executados Beleza deixa eu ver aqui eh deixa eu ver aqui fabr então com uma equipe pequena Qual a melhor forma de usar cluster cara eu recomendo utilizar eh Eu recomendo utilizar ambiente gerenciado pelo Cloud provider certo eh o Júnior perguntou se eu recomendaria uso do
kind para gerenciar ambiente H prem homologação não kind é ambiente local de desenvolvimento não usar em ambiente eh local eh Beleza deixa eu ver aqui eh o podman docker podman qual a diferença do docker e o podman são ferramentas Diferentes né Eh no final eles vão fazer a mesma coisa inclusive Eles seguem a oci mas eh são ferramentas diferentes para você trabalhar com com tênis certo ã vamos lá show de bola pessoal então agora o que que a gente vai fazer aqui certo Eh agora a gente vai ver aqui e vamos utilizar a segunda forma
para criar o cluster kubernetes nós vamos utilizar agora eh o serviço de kubernetes da do e a gente vai utilizar o aks esse ambiente aqui você poderia utilizar em produção poderia com algumas alterações eu vou utilizar um perfil aqui de desenvolvimento certo então eu não recomendaria por conta disso mas você pode fazer um setup aqui fazer algumas modificações e utilizar para ambiente produtivo eh então agora deixa eu abrir aqui meu navegador e eu vou entrar aqui no portal do é deixa eu abrir aqui portal do e deixa eu compartilhar aqui a minha tela deixa eu
autenticar aqui beleza Eh vamos lá o o o aks o e e kubernetes service aí é o serviço de kubernetes gerenciado do e então ele entra como aquela segunda opção onde eu sou solicito pro Cloud provider a criação do cluster kubernetes e ele vai lá e cria para mim então aqui é importante você ter uma conta na no ure certo e você precisa ter o o ure se alai o Az slii para criar aqui o seu o seu a sua conexão com o cluster kubernetes tá você tem que ter aqui o eici e e tá
autenticado aqui para poder fazer aqui todo o seu processo de configuração então o que que eu vou fazer aqui eu vou vir aqui e vou procurar eh kubernet né aqui no caso já tinha né aqui embaixo Mas eu vou vir aqui pela busca e vou procurar aqui kubernetes ele vai mostrar para mim kubernet service e eu vou utilizar esse cara E aí eu vou criar aqui o meu cluster kubernetes certo e aí aqui eu tenho todo o passo a passo de criação desse cluster eu tenho aqui ó que escolher a minha subscription que é a
minha assinatura aonde eu vou ser cobrado né comem qual conta que eu vou ser cobrado aqui por esse recurso no caso Vou botar aqui eh o visual Studio enterprise eu tenho que escolher aqui o research Group né que é o meu grupo de recurso que é a forma que o asley faz para organizar de uma forma lógica os recursos do asre Então sempre que você vai criar um recurso no asre você vai vincular ele a um resarce group então você pode criar um resarce group por equipe né Por unidade por ambiente por homologação produção por
aí vai Então depende do modo que você quer organizar certo eh e agora eu vou vir aqui e vou criar o meu resarce group e inclusive o res group é um recurso que não tem né não tem em em alguns outros Cloud providers eu não tenho certeza se resarce group tem na no Google no gcp mas aws não tem esse conceito de resarce group tá E é algo que funciona aqui no é algo que inclusive eu gostaria muito que tivesse na aws porque uma vantagem aqui do uso do resarce Group é que quando você deleta
um resarce group ele deleta todos os componentes que tem ali nesse dentro desse research group então pô você criou aqui um um Gateway você criou uma virtual né uma venet que é uma rede virtual você criou subnet E por aí vai qualquer recurso que você vinculado ao resar group deletou o resar group acabou Você tem certeza que aquilo foi deletado E aí e acaba que na aws a gente não tem isso né a gente acaba que eh tem que verificar lá um por um os componentes e tal muitas vezes a gente esquece né e tal
é cobrado então isso aqui é um recurso que eu sinto falta né ter na aws Então vou criar aqui vamos botar aqui ó Live k8s dou um ok e aqui ó é um ponto importante eu vou escolher aqui qual é o perfil Qual é o presset Né do cluster que eu quero criar E aí eu tenho produção tenho desenvolvimento e test tenho produção de forma Econômica eu tenho eh produção de forma enterprise E é claro né que cada um vai ter aqui um presset vai ter um custo diferente como a gente tá pensando aqui em
des movimento teste estudo deve teste resolve a minha vida quero trabalhar com produção aí você vai botar aqui production né ou Standard Standard ou Economy ou enterprise certo o Economy né que é o modo econômico de produção você não vai ter tanta tolerância em relação à interrupção você não vai ter tanta quanto produção e o production enterprise Então pode usar pode mas usa com sabedoria sabendo que você pode ter em disponibilidade aqui no caso Dev teste tá tudo certo vou colocar aqui o nome eh Live k8s certo e aqui eu vou escolher a região certo
e eu posso botar aqui as zonas de disponibilidade que eu vou utilizar para ter aqui eh alta disponibilidade certo eh no caso aqui eu não vou botar nada ambiente de desenvolvimento não vou me preocupar com isso eh camada de preço aqui né E aí eu posso colocar como gratuito Standard ou Premium E aí o sla aqui eh vai fazer diferença né vai ter diferença aqui no sla e na disponibilidade certo aqui inclusive ele fala ó para você colocar isso aqui em ambientes de estudo testes simples ou com workloads menores do que 10 nós então se
você começa a ter mais de 10 nós é para ir para esses outros dois Vou botar aqui o free a versão aqui do cluster kubernetes eu vou utilizar É a política de atualização se eu quero botar atualização automática Qual a janela aqui de atualização eu no caso aqui eu vou deixar desabilitado certo eu não quero que ele faça atualiza automática e aqui beleza não quero mais configurar mais nada Vou botar aqui autenticação com rbac local dessa forma mesmo e aí eu posso dar um next aqui eu vou escolher o perfil das máquinas que eu vou
utilizar certo perfil computacional que eu vou utilizar eu posso alterar vindo aqui no node size posso mudar aqui o nome né Desse Pool de máquinas que que eu vou criar esse conjunto de máquinas que eu vou criar eh aqui eu posso mudar o perfil computacional certo posso botar aqui qual o perfil computacional que eu quero e aqui ele vai mostrar eh os valores certo você vê que aqui o valor é por hora então ah pô eu quero estudar aqui por uma horinha cara você vai gastar eh esse valor aqui né 21 centavos vezes a quantidade
de máquinas que você colocar então se você tiver essa disciplina de criar e você criar e destruir eh o seu cluster kubernetes cara você consegue estudar criar seus recursos de nuvem sem ter que investir tanto valor assim sem eh investir um valor tão alto então a dica que eu dou é sempre cara utiliza aqui o mínimo possível tá de máquina de perfil computacional e uma outra dica é cara utiliza o github Actions para criar uma pipeline lá para você para todo dia meia-noite ou sei lá 1 hora da manhã um horário que você sabe que
você não vai est estudando mais deletar todos os research grupos da sua subscription dessa forma você garante que qualquer recurso que esteja lá no Cloud provider vai ser deletado ah Fabrício mas pô no dia seguinte se eu for estudar e tal pô eu vou ter que criar de novo vai mas você garante que você não vai ser cobrado você não tá sendo cobrado em relação a isso tô falando aqui de salvar tua grana fazer com que você Invista o mínimo possível para você estudar no ambiente de cloud cria lá uma pipeline bota um esedu lá
meia-noite uma hora sei lá e deixa garante que esse cara vai vai est sempre ali sendo disparado deleta todos os resar groups cara ó vai dar vai dar certo vai dar bom você não vai ter surpresa nenhuma de boleto no teu cartão de crédito aqui no caso eu vou escolher aqui ah eu vou escolher aqui esse perfil mesmo beleza com duas vcpus e 8 GB de Ram eu posso colocar aqui como outc né que é o recomendado aí eu vou botar aqui um valor mínimo e um máximo de nós que ele vai criar para mim
no caso aqui eu vou botar manual quero só três nós beleza e agora eu atualizo Beleza vou botar ele aqui review e Create ele vai criar aqui para mim certo ah beleza ele vai analisar isso aqui para mim vamos lá E aí beleza ele vai mostrar aqui para mim criar vamos embora certo aí vai fazer esse processo de criação esse processo aqui eh a gente vai fazer aqui né ah deixa eu ver aqui tá criando esse processo demora um pouquinho leva aí uns 6 minutos depende do tempo enquanto isso deixa a gente bater um papo
aqui certo ã Marlon perguntou se a gente vai fazer aqui nos cloud no no na WS e gke a gente vai fazer no no Eks no nosso desafio aqui a gente não vai usar gke a gente não vai utilizar gcp tem vídeo aqui no canal sobre gcp utilizando gke tem vídeo aqui no canal já tá só dar uma olhada eh o Reginaldo perguntou qual é o mais leve para estudar local o mais leve é para estudar local e é o k3d que a gente vai ver no evento tá a gente vai a gente vai a
gente vai ter e utilizando o k3d mas o kind é legal também tá o kind ele é mais pesado com toda a certeza ele é mais pesado que o k3d mas vale a pena utilizar ele também tá deixa eu ver aqui deixa eu ver aqui o Caio perguntou se em produção indicado rodar os contres em VM separados dos worker Notes com toda a certeza separado certo ã Ah o Jeferson falou aqui no sentido de que quando você quer modificar algo você faz isso só em um control plan ou modifica em todos quando você vai fazer
a atualização dos control Planes você vai ter que fazer em todos tá e atualizar ali o cluster kubernetes e tudo mais você vai ter que fazer em todos tá e o Marlon perguntou se eu tenho assinatura do visual Studio tenho né Eh eu sou Microsoft MVP né então por eu ser MVP eu tenho assinatura do visual Studio enterprise então a assinatura essa assinatura é vinculada à minha conta de MVP E aí eu tenho aqui alguns créditos e tal do é tem tem alguns benefícios por conta do MVP certo então beleza e tá aqui fazendo ó
a criação e aí aqui eh a gente vai ver aqui assim que terminar ele vai criar aqui o meu o meu cluster e eu vou poder fazer a conexão dele com o o Az S eu vou utilizar o eg cai para poder fazer essa conexão a gente vai ver aqui como como funciona mas essa aqui é a forma mais simples de você montar no ambiente de nuvem então o que que eu recomendo para você eh faz tudo local faz seus testes locais eh faz o seu Deploy faz teste de carga testa a sua aplicação local
utilizando o kind ou k3d que a gente vai ver no desafio e quer fazer aquele teste final que é validar ou então cara botar num produt num ambiente mais próximo de produção roda no ambiente de cloud E aí você vê que pelos valores aqui 20 centavos tem ai 40 centavos tem um gusto de R 1 e pouco até mais né mas você investindo isso por hora né digamos vamos botar aqui que você vai botar uma máquina de R 1 por hora cara se você botar ali R 3 né Eh vezes três máquinas você pode botar
até duas Dependendo do que você vai testar aqui você pode botar duas máquinas Mas você coloca aqui duas máquinas pô R 1 você tá pagando aqui r$ 2 por hora pô você vai ficar aqui sei lá 4 horas você vai pagar cara você vai pagar aqui é r$ 8 né então assim dá para você fazer o seu teste no ambiente de cloud eh tendo ali um investimento menor o problema é quando a gente esquece isso ligado E aí realmente cara é um problema sério certo mas mesmo assim se você tiver estudando se você tiver num
ambiente de estudo e vier uma um Às vezes vem né um boleto desse alto eu já passei por isso de esquecer algo ligado no ambiente de cloud eh O que você pode fazer também muitas vezes é entrar em contato com o cloud provider e falar cara eu sou estudante tô estudando e tal eles analisam ali o comportamento da sua conta e muitas vezes eles abatem eles eh eh abatem ali o valor né é importante você entrar em contato e tal nem sempre isso acontece mas mas né se você já já chega ali a surpresa né
você tem que pagar o máximo pode acontecer é realmente ter que pagar mas vale a pena você entrar em contato o ideal é de novo novamente crie uma pipeline se icd no github Actions bota agendado ali para tipo o final do dia um horário que você sabe que você não vai est mais estudando deleta todos os seus recursos dá para fazer isso no e dá para fazer isso na w se dá para fazer isso no Google bota isso que cara salva o teu bolso isso aí cara salva muito o teu bolso beleza Eh vamos lá
aqui ó o Sidney botou ó já aconteceu comigo e El a bateram é exatamente Então vamos lá deixa eu ver aqui ae tá criando aqui os últimos recursos você vê que demora realmente um pouquinho tem aqui vai 3 minutos né ele começou a criar aqui 8:16 né são 8:20 tem aí eh um pouco mais de 3 minutos né que começou 816 e48 quase 8:17 né ah não tem mais aqui meu relógio é meu relógio tá atrasado não tem uns 5 minutos aqui mais ou menos e aí né a gente vai ver ele criar aqui deixa
eu deixa terminar aqui fazer mais um refresh mas é rapidin são 6 minutos é mais ou menos 6 7 minutos o o daws demora um pouquinho mais leva uns 10 12 e tal mas aí depende do Cloud provider Depende de como estão os recursos também às vezes o o é demora também depende deixei terminar aqui eu acho que tá na etapa final já já tá acabando vamos lá vamos lá deixa eu ver aqui Beleza deixa eu atualizar aqui tá aqui atualizando galera eu quero saber o seg seguinte quem aí já sabia criar esses ambientes Aqui
quem tá vendo pela primeira vez me conta aí já conhecia o kind já conhecia o aks Me conta aí quero saber aí né de vocês vocês estão aí eh ao vivo aqui comenta aí no chat comenta aí nos comentários também se você já conhecia Qual que você gosta mais para ambiente local eu gosto muito do k3d ele é muito ele é muito rápido ele é muito leve então eu gosto bastante do K3 d o kind eu utilizo quando eu quero algo realmente parecido com o Cub ADM mas eh no dia a dia mais mesmo assim
local utilizo k3d vamos ver aqui ah deixa eu ver aqui tá aqui atualizando ainda tá aqui ainda construindo E aí galera aqui tem uma parada que aí tem uma outra dica né todo esse processo que eu tô fazendo aqui né manualmente né de fazer aqui e clicar autenticar e tal quando você tem um projeto terraform com tudo isso aqui declarado tu executa com uma linha de comando cara aí ó aí é lindo cara aí é lindo aí é lindo aí é lindo cara quando você usa o Terra forme para provisionar para destruir os seus recursos
cara é lindo principalmente naws como ele não tem esse resarce group E você tem que ir nos recursos ali para deletar utilizar o terraform você garante que tudo tá sendo destruído cara e salva o teu bolso ajuda a automação no trabalho cara infr escod é irado cara Terra for é irado vamos lá agora tá demorando Só porque eu falei que ele é rapidinho né Deixa eu dar um refres aqui ver se vai ainda tá vamos lá vamos lá beleza aqui ó show foi E aí agora terminou aqui eu vou aqui no Rance eu vou direto
no recurso E aí vai mostrar aqui para mim todas as informações do cluster kubernetes aqui ó ele vai mostrar todas as informações aqui do meu cluster e aí que que eu vou fazer aqui eu vou conectar eu vou vir aqui em Connect certo e aqui eu tenho ó os comandos para conectar aqui no cluster eu vou pegar esses comandos aqui e vou colar tão simples quanto isso tão simples quanto isso vem aqui pá beleza vem aqui legal executo ele vai fazer aqui a configuração para mim E aí eu venho aqui Cub CTL get nodes certo
ó lá ele foi lá e listou aqui para mim ó eu tenho os três aqui eh os três nós criados E aí eu posso vir aqui ó mudar aqui o meu Manifesto certo botar aqui ó ao invés de node port fazer uma pequena alteração aqui vou utilizar o load Balance E aí eu vou mostrar isso para vocês no evento tá Não se preocupem na aula 3 quando a gente subir pro Eks eu vou falar aqui sobre load balance você vai ver mais na prática Se eu vir aqui PB C get Opa apply Men F Deploy
E aí executa ele vai criar aqui para mim o bctl get Pods Ó lá ele vai criar aqui para mim deixa eu ver lá já tá E aí se eu vir aqui agora Cub CTL get Services aqui ó eu pego aqui o IP externo certo e aí aí vem aqui pá vou conseguir acessar lá ó Welcome to engex ó lá agora eu consigo aqui acessar beleza certinho show de bola né Muito maneiro agora se eu quiser deletar é tranquilo eu posso vir aqui ó resarce Group Cadê eu tenho aqui o research group aqui criado ó
eu tenho aqui todos osar groups criados é só deletar aqui o research group que ele vai deletar tudo posso deletar aqui o Live k8s deleto aqui esse aqui também ó que vão estar com os meus recursos E aí tá tudo certo beleza aqui no caso eu vou deixar porque eu vou deletar tudo de uma vez depois certo mas deleta aqui os grup e tá tudo certo eu no caso aqui não vou deletar Porque eu já tenho aqui um outro res group que é o que a gente vai utilizar aqui nesse nosso próximo setup que é
utilizando o ambiente com máquinas virtuais certo Deixa eu só responder aqui ã o Gil perguntou se é possível fazer balanceamento de carga em dois Cloud providers por exemplo local e com é possível isso é possível mas aí não tá relacionado só à kubernetes você vai ter que ter inf estrutura aí você vai ter que mexer também com outros elementos do Cloud provider também tá não é simplesmente eh não é só o kubernetes tá ã o Jefferson falou aqui com terraform então você não precisa mudar as coisas em cada control plan cara são coisas diferentes tá
eh o terraform ele provisiona a os recursos configuração você vai ter que fazer de qualquer jeito depende do setup que você tá fazendo tá tudo isso depende tá eh mas não é bem assim não você vai ter que fazer as alterações no control planing A diferença é que se você tiver utilizando o cloud provider eh um aa service como a gente tá utilizando aqui eh para atualizar é muito mais fácil Quer ver Ah eu quero atualizar eh esse cluster kubernetes aqui eu posso vir aqui e mudar a versão desse cluster kubernetes eu posso vir aqui
ó e atualizar ele eu posso vir para cá ó botar 30 e aí ele vai fazer aqui o upgrade para mim certo se eu clicar aqui ele faz o processo para mim de atualização certo e aí no terraform eu consigo fazer isso também ok Bom vamos lá qual a terceira forma que a gente vai fazer aqui para criar o cluster kubernetes a terceira forma é utilizando máquinas virtuais e aqui no caso eu vou utilizar máquinas virtuais na nuvem vou utilizar aqui máquinas virtuais na no próprio e se eu vir aqui ó eu tenho três máquinas
virtuais já e prontas aqui para eu utilizar Mas você pode fazer na sua máquina virtual local você pode utilizar um proxx você pode utilizar rasberry piie você pode utilizar máquina física não tem problema nenhum e aqui o que que eu vou utilizar para criar esse ambiente a gente vai utilizar a aqui certo o k3s o k3s é uma distribuição Linux que tem como objetivo ser uma distribuição leve do Linux ou do Linux do kubernetes o k3s é uma distribuição leve do kubernet que tem como objetivo ser uma solução que Rode em ambiente com pouco poder
computacional Ele É principalmente utilizado em ambientes IOT ou em arquiteturas Edge em arquiteturas de borda certo e aí você pode utilizar em IOT você pode utilizar em cicd você pode utilizar com processadores arm certo e você vê que a arquitetura dele é um pouco diferente você pode inclusive utilizar o k3s utilizando aqui outros storages né diferentes do etcd você pode utilizar eh como banco del ao invés de utilizar o etcd você pode utilizar MySQL você consegue utilizar skite E por aí vai então ele tem como objetivo ser uma solução leve e fácil de instalar com
um setup simples certo você vai ver aqui junto comigo que o setup é realmente Bem Simples então aqui entrando na documentação dele a gente consegue ver deixa eu ver se é aqui não é em installation requirements a gente consegue ver aqui é que os requisitos são realmente muito menores se você olhar aqui ó o hardware dele ó ele pede eh um um server com dois dois vcpus e 2 GB de Ram Cara duas vz cpus e 2 GB de Ram Olha o poder computacional que ele pede e aí cada Agent que no caso aqui é
o work node né no caso server é o control Plane e no caso do gente aqui é o work node ele pede ó pelo menos uma vcpu e 512 m de memória RAM Então cara você consegue utilizar um setup muito otimizado para esse ambiente cara ele é ótimo para estudo Você tem alguma máquina mais antiga aí cara mete um um Linux nela bota aí o k3s você vai ter o teu ambiente kubernetes local aí para você você e brincar para você estudar para você eh montar os seus Laboratórios você tem aí Rash Berry pik tá
aí encostado e tal você pode montar também um cluster kubernetes utilizando ele certo e cara esse cara aqui é muito flexível dá para fazer muita coisa E aí vamos fazer aqui o setup dele para fazer aqui o setup dele eu vou vir aqui ó na minha máquina virtual E aí eu tenho aqui o plan e dois work noes eu vou entrar aqui primeiro no control plane E aí eu vou pegar aqui o IP público né para poder acessar e vou acessar via SSH pegar aqui certo ah deixa eu vou entrar aqui deixa eu abrir aqui
um outro terminal vai ser melhor vou abrir aqui um outro terminal certo e aí eu vou acessar aqui ó SSH admin e @ coloco aqui certo dou um E aí beleza vou colocar aqui ok ele vai autenticar lá o acesso remoto tô aqui no control plan e fazer o setup dele é muito simples eu venho aqui certo e aqui ó ele tem ó aqui em cima já tem a configuração inicial posso executar Esse comando aqui e aí ele vai fazer todo o setup para mim Fabrícia é simples assim é tão simples quanto isso eu venho
aqui ele vai criar deixa ele executar ali e aí ele vai fazer o setup beleza eu viro aqui ó Cub C get noes ele dá um erro por por conta do aqui ao arquivo de configuração do CUB C se eu viro aqui ó se eu executar aqui um Cat aqui eu tenho a configuração do CUB CTL certo mas aí não tem problema eu posso mudar aqui deixa eu botar aqui a permissão ao arquivo botar aqui o sudo lembrando cara ambiente de desenvolvimento ambiente de po então não tô muito preocupado aqui com permissão Então beleza se
eu viro aqui agora Cub C get E noes tá lá ó eu tenho o cluster kubernetes instalado tão simples quanto isso ah Quero rodar aqui a minha aplicação posso vir aqui ó esse carinha aqui vai voltar vou botar aqui node port de novo V explicar em mais detales isso no evento Então não deixa de participar do evento certo coloco aqui deixa eu pegar esse carinha aqui vou criar aqui o arquivo no meu servidor deixa eu ver aqui p beleza V botar aqui o meu arquivo ok passo aqui e agora executo C apply menos F Deploy
ele vai criar E aí se eu para eu acessar esse cara eu pego aqui o meu IP público e boto aqui ó boto aqui o IP público boto a porta que eu tô utilizando que no caso é a 30.000 ó lá tá aqui o endex funcionando e você pode acessar aí também Fabrício legal legal você botou aí criou beleza k3s certo Eh agora pô você tem três máquinas aí né você tem três máquinas Pô eu quero botar as outras máquinas aqui você tem um control plane quero botar os worker nodes como é que eu faço
é simples você vai vir aqui ó e para botar os worker nodes tem um trabalho extra aqui mas é tranquilo que que eu vou ter que fazer aqui eu preciso pegar o certificado aqui do meu contr control plane para eu poder para quando eu tentar autenticar aqui e entrar nesse cluster o control plan saber que Putz não é uma pessoa que tem aqui eh o meu token né para poder fazer o acesso e tudo mais né não é qualquer um que tá tentando entrar é alguém que tem autenticação para isso E aí para pegar esse
token eu vou pegar aqui no diretório barra eh ah tenho que botar como sudo né eu tenho que botar aqui Ó Barra V barra iib barra rang bar k3s server node token Opa node token Cadê Opa Cadê node token aqui ele não tá com aut complete Mas beleza peguei aqui o token Deixa eu botar aqui no Notepad certo pegar aqui no Notepad Ok botar aqui o token E aí eu vou fazer o seguinte eu vou pegar aquele comando né Esse comando que eu usei aqui vou colocar ele aqui Opa botar ele aqui certo só que
aqui eu vou fazer o seguinte eu vou botar aqui duas variáveis que são importantes o K3 opa k3s é URL onde eu vou botar a URL aqui do meu control plane certo e aí eu vou pegar aqui o IP interno aqui do meu da minha máquina Cadê Deixa eu pegar ele aqui cadê cadê ele aqui ah tá aqui vou pegar aqui a o IP interno aqui do control plane cadê deixae abrir aqui para mim Opa vamos lá cadê Aqui o IP interno cadê cadê cadê cadê cadê ah tá aqui IP privado Vou botar aqui ó
IP privado Vou botar aqui https dois Opa minúsculo aqui https dois pontos barra barra eh bota aqui o IP porta 6443 e vou adicionar aqui também o k3s und token certo e aí eu vou pegar esse token aqui e vou botar ele aqui certo dessa forma aqui e aí agora eu vou executar Esse comando em cada uma das máquinas então eu tenho que autenticar nos servidores acessar via SSH botar aqui cadê ó IP público deixa eu abrir aqui mais um terminal beleza SSH Opa SSH admin user coloco aqui beleza Yes Vou botar aqui minha senha
Ok vamos lá vou pegar aqui o meu comando executo vamos lá você vê que é bem rápido você vai ver que o processo aqui é bem rápido vamos lá startou ali ah lá beleza agora eu vou fazer isso na outra máquina também aí eu vou pegar aqui o IP certo cadê cadê cadê tá aqui pegar aqui o outro IP beleza OK vamos lá deixa autenticar OK agora eu pego aqui o comando também e executo ele vai fazer o mesmo processo vamos lá deix fazer aqui ok E aí se eu vir aqui agora no control plan
e executar Cub CTL get noes tá lá ó meu cluster kubernetes criado com o control Plane e os dois worker nodes certo beleza pessoal show de bola galera era isso que eu queria mostrar aqui para vocês essas três formas de setup de um cluster kubernetes para você utilizar pro ambiente de estudo de novo aqui o objetivo é você ter póa você conhecer saber as formas de criar um cluster kubernetes você aprender eu aqui com a forma local utilizando kind com a forma na nuvem utilizando o aks e também no ambiente on premise utilizando o k3s
qual desses você vai utilizar você pode utilizar qualquer um deles você pode utilizar o kind você pode utilizar o k3s você pode utilizar o aks não tem problema o importante aqui é você ter o seu ambiente para estudar para se desenvolver para conseguir aprender as práticas e as ferramentas que vão fazer você se diferenciar nesse mercado com Cloud e com devops Independente se você é Dev se você é de infra não importa certo aqui eu quero te dar esse portfólio para você escolher e de novo na na no nosso desafio certo no nosso desafio aqui
cadê no desafio devops e Cloud você vai aprender também mais duas formas porque na aula dois eu vou mostrar para você como criar com k3d junto com os fundamentos do kubernetes e na aula três a gente vai fazer com o Eks com serviço de kubernetes da aws então se você ainda não se inscreveu se inscreve tá tá aqui certo e não deixa de participar do evento que tá iradíssimo beleza show de bola galera show de bola dúvidas deixa eu ver aqui Ah deixa eu ver aqui Ah o Jeferson perguntou aqui e quem gerencia o backup
de armazenamento dos nodes on premise só programação armazenamento dos nodes eu não sei se são os podes acredito que são os Pods e para você ter ali o backup do de todo o perfil do cluster kubernetes de todas as informações do cluster podde Deploy e tudo mais é o etcd certo quando a gente fala em volume persistência de dados aí a coisa é diferente tá mas eh quem você vai fazer isso pelo pelo etcd certo ah deixa eu ver aqui o Marlon perguntou se seria possível fazer tudo no kind sim sem problema nenhum pode utilizar
o kind Sem problema nenhum aqui de novo objetivo é portfólio eu quero que você tenha opções eu quero que você saiba as formas de fazer para você decidir a melhor forma a que atende melhor as suas necessidades Então galera tá aqui o link para vocês participarem do desafio e devops e Cloud certo não deixem de participar do evento que aí eu vou entrar mais em detalhes sobre deployment sobre repica 7 sobre pod que são coisas diferentes aqui em relação a node arquitetura aqui eu falei mais sobre letura do kubernetes a parte mais física entre aspas
eh pod replica set deployment estão relacionados mais ao deployment eu vou entrar nesse detalhe na aula dois do desafio devops e Cloud certo então não deixa de participar se você quiser saber mais sobre a formação devops pro que é o meu treinamento com mais de 150 horas de conteúdo sobre devop sobre Cloud sobre kubernetes sobre doc sobre outras ferramentas do ecossistema de Cloud de devops link tá aí embaixo na descrição preenche formulário a minha equipe vai entrar em contato com você para saber as suas necessidades e como a gente pode te ajudar e não deixa
também de se inscrever aqui no canal se você não é inscrito se você não é inscrita e também dá um like nesse vídeo pro YouTube entender que esse conteúdo é de qualidade Vale a Pena Ser distribuído e para mais pessoas que tenham dúvidas em relação a setup do cluster kubernet recebam esse vídeo e aprendam também e não deixa também é claro né Pega aí essa Live e compartilha nas suas redes sociais me marca eu vou ter maior prazer de interagir com você lá porque isso ajuda não só a que mais pessoas conheçam o canal Mas
você também aumenta a sua visibilidade porque a galera vai ver que você tá empenhado que você tá empenhada você tá se desenvolvendo como profissional e tá aprendendo mais sobre devop sobre Cloud aumentando aí as suas chances de outras oportunidades beleza bom galera prazer aço tá aqui com vocês ah amanhã não deixa de participar aqui deixa eu até colocar aqui amanhã a gente vai ter aqui a nossa Live sobre sobre aws Então já se inscreve aí para você não perder Deixa eu botar aqui ó amanhã a gente vai falar sobre aws a nossa Live amanhã vai
ser sobre os fundamentos de aws certo então não deixa de participar certo se inscrevam aí para vocês não perderem certo vou até colocar aqui eh Marlon falou que tá tentando entrar mas o botão submit não entra do quê Me manda aí depois me manda um Direct lá no Instagram que aí qualquer coisa eu te ajudo lá marl sem problema mas eh não deixem aí de participar amanhã é a nossa última Live de aquecimento entra aí clica aí na notificação para você eh não perder certo e a gente se vê amanhã aqui às 7 horas da
noite também beleza pessoal Muito obrigado aí um abraço valeu