bom pessoal falei pra vocês em relação a utilizar o réu mas você também pode criar o seu chart está o meu objetivo aqui nessa aula não é te ensinar a criar um chart é pra mostrar o caminho que você pode fazer porque eu acredito que saia até muito do nosso escopo aqui do do mba tá mas em seguida eu vou deixar um link tá de um vídeo é a do fabrício veronês tá porque ele tem um vídeo bem bacana que ensina criar um chart do zero é fazendo o depósito de uma aplicação e eu vou deixar é logo embaixo um link aqui pra você porque daí você consegue ver e dá uma olhada, caso você queira se especializar um pouco mais. A maioria das vezes, das pessoas que eu conheço, a não ser que você realmente trabalhe com Kubernetes, desenvolvendo aplicações, preparando aplicações com nível maior de profundidade, aí você vai precisar criar seu próprio chart. Mas, de forma geral, grande parte dos usuários eles são utilizadores de charts ao invés de criadores de charts tá eu vou criar uma pasta aqui chamada chart tá e você vai perceber aqui deixa eu entrar aqui que eu vou fazer o seguinte vou dar um real me create e eu vou colocar aqui sei lá mais chart tá só pra gente saber quando fizer isso o que ele vai fazer ele vai criar aqui dentro tá vendo uma pasta chamada mais chart e ele vai gerar aqui pra gente diversos arquivos e esses arquivos aqui o que eles são são é um template é uma casca básica pra você poder criar e começar o seu chart. Ele traz, inclusive, aqui um exemplo, mas na maioria das vezes você vai apagar e vai começar a fazer do zero os seus manifestos e tudo mais. Deixa eu navegar um pouco em relação a esses arquivos para você ver. O Helm, no final das contas, você vai perceber que todo o chart dele tem um arquivo chamado values.yaml. O values, no final das contas, são aqueles parâmetros que a gente falou que tem um valor default e que você pode substituir esses values quando você dá aquele set, mas ao invés de dar um set, cada parâmetro se dá um set no arquivo do values alterado. Então, muitas vezes, o que você pode fazer? Você pode duplicar um arquivo my values, por exemplo, Você pode duplicar um arquivo MyValues, por exemplo, colocar só as minhas configurações que eu quero, dos meus parâmetros, e quando eu for fazer a instalação, eu passo, dou esse "-f", e ele utiliza esse arquivo para que eu não tenha que passar parâmetro por parâmetro na mão. Mas basicamente, esse cara aqui, ele criou um monte de coisa como exemplo aqui, mas desse MyChart. E como exemplo aqui tá mas desse night art e esse exemplo aqui o repositório em dinéx por exemplo está usando um exemplo para subir um chart do indynex olha só que legal né então ele está falando a imagem que vai utilizar é indynex o pólo se não tiver presente ele vai baixar né a vai usar serviço de account do do kubernetes etc etc dados do pó basicamente ele fala qual vai ser o tipo de serviço a vai ser um cluster ip eu poderia mudar aqui para load balança ou seja a idéia aqui que ele está fazendo são as os arquivos as variáveis que você pode ter no seu chart tá então aquele trouxe um exemplo ele criou um chart do zero pro enginex tá mas lembrando você apaga esses arquivos todos eu pode usar eles como base para você criar o seu então eu posso mudar o meu rosto pra xpto.com.br tá a posso falar que é um load balancer, posso escolher a porta. Perceba que tudo isso aqui são variáveis. Auto-scaling, o mínimo de réplicas que pode ter, o máximo de réplicas. Quando atingir 80% do CPU, o Kubernetes tem um recurso de auto-scaling que é chamado de HPA, que é Horizontal Pod Auto-Scaler. E ele utiliza isso aí para quê? Para que todas as vezes que a sua máquina bater, por exemplo, uma porcentagem de CPU, ele começa a criar outras réplicas automaticamente. Isso é bem legal. É chamado de HPA, se você quiser saber mais depois. Mas basicamente, se você perceber aqui, isso aqui não é configuração. Isso aqui são variáveis que vão ser utilizadas no chart que foi criado. Então, se você olhar aqui no chart, aqui tem um manifesto básico do chart falando o nome do chart, se é uma aplicação, qual que é a versão e tudo mais. Legal? Agora, o que você mais tem que se ligar é nessa pasta aqui, que são templates. Nessa pasta templates é onde que a mágica acontece. Por quê? Quando o Helm for executado, ele vai ter o deployment, o HPA, o ingress, o service, a service account que ele vai criar. Então, se você olhar todos esses caras aqui, são caras que vão ser como se fossem templates, onde os dados que a gente colocou nesses velhos aqui vão ser substituídos aqui. Por exemplo, vamos olhar o deployment. Deployment a gente já aprendeu a a fazer né então olha só que interessante apps aqui versão 1 do tipo deployment eo meta data agora olha só que interessante ao invés de colocar um nome qualquer aqui ó em ginex perceba que tudo que está entre parênteses aqui vai ser uma variável que ele vai puxar. Então, aonde que ele vai puxar a variável? Ele vai pegar aqui dos dados que eu tenho, values, my chart, full name. Se eu buscar aqui, full name override, caso ele queira trabalhar, caso eu queira utilizar. trabalhar a caso queira utilizar entendeu então a gente vai ver que todas essas variáveis que a gente acaba tendo aqui né vamos aqui no depoimento ele vai substituir ó quais são as leigos né a inventação tá vendo a se não tiver esses valores para auto-scaling quantas réplicas vão ter então isso é um if ou seja se não tiver auto-scaling ele não precisa ter a quantidade de réplicas vão ter Então isso é um if Ou seja, se não tiver auto scaling Ele não precisa ter a quantidade de réplicas Ele coloca a quantidade de réplicas Vai ser padrão que vai ser 1 Qual é match labels Qual que vai ser o metadata A quantidade, as nonotations Dos pods, caso você queira colocar As labels, a especificação Lembra que tem image pool secret Aqui Service account As labels, a especificação. Lembra que tem image pool secret aqui? Service account, será que vai incluir service account? Security context, container, como é que vai ser o nome? Qual que é a imagem que ele vai utilizar? O repositório, dois pontos, a tag da imagem. E daí, qual que é a imagem desse cara? imagem e daí qual que é a imagem né desse cara se você for lá ver você vai ver aqui no meu velho que o nome do meu repositório é esse cara aqui que ele tá utilizando entende então a grande sacada aqui do réu ele substitui Ah tá todo esse template pelos valores que você pode trabalhar, e aí você tem uma facilidade muito maior para fazer as configurações. HPA, lembra que eu falei? Então, HPA, ele vai utilizar o deployment, o nome do deployment, o mínimo de réplicas, o máximo de réplicas, como que ele vai ver as métricas, se for por CPU, ele vai utilizar por CPU, ver as métricas daí se for por cpu ele vai utilizar por cpu se não ele vai fazer por memória a memória que estava até inclusive é comentado é o de olhar aqui ó se tiver cpu 80% ou memória utilização de memória aqui por exemplo que ele tem havendo então basicamente os charts são um conjunto de manifestos do Kubernetes que você tem um template que você pode substituir com valores e gerar muito mais, com mais facilidade, os seus deployments, os seus serviços, tudo ali de uma vez. E o mais bacana é que, por exemplo, se eu quero rodar esse chart em produção, eu posso, sei lá, fazer com mais care e alta disponibilidade. Agora, eu vou rodar em staging? Não, eu vou rodar apenas com um pod funcionando para eu fazer um teste. Entende? Então, essa facilidade nos ajuda muito. Então, se você quiser, em algum momento, você pode fazer com que a sua aplicação ao invés de você criar que nem a gente criou aqui na deploy pode réplica 7 serve etc você pode fazer o que você pode tudo isso fazer virar um chart real e as configurações poderem ser variáveis a com relâmpago fazendo a mágica ali por trás a a vou deixar um vídeo em baixo mostrando uma criação de um chat do zero ali a convívio opinado do fabrício tá e espero que você goste espero que tenha gostado desse capítulo aqui tá porque de uma forma geral é uma ferramenta que vai dar muito mais agilidade principalmente quando você quer instalar ferramentas que outras pessoas já gastaram muito tempo para fazer isso rodar no Kubernetes. Agora, um ponto importante aqui para você. Não é porque aquela parada tem um Chart Helm que você instalou que essa aplicação eventualmente não vai precisar ser gerenciada por você. Então é sempre importante entender o que está acontecendo por baixo dos panos desse chart, para você não ser pego de surpresa. Por exemplo, já pensou se você instala um chart, um MySQL, que não grava os arquivos em disco, grava os arquivos só dentro do pod, e se o pod morrer você perde tudo? Então por isso que é importante sempre você utilizar charts confiáveis e mesmo quando eles forem confiáveis, você estudar mais sobre ele para entender as opções e como que ele está trabalhando debaixo dos panos para garantir que você não vai ter nenhuma surpresa. Fechou? Era isso aí, galera, que eu queria trazer aqui sobre Helm Charts para vocês.