O mínimo que você precisa saber sobre ANSIBLE!

55.5k views4812 WordsCopy TextShare
Diolinux
✅ Crie seu Lab na Linode com 100 dólares de crédito por 60 dias: https://linode.com/diolinux ✅ Parti...
Video Transcript:
exercício de imaginação aqui para você imagino que você tem um servidor que você é responsável por cuidar ele tá rodando um ubuntu's server tranquilamente caso você precise instalar algum pacote fazer uma atualização ou mudar alguma configuração numa máquina assim é relativamente tranquilo né você logo nela ou enfim acessa viesse sh e faz o seu trabalho mas o que que você faria se você tivesse o mesmo trabalho mas em 100 máquinas diferentes vai logar uma por uma e se dessa sem máquinas parte foram o Ubuntu parte for Debian parte for tentou esse por exemplo você vai
logar uma por uma e configura manualmente cada qual respeitando ali os comandos e arquivos de configuração diferentes de cada uma Se você realmente chegou a imaginar um cenário onde você logaria em 100 máquinas diretamente para fazer esse trabalho é porque você ainda não conhece ferramentas de automação como o enssebo Aliás se você tem um trabalho onde te pagam para gerenciar um servidor só fica aí porque esse é um trabalho muito bom viu assim como a gente fez com um vídeo sobre o mínimo que você precisa saber sobre docker hoje nós vamos começar nesse universo de
automação de ti com o mínimo que você precisa saber sobre hansible e se você ainda não conhecia jovem Isso aqui vai mudar sua vida é uma excelente habilidade para colocar no seu currículo acima de tudo mas o que que é em sibou exatamente em primeiro lugar E por que que você deveria se importar com ele em uma ferramenta de automação de ter e criada pela red Hatch que você talvez já tenha ouvido falar por causa do Fedora e tudo mais o centro-oeste ele pode ser utilizado para fazer todo tipo de coisa instala software automatizar qualquer
coisa rotineira aplicar Pet provisionar Uma estrutura inteira se você precisar e seria um canhão para matar o mosquito mas dá para usar até para você configurar o seu computador aí no lugar de chamascripts se você quiser né a estrutura dele funciona mais ou menos assim nós temos nós não nós eu e você nós nodes e existe um molde de controle um sistema operacional onde você vai instalar o software em sible e você simplesmente precisa passar as informações para sua Central de controle de onde estão os seus servidores na internet para que o Waze possa gerenciar
usando credenciais de acesso e o resto é mágica quer dizer até parece mágica mas é tecnologia pura e simples Once ubal é o que se chama de Agent Class ou seja esse servidores que você vai instalar e que vão ser gerenciados pelo enseba ou não precisam ter um software instalado neles específico para eles poderem ser incontrolados em geral só precisa de um SSH ativo isso é algo bem comum de acontecer em Sistemas para servidores né eu sei que você já deve estar bem minutos para ver isso na prática Mas tem uma informação aqui que vai
explodir a sua mente Ainda mais você pode utilizar o Facebook para gerenciar máquinas Windows também não só Linux o Waze o que a gente pode chamar de módulos que são como se fossem pequenos programinhas que são usados para tarefas de automação e tem uma lista imensa de módulos aí para você conhecer e utilizar é relativamente simples eu vou deixar muitos links de referência e documentação aqui na descrição do vídeo para quem quiser partir daqui já se aprofundar um pouco mais no assunto mas para te dar um exemplo de funcionamento do hansible eu preciso criar um
Lab E para isso a gente conta com ajuda dos nossos amigos dali nude se você quiser criar um leve como meu para testar o Waze bom na prática aí na sua casa acessa ali node.com Barra de o Linux se você criar sua conta por esse link você recebe 100 dólares de crédito o que já é o suficiente para que é um leve de einste ou bacana e na verdade muito mais coisas então bora para essa demo Vamos criar esse leve aqui juntos para você fazer esse exercício junto comigo acessando então linold.com Barra de o Linux
você vai chegar até essa página onde é só você criar sua conta se logar com o Google com github usando seu e-mail como você preferir e galera esse aqui é o dashboard onde a gente vai criar os nossos servidores aqui para o nosso Lab de ensible para você entender como tudo funciona basta clicar aqui em Create lenode E aí a gente vai escolher qual sistema operacional a gente quer nesse caso aqui para ser o nosso Central o nó de controle do nosso Facebook eu gosto de utilizar o Central S porque quando a gente saluense bom
nele alguns arquivos de configuração já aparecem coisa que se você faz do Ubuntu por exemplo não acontece ao menos não utilizando o pacote do repositório então um certo S eu quero a região eu vou colocar New York por exemplo uma região que costuma ser rápida aqui para mim a gente pode utilizar quem recebe pelos compartilhados O nanote que é o mais barato de todos quando você pode ver que apenas cinco dólares por mês isso queria testar ou seja se você usar esse de crédito vai durar bastante aí para você testar inclusive vai dar para destruir
criar um monte de outras coisas e aí a gente desce aqui embaixo eu vou colocar um nome para ele para ficar um pouco mais fácil de identificar sem tosse innsible que é um bom nome por exemplo e embaixo eu vou colocar uma senha de root Beleza a gente desce mais um pouquinho e clica aqui em Create lenote esse aqui vai ser o nosso Central enquanto o nosso servidor está sendo provisionado Vamos criar algumas outras máquinas as quais a gente vai controlar eu vou criar aqui um Lenovo de novo e dessa vez vai ser um debiano
11 mesmo pode ser o debia que já tá aqui vou colocar no mesmo data center para ficar um pouco mais rápido vou colocar a mesma configuração de 1 GB de Ram aqui um danoud mais embaixo vou simplesmente mudar o lable dele para Debby para ficar mais fácil de identificar mais uma vez eu vou colocar aqui uma senha de root mais uma vez a gente cria um Lenovo muito bem e por último a gente pode criar um Ubuntu Server que também é bem Popular bem conhecido Pode ser que um Ubuntu 22 04 vou colocar na mesma
região o mesmo na nude aqui embaixo eu vou chamar ele só de o bom mesmo e aqui a gente põe a senha de Root mais uma vez estamos com todos os nossos servidores aqui rodando eu vou clicar aqui no centro que vai ser o nosso gerenciador né o nosso painel de controle aqui dentro da lenode a gente tem essa ferramenta aqui para acessar via SSH tem também as ferramentas para gente lançar um terminal diretamente daqui mas por aqui vai ser mais fácil então vou copiar aqui os dados vou abrir aqui o terminal do meu Pops
e aqui eu simplesmente vou colar as informações de SSH para gente jogar dá um Yes e pronto tô logado aqui dentro do meu servidor do meu centro-oeste eu criei aqui para ficar um pouco mais fácil para você visualizar agora a gente precisa instalar o wazebo para começo de conversa e a gente instala o adicionando o repositório ao centro-oeste que é um daqueles repositórios chamados Apple ou é pé alguma coisa assim e é basicamente assim a gente não precisa do surdo educado porque eu já tô como root como você pode ver aqui pelo jogo da velha
né a gente manda aqui um Ian install ele vai fazer uma verificação aqui dos repositórios e tal é só você aguardar essa parte aqui finalizada aqui ele pergunta se a gente quer continuar então só responder com y de Yes não enter e pronto concluído agora a gente já pode instalar o Waze bom então simples assim um comando é fácil de você lembrar inclusive aí que vai instalar tudo que você precisa para começar a gerenciar o seu servidores usando o Facebook beleza instalação concluída aqui nós podemos limpar o terminal se você digitar em cebola simplesmente é
que ele vai te mostrar um pouco do menu de ajuda do êxito né você pode digitar o menos h para ver esse tipo de coisa com as várias opções que ele tem mas uma coisa que vai acontecer depois de você ter instalado aqui no seu santo os é que dentro do diretório barra TC nós vamos encontrar uma paciência chamada se a gente dá um LS para listar os arquivos dentro dessa pasta nós vamos encontrar o índice ou ponto CFG que é o arquivo de configurações qualquer configuração que você fizer aqui vai ser sobre escrita né
vai ser um overbite das configurações padrões do ensible nós temos o arquivo hosts que é um nome genérico ele pode ter outros nomes seria o arquivo de inventário é onde você declara Quais as máquinas você quer controlar e também tem um outro aqui chamado funções né roads que eu não vou mencionar no vídeo de hoje mas ele tá aqui também ele tem uma função importante sem dúvida bom primeira coisa que a gente pode fazer é utilizar um editor de textos no caso aqui do centro-oeste a gente pode utilizar um nano para editar esse arquivo aí
de hosts e aqui você pode ter uma ideia de mais ou menos como ele funciona olha só tem vários exemplos aqui inclusive você não precisa necessariamente colocar o IP do seu servidores você pode colocar um domínio enfim tem vários exemplos aqui a gente vai criar um grupo é para chamar de distros por exemplo para colocar os nossos servidores que eu criei ali no dia antes então para isso a gente usa que um colchetes coloca o nome do grupo que a gente quer por exemplo E aí abaixo a gente vai colocar qual é o endereço de
IP ou a URL desses servidores no caso da linode a gente vê isso por aqui ó vou voltar aqui para os lenolds e ao lado você consegue ver que tem os endereços de IP então eu quero controlar um Debian que tá aqui nesse 1826 eu vou copiar esse p vou vir aqui até o terminal vou colar ele aqui e abaixo eu não preciso colocar o nome nem nada tá abaixo eu vou colocar o nosso Ubuntu que a gente criou que é esse 1856 Então vamos colocar ele aqui embaixo também e agora abaixo nesse arquivo a
gente também vai colocar algumas informações que vai ser importante para o Facebook conseguir se logar nesse servidores e aqui eu preciso fazer algumas ressalvas a gente vai fazer ele uma forma aqui que é especialmente focado para o leve para não complicar demais para você mas que não é necessariamente é melhor forma de fazer porquestões de segurança a gente vai autenticar aqui com o nosso usuário e senha e para isso a gente vai precisar criar uma outra sessãozinha aqui referente ao grupo de distros com os dizeres aqui depois de dois pontos embaixo a gente vai colocar
algumas das variáveis doenças por exemplo Once qual é o nome de usuário Qual o usuário que eu quero me logar vai ser um usuário root a gente também vai utilizar o wancibal password que é a senha do nosso servidores eu coloquei a mesma senha nos dois para facilitar as coisas aqui na demo e a senha deles é artilinox 23 beleza é isso aqui geralmente o que que vai acontecer com essa configuração aqui tenho duas observações para você a gente não deveria utilizar o usuário root para fazer login nos nossos servidores desse jeito talvez fosse mais
interessante tem um usuário ensebow em cada um dos Servidores não com o nome necessariamente mais um que o Waze ou pudesse utilizar que você pudesse escalar privilégios ao invés de entregar o Rute logo de cara e outra que geralmente você não vai querer utilizar a senha para acessar vs sh você vai querer talvez utilizar uma chave de criptografia para poder fazer esse acesso mas a gente tá só demonstrando só criando laboratório Então tá ótimo aqui a gente vai fechar e salvar inclusive tanto que não é uma coisa padrão que a gente vai precisar configurar uma
coisa dentro desse config Então esse nano em sibou config foi permitir que a gente acesse esse arquivo e faça algumas modificações é um arquivo grande o SBT tem vários parâmetros padrões assim que você pode alterar então é uma desculpa também para eu te mostrar esse arquivo mas o que a gente está procurando está especificamente relacionado ao login de SSH se você observar aqui embaixo e você tiver utilizando o nano o Onde está que é o menu de procura é o w né então com control w a gente consegue pesquisar por um setor desse documento que
é o que a gente precisa alterar e o que a gente precisa alterar se chama host que e aqui tá o host kitckin porque o wencebos sempre vai procurar pelas Chaves do SSH e não pela senha como a gente fez lá então vou descontar essa linha pagando o jogo da velha da frente e você pode ver que ele tá falso aqui ou seja ele tá desativado ele não vai ficar procurando por isso então vou dar um Ctrl x agora para sair e pede se eu quero salvar o digo que sim e do enter para salvar
com o mesmo nome agora a gente tá pronto para começar a testar a gente pode testar a nossa conexão para saber se o Waze voltar conseguindo gerenciar as outras duas máquinas usando um simples ping para saber se tem uma comunicação o comando é em símbolo E aí você diz qual é o grupo Qual o inventário de máquinas que você quer testar e a gente chamou ele de distros né então vai ser distros menos m e a gente dá um simples vamos ver se ele consegue chegar nas outras máquinas Olha aí foi com sucesso a gente
consegue ver aqui um IP o 26 que é o nosso Deb anse eu não me engano e a gente tem os 156 que é o Ubuntu os dois com sucesso ele foi descoberto tem um interpretador Python para ele poder dar os comandos nada foi modificado ping e pong ou seja simplesmente funcionou como deveria O interessante é que a gente pode utilizar o íncimo para rodar comandos em todos os sistemas ao mesmo tempo então Digamos que eu queira atualizar o repositório das duas listras nesse caso aqui é Ubuntu ideia então o comando de atualização é o
mesmo o app update para a gente atualizar a lista de repositórios pode ser diferente vai ser diferente se forem distros diferentes então pode ser interessante você separar os grupos de distribuição por Tipo às vezes pode te ajudar a fazer manutenção ou até criar inventários diferentes com sistemas operacionais diferentes enfim para você conseguir direcionar os comandos para um só mas Digamos que eu quero dar um comando para atualizar os dois servidores ao mesmo tempo usando o Enzo nesse caso aqui a gente vai rodar aí o nome do nosso conjunto de distribuições no caso eu chamei de
distros né E a gente vai dar um menos a E aí entre aspas duplas a gente dá o comando que gostaria que fosse rodado no terminal dessas duas distras nesse caso a pt ou APT get como você preferir update fecha aspas Dá um enter e a gente aguarda para ver o que acontece aí ó você pode ver que ele começou a fazer as verificações primeiramente ele tá fazendo que atualização no debia né a gente pode ver pelas urls aqui e aconteceu o primeiro no débia porque naquela lista ele tá por primeiro né e ele fez
também no Ubuntu logo abaixo assim que ele terminou do Debby ele começou a fazer o download e funcionou Sem problema nenhum posso também pegar informações dos meus hosts colocando Assim ansebal destruos menos a para saber seu servidores estão ativos e mandar um Uptime para eu saber qual é o Up time dessas duas máquinas aí você vai ver aqui que esse P aqui que é o do debia ele tá up a 13 minutos e o do Ubuntu tá a 11 minutos ou seja foi provisionado um pouco depois né na ordem que a gente criou as coisas
e aí eu tenho informações com o único comando quando tem informações de todos os meus sistemas de todos os meus servidores Claro que dá um único comando que vai afetar servidores diferentes ao mesmo tempo é uma forma muito interessante de mostrar o super poderes aí do Waze bom mas conforme as tarefas vão ficando mais complexas chega-se a necessidade de se utilizar é o nome que se dá para um arquivo iema ou que serve como se fosse uma forma de declarar o que você quer que o sistema faça ou ainda melhor Como você quer que o
sistema seja esse nome Playboy que vem de uma derivação relacionada ao futebol americano onde existe o playbook com as jogadas Então são tática são coisas que o time vai executar então é o conceito é o mesmo você vai dizer servidores façam isso e os servidores vão fazer com um único arquivo nós podemos fazer com que uma tarefa seja executada em todos os nossos servidores ou em um servidor específico de forma completamente automatizada arquivos iema ou tem a extensão ponto Y ml e São relativamente sensíveis na questão de formatação eles são simples arquivos de cerealização de
dados que podem ser lidos por máquinas mas que também são legíveis por humanos e eles são usados em vários lugares diferentes na realidade um dockerfile mesmo é geralmente um arquivo emon então se você vai trabalhar profissionalmente com ti é bom não fugir muito deles e aprender o quanto antes dica que se você for utilizar o visual Studio code existe uma extensão do einstevo para ele que pode te ajudar a formatar e as coisas corretamente Aqui nós temos um código simples de um playbook para você entender que servir todo o arquivo Ema ou vai começar com
esses três tracinhos aí geralmente e fica ligado na indesentação do arquivo porque isso é importante em tentação seria posicionamento Organização das coisas no arquivo na linha abaixo nós temos um traço e um espaço e depois nós colocamos o nome da nossa jogada como o pessoal do handebol costuma chamar as tarefas de um playbook é interessante que ela seja bem descritiva então aqui eu vou dizer que é para instalar o end Next O indinex é um Popular servidor web que você pode utilizar para subir qualquer site basicamente abaixo de name e alinhado a ele nós colocamos
os nossos alvos e aqui nós vamos colocar o nome do grupo que a gente definiu lá no nosso arquivo de hosts que também é chamado de inventário dessa forma o playbook vai saber onde buscar as máquinas que a gente quer afetar aí com a nossa jogada no nosso caso nós vamos logar como root mas em geral vai ser um usuário específico para o Waze bom aí que vai poder escalar privilégios com o surdo por exemplo e é para isso que serve o Become que tá ali você vai colocar dois pontos espaço Yes para dizer que
essa tarefa vai ser executada como o Root ou no caso como super usuário né vai rolar um surdo ali abaixo nós temos as tarefas em si ali em testes e fica de olho na indentação de novo aqui nós vamos colocar o nome da tarefa e depois nós vamos usar o módulo que vem muito a calhar no gerenciamento de servidores com hansible especialmente servidores Linux que se chama packed ele é como se fosse um gerenciador de pacotes só que para qualquer distro Once vai ver qual é o sistema que o servidor tá rodando e vai fazer
o gerenciador de pacotes específico da distro rodar o que você quiser claro que o problema vai acontecer quando o nome do pacote for diferente em sistemas operacionais Diferentes né repositório diferentes pode acontecer então fica ligado nisso por isso que é interessante você ter um playbook para cada atividade diferente você vai fazer e separar também o seu inventário em servidor e talvez por família só os servidores baseados em devem só os servidores baseados em Fedora e assim por diante nesse caso o nome do pacote que eu quero instalar é end next também tanto no Ubuntu Server
quanto no debia e o estado do pacote ali embaixo quando você pode ver é present ou seja presente o state ou o estado do pacote pode ser present para quando você quer instalado upsent para quando você não quer ir no seu servidor ou Lei deste para quando você quer instalar a última versão disponível aí no repositório vamos fazer o teste do nosso playbook aqui na prática Olha só se eu chegar aqui nos meus servidores por exemplo o servidor eu copiar o endereço de IP dele e jogar aqui no Google não vai dar nada porque então
não tem nada rodando nele ele é simplesmente um servidor um computador na internet com um certo IP porque a gente vai fazer é instalar o end next utilizando aqui o nosso playbook eu vou copiar isso aqui é um simples controle você e a gente volta aqui pro terminal repara que nós estamos aqui dentro do diretório do enciclo certo a gente pode criar um novo arquivo diretamente com o Nando mesmo chamado Facebook Vamos facilitar as coisas né ponto IML yml aliás e a gente dá um enter aqui dentro Eu colei todas as informações que eu criei
através do vsco aí eu vou dar um Ctrl X para a gente salvar e um s de sim aqui beleza tá aqui se a gente der um LS tá aqui o nosso playbook Você pode organizar esses arquivos Aonde você quiser só você passar as informações para onde ele está localizado tá então você pode pegar esses play-books só vai inclusive numa nuvem que você tem ou qualquer lugar no seu computador e utilizar Sempre que você quiser em vários sistemas diferentes aqui a gente vai rodar agora um comando um pouco diferente é o Waze bom só que
com o tracinho aqui Playboy depois do comando que esse Google que a gente precisa dizer qual é o nome do arquivo que tem a jogada que a gente quer fazer aqui não é esse Bom e nesse caso o nome da jogada aqui é playbook ponto Y ml se tiver em um outro diretório Você vai precisar apontar aqui na linha de comando barra home barra alguma coisa jogadas barra playbook ponto yml como o arquivo tá dentro da pasta que eu já estou no Terminal é só digitar ele da enter e isso aqui deve instalar o end
next Opa só que deveria instalar o Wind next pelo menos em todos os nossos servidores os arquivos iema ou aqui eles são bem sensíveis A sinta-se então eu posso ter errado alguma coisa em relação a isso desde dar uma olhada tem um espaço no final aqui era isso deixa eu salvar vamos ver se era isso mesmo vamos ver o que que rolou aqui Ah tem um espaço aqui depois do pega salva de novo não pode ter certos espaços ele é meio chatinho assim mesmo [Música] finalmente depois de lutar um pouco com a formatação do arquivo
funcionou aqui foi só ajustar os espaçamentos ali tal aí em tentação do arquivo e realmente é importante que isso aconteça né agora a gente pode observar o que que acontece e quando a gente roda uma Play primeiro o wences vai utilizar a tesca aqui chamada de Gary fats Ele é bem interessante porque vai pegar a plataforma que a gente tá utilizando o IP da máquina e tal aqui quando a ação tá acontecendo e repara que instalar servidor web foi o nome da ação que a gente deu né o nome da tarefa e aqui ele diz
que modificou as coisas nesses dois servidores E aqui depois que as coisas aconteceram a gente tem um Player da jogada que a gente fez e olha só que interessante nós temos os dois Ipês os dois servidores e tem um status aqui chamado Changed para um ele pode ser um ou zero se mudou alguma coisa ou não no sistema no caso a gente definiu aqui já era para que a nossa jogada ela instalasse o servidor do end next nas nossas máquinas e a gente fez isso utilizando esse state present e olha só que interessante o hansibles
se eu rodar essa jogada novamente aqui dá um acebow playbook no playbook anterior que serve para instalar um dinex em dois servidores que já tem o end next instalados olha só o que que vai acontecer ele vai fazer Todas aquelas verificações de novo vai observar a tarefa e agora ele retornou as coisas com sucesso você pode ver que o status Ok mas repara que no Changed nada foi modificado porque porque já estava funcionando então não precisou mudar nada muito legal né Inclusive a gente pode tirar a prova dos nove aqui como se diz e pegar
agora o IP do nosso servidor debia que tava aqui já na realidade né simplesmente colar e da enter a gente tem que bater justamente numa página do Wind next e o mesmo deve acontecer aqui com o nosso o bonde do server Olha aí funcionou Como Mágica saber certas coisas aí nesse mundo de tecnologia como esse bom vai te ajudar a dar um passo a mais rumo a uma carreira mais estável e eu tenho mais dicas aqui que pode te ajudar a melhorar Nesse contexto começando pelo nosso apoiador ibac entre os dias 26 e 3 vai
acontecer a jornada deve que é um evento para você desbloquear sua carreira em programação aí vai ser uma vídeo-aula por dia para você poder acompanhar que é completamente gratuito e com exercícios práticos para você perceber sua evolução Aí passo a passo acontecendo na frente dos seus olhos no final do evento você vai acabar com um projeto para o seu portfólio que você pode utilizar no seu currículo além de receber dicas para melhorar a sua apresentação no mercado ao participar desse evento você também ganha um mês grátis de curso de inglês na if english Live então
não perde essa oportunidade clica no link aqui na descrição para você saber um pouco mais e galera esse é um papo sério para quem está e pensando em fazer assim muitas dessas coisas a realidade é que hoje em dia existem muitas oportunidades como essa debate por exemplo aparecendo sempre para você aprender alguma coisa que você tem interesse por esse mesmo motivo a gente coleciona cursos que nunca termina ou não aproveita as oportunidades que simplesmente Estão ali na nossa frente com frequência mesmo quando elas são grátis então se você ainda não fez isso Pega esse link
da lenode que a gente tem nesse vídeo que te dá 100 dólares de crédito grátis por 60 dias e pratica você não tem nada a perder e você vai estar usando uma infra profissional do mundo real cria leves diferentes vai servidores de diversos tipos seja criativo aqui no canal tem várias ideias de servidores diferentes para você poder montar por lá olha talvez a lenote até não fique tão feliz como que eu vou dizer agora mas acabou seus 60 dias ou acabaram os seus créditos lá para estudar cria outra conta com outro e-mail e testa mais
um pouco você não pode parar nesse vídeo A gente só viu a ponta do iceberg também se vou para você ter uma noção de como ele funciona como você pode fazer uma implementação E como você faz um playbook simples mas tem muito mais para você descobrir então sempre olha a descrição dos vídeos aqui do canal os links que eu deixo aqui embaixo realmente é para você conferir de verdade e agora dá uma conferida nesse vídeo aqui do lado sobre docker Com certeza ele vai te ajudar a ativar os seus poderes de cidade mim É só
conferir e aproveitar mais um conteúdo gratuito para você aqui do lado
Copyright © 2024. Made with ♥ in London by YTScribe.com