Alura > Cursos de DevOps > Cursos de Infraestrutura como Código > Conteúdos de Infraestrutura como Código > Primeiras aulas do curso Ansible: implementando sua infraestrutura como código

Ansible: implementando sua infraestrutura como código

Criando máquinas virtuais - Apresentação

Boas-vindas a mais um curso da Alura!

Sou o Leonardo Sartorello e serei seu instrutor.

Audiodescrição: Leonardo Sartorello é um homem branco, de olhos azuis, barba e cabelos pretos. Usa camiseta preta e está sentado em uma cadeira também preta. Ao fundo uma parede lisa com dois quadros pindurados e uma iluminação degradê do vermelho ao azul.

Esse curso é para você que está iniciando os estudos em infraestrutura como código ou para você que não conhece Ansible e deseja aprender a fundo sobre a ferramenta.

O que aprenderemos

Aprenderemos principalmente como criar e configurar máquinas virtuais. Descobriremos como utilizar um playbook para gerenciar configurações relacionadas a uma aplicação, além de automatizar a instalação de uma aplicação de três camadas com um servidor web e um banco de dados.

Utilizaremos variáveis e modularização no código, tornando-o mais versátil e utilizando templates de configuração.

Para isso, trabalharemos em um projeto prático em que automatizaremos a instalação do WordPress como nossa aplicação, o Apache como o servidor web e o MySQL como banco de dados. Para isso, faremos todas as configurações necessárias para funcionarem juntos.

Pré-requisitos

Para esse curso é importante que você tenha um conhecimento básico de Linux e SSH. Além disso, é necessário conhecimento na parte de redes, principalmente voltada para portas e endereços de IP, e infraestrutura, no que se refere a máquinas virtuais.

Aproveite os recursos que temos na plataforma! Além dos vídeos, disponibilizamos atividades e recursos de apoio como nossa comunidade no Discord e Fórum, onde você pode tirar dúvidas e interagir.

Vamos começar?

Criando máquinas virtuais - Preparando o ambiente

Para começarmos a utilizar o Ansible, precisamos de um ambiente compatível.

Infelizmente, ele não está disponível para o Windows, que é o sistema operacional que estamos utilizando no momento. Portanto, criaremos uma máquina Linux virtual para utilizar o Ansible. Para nos auxiliar nesse processo, podemos utilizar o VirtualBox, gerenciador de máquinas virtuais.

A vantagem desse processo é que poderemos automatizar a instalação dos programas, utilizando o Ansible, em outras máquinas virtuais. Assim, conseguimos separar uma aplicação da outra, o que é recomendado na área de infraestrutura.

Instalando o VirtualBox

Começamos abrindo o navegador no Google. Na barra de busca, procuramos por VirtualBox. Além do link que encaminha para a página inicial, o buscador também exibe um link direto para download, clicamos nele.

Na nova página, enocntramos várias opções disponíveis para serem baixada, como Windows, Mac, Linux, Solaris entre outros. Como estamos em uma máquina Windows, vamos baixar os binários da máquina Windows clicando em cima dessa opção.

Feito isso, o download é feito. Para instalar o VirtualBox, abrimos o instalador. Na primeira janela que abre, clicamos em "Next". Por padrão, ele já traz selecionado as opções que a ferramenta pode dar suporte. Sendo assim, clicamos em "Next".

Após, a ferramenta emite um aviso de que irá mexer em algumas interfaces de rede, por isso a rede pode ficar temporariamente desconectada. Clicamos em "Yes".

Também informa que tem algumas dependências que precisará, mas podemos seguir clicando em "Yes". Por fim, clicamos em "Install". Pode ser que a instalação do VirtualBox demore um pouco, mas assim que ele terminar, abrirá uma janela avisando. Ao concluir a instalaçao, selecionamos a opção para abrir o VirtualBox automaticamente e clicamos em "Finish".

Criando a máquina virtual no VirtualBox

Com a tela do VirtualBox aberta, criaremos a máquina virtual. Na barra suprior, encontramos menus suspensos, sendo Arquivo, Máquina e Ajuda.

Clicamos em "Máquina" e depois em "Novo". Na janela que abre, vamos preencher alguns dados, começando com o Nome da máquina. Nesse caso será Asible, pois essa será a máquina de controle onde instalaremos o Ansible. No campo seguinte, precisamos definir uma pasta. Deixaremos a pasta padrão que vem com o VirtualBox.

Por fim, é precisamos de uma imagem ISO, ou seja, o sistema operacional. Ainda não fomos buscá-lo, então faremos isso agora. No navegador, na barra de busca, escrevemos "Ubuntu". Esse é um sistema Linux popular que permitirá com que possamos utilizar o Ansible.

No buscador, clicamos no primeiro link que já nos direciona para o download em uma nova página. Descendo a tela, encontramos a opção de download para Desktop. Porém, não precisamos de interface gráfica, apenas de uma linha de comando que possa ser executada.

Então, ao invés de escolher a opção Desktop, usaremos a Ubuntu Server, para isso, na barra de menu secundária, clicamos em "Server". Descendo a tela, clicamos no botão verde "Download Ubuntu Server 22.03.3 LTS".

Essas versões mudam com o tempo, então, quando você for fazer se estiver em uma nova versão, não tem problema. O Ubuntu, de forma geral, é muito compatível entre suas versões. Só pegue a versão que tiver no final escrito LTS para que tenha um suporte mais longo.

A imagem do Ubuntu não é tão pequena assim, portanto pode demorar um pouco para ser baixada. Quando esse processo finalizar, voltamos para o VirtualBox.

Clicamos no campo de seleção da imagem ISO e depois em "Outro". Na pasta de downloads, selecionamos o Ubuntu 22.04.3. Feito isso, o VirtualBox já detecta que é o Ubuntu e preenche todos os outros campos que precisamos. Então, cliocamos no campo de seleção "Pular instalação desassistida", pois não a utilizaremos. Depois clicamos no botão "Próximo".

Somos encaminhados para a seção de hardware, podemos deixar a configuração padrão, então clicamos em "Próximo". Fazemos o mesmo em disco Rígido Virtual deixando 25,00 GB e clicamos em "Próximo". É exibido um sumário da máquina, para concluir, clicamos em "Finalizar".

Mudanças na máquina

Precisamos fazer mais mudanças na máquina. Para isso, no irtualBox, na lateral esquerda, clicamos na máquina Asible que acabou de ser criada.

Depois, no menu superior da máquina, clicamos em "Configurações". Na janela que abre, no menu lateral esquerdo, clicamos em "Rede". No campo Habilitar Placa de Rede, clicamos no menu suspenso e mudamos a opção para "Placa em modo Bridge". Isso nos permitirá acesso a essa máquina através da rede. Feito isso, clicamos em "Ok".

Para iniciar a máquina, no menu superior, clicamos no botão "Iniciar", indicado pelo ícone de seta apontando para direita. Abre uma janela indicando que a ferramenta irá capturar o mouse, clicamos em "Capturar".

Instalando o Ubuntu

Após esperar a instalação inicia e somos direcionados para a tela tela de instalação. Vamos nos movimentar pela tela com as setas para cima e para baixo, selecionando com a tecla "Enter" ou "Espaço".

Vamos começar colocando a instalação em português. Vamos dar o Enter. Ele está indicando que tem uma atualização para o instalador. Não precisa instalar. Vamos só dar o Enter.

Primeiro, selecionamos o idioma Português e pressionamos "Enter". Depois, a ferramenta indica que há uma atualização para o instalador, como não precisamos, selecionamos a opção para continuar sem a atualização.

Depois, precisamos trocar o Layout do teclado de "Portuguese" para "Portuguese - Brazil", feito isso clicamos em "Concluído". Instalaremos apenas o Ubuntu Server, o selecionamos e depois "Concluír".

A ferramenta traz algumas configurações de rede padrão, manteremos como está e selecionamos "Concluído". A parte de proxy, que é uma parte mais avançada de rede, também não precisamos mexer em nada.

Nesse momento, será testado algumas coisas para conferir se temos acesso à rede e aos pacotes necessários. Como está tudo certo, selecionamos "Concluído".

A ferramenta pergunta se quereos usar o disco inteiro, mantemos essa opção selecionada e depois "Concluído". Assim, é exibido um resumo total do que foi configurado, ao verificar tudo, selecionamos "concluído". A ferramenta exibe uma mensagem perguntando se queremos prosseguir, pois apagará no disco. Não tem problem, pois é o disco de uma máquina virtual. Selecionamos "Continue".

Agora precisaremos preencher alguns campos, começando com nosso nome. Abaixo, devemos colocar o Nome do seu servidor, nesse caso, colocamos "Ansible", esse será o nome que aparecerá na rede.

Após, em Nome de utilizador, escrevemos "Alura". Por fim, definimos uma senha para a máquina e confirmamos a senha. A concluir, selecionamos a opção "Concluido", no fim da tela.

O Ubuntu oferece o Ubuntu Pro, com algumas vantagens e um pouco mais de suporte, como não precisamos, selecionamos a opção "Pular por enquanto" e "Continue".

Precisaremos do OpenSSH, então na nova janela, selecionamos esse campo e depois "Concluído". Após a ferramenta também traz opções diferentes de pacotes que podemos utilizar. Não usaremos então, selecionamos "Concluído".

Nesse momento será feita a instalação do Ubuntu, que pode demorar um pouco, afinal, é o sistema operacional inteiro. Ao concluir, selecionamos a opção "Reboot now" para reiniciar a máquina.

Agora, precisaremos de outra máquina para instalar os programas e utilizar o Ansible. Disponibilizamos uma atividade extra para te ajudar a criá-la. Será o mesmo processo que seguimos nesse vídeo, mas se precisar de suporte, você pode consultar esse material.

Até o vídeo seguinte!

Criando máquinas virtuais - Usando VSCode e gerando chaves

Nesse momento, já temos duas máquinas virtuais criadas: a Ansible e a outra que nomeamos de Delta 1.

Se você não criou a segunda máquina, retorne à atividade anterior, pois precisaremos de duas máquinas virtuais funcionando com o Ubuntu.

Feito isso, podemos instalar o Ansible. Porém, temos um problema, é complicado mexer apenas no terminal dessas máquinas. Para entendermos melhor, faremos login na máquina do Ansible. Passamos o usuário Alura e a senha que definimos para a máquina.

Não podemos, por exemplo, copiar coisas do terminal e colar na máquina, não temos essa opção. Além disso, a gestão dos arquivos que vamos criar e utilizar é um pouco mais complicada pelo terminal. Para nos ajudar nisso, vamos utilizar o VS Code, então vamos abrí-lo.

Simplificando o uso do Ansible com o VS Code

Precisamos de uma extensão, então, na barra lateral esquerda, clicamos no quinto ícone de Extensões. No campo de busca, digitamos "ssh" e clicamos na primeira opção "Remote - SSH", disponibilizado pela própria Microsoft. Feito isso, clicamos no botão "Instalar", no centro da tela.

Feito isso, a extensão já está funcionando. Ela permite nos conectar a outras máquinas através de SSH, utilizando o VS Code. Para utilizar essa função, na parte inferior esquerda do VS Code, encontramos um botão indicado pelo ícone de duas setas, para direita e esquerda. Ao passar o mouse em cima, aparece a opção "Abrir uma janela remota", clicamos nela.

Assim, temos um menu suspenso no centro superior da tela na qual encontramos algumas opções. Selecionamos "Conectar-se ao Host", que tem o 'Remote-SSH" ao lado direito, indicando quem está fornecendo essa opção.

Agora, precisamos definir a qual host nos conectaremos. Utilizaremos o mesmo formato que usamos quando nos conectamos pelo SSH padrão. Então, na barra superior, digitamos o nome de usuário, nesse caso Alura), seguido de @ e do endereço IP da máquina.

Para encontrar o endereço, acessamos a máquina do Ansible. Se analisarmos após onde foi feito o login, ele apresenta o IPv4 address for enp0s3: 192.168.31.69. Outra opção para descobrir é passando no Ansible o comando ip addr seguido de enter.

ip addr

Assim temos acesso ao mesmo número. Copiamos e o colamos no VS Code, ficando dessa forma:

alura@192.168.31.69

Ao pressionar "Enter", a ferramenta pergunta qual o tipo da máquina, respondemos que é uma máquina Linux. Ele apresentará uma impressão digital que nunca vimos antes e perguntará se queremos confiar, confirmamos. Depois é solicitado a senha da máquina para o usuário que criamos.

Pode ser que pergunte novamente o tipo de máquina e a senha, basta preencher novamente.

Já está funcionando. Agora, na barra de menu superior, clicamos no ícone identificado por reticências e depois em "Terminal > Novo Terminal".

Sabemos que estamos conectados, pois no terminal visualizamos o alura@ansible que é o nome de usuário e da máquina.

No terminal, precisamos criar uma pasta para manter os arquivos do Ansible. Então escrevemos o comando mkdir, seguido pelo nome da pasta ansible. Assim, a pasta é criada.

No próprio VS Code, na lateral superior esquerda, na seção Iniciar, clicamos em "Abrir pasta", depois em "Ansible" e "Ok". O VS Code abre novamente e colocamos a senha duas vezes.

A diferença é que agora temos o explorador de arquivos na lateral esquerda, na pasta "Ansible". Já podemos usar? Ainda não. Abrimos o terminal novamente.

O Ansible funciona melhor utilizando as chaves SSH, então vamos criá-la e cadastrá-la na máquina Delta 1, a nossa segunda máquina virtual.

Para criar, no terminal passamos o comando ssh-keygen e pressionamos "Enter".

ssh-keygen

Feito isso, precisamos selecionar onde salvaremos a chave. A ferramenta sugere um local padrão, mas queremos mantê-la separada. Então, passamos delta1, já que acessará a máquina Delta1. Em seguida, pressionamos "Enter".

É solicitado uma chave de acesso, mas deixaremos vazio para não ter chave de acesso. Agora, no explorador, temos o delta1 e o delta1.pub, as duas chaves estão na nossa máquina, mas ainda não estão cadastradas na delta1.

Para fazermos isso, podemos mover as duas chaves manualmente e mudar algumas configurações ou então simplesmente executar um comando pelo terminal. Faremos isso, então passamos ssh-copy-id.

Em seguida, passamos -i e o nome da chave delta1.pub, já que precisamos da chave pública para a máquina. Na mesma linha especificamos para onde passaremos, nesse caso alura@ e o endereço IP.

Para isso, acessamos o terminal da Delta 1, fazemos login passando o user e a senha de acesso. Feito isso, copiamos o endereço IP e passamos no terminal do VS Code. Ficando da seguinte forma:

ssh-copy-id -i delta1.pub@alura192.168.31.70

Pressionamos "Enter". Feito isso, é exibido a mensagem dizendo não é reconhecida a chave de acesso, se queremos confiar. Passamos "Yes" seguido de "Enter". Em seguida, colocamos a senha da máquina.

A chave de acesso foi criada, configurada e é válida para começarmos a utilizar. Novídeo seguinte, faremos a instalação do Ansible e começar com as automatizações.

Até lá!

Sobre o curso Ansible: implementando sua infraestrutura como código

O curso Ansible: implementando sua infraestrutura como código possui 181 minutos de vídeos, em um total de 73 atividades. Gostou? Conheça nossos outros cursos de Infraestrutura como Código em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Infraestrutura como Código acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas