Será necessário instalar Vagrant e o VirtualBox, para utilizar o repositório para o provisionamento das máquinas.
Também poderá ser instalado o git, para realizar o clone do repositório a partir de seu terminal, para usuários de Windows recomendo https://gitforwindows.org/. Outra opção: Chocolatey Community
Nome | vCPUs | Memoria RAM | IP | S.O. |
---|---|---|---|---|
devops | 1 | 1024MB | 192.168.57.100 | debian/bullseye64 |
lab1 | 1 | 512MB | 192.168.57.101 | debian/bookworm64 |
lab2 | 1 | 512MB | 192.168.57.102 | debian/bookworm64 |
Após as instalações das ferramentas, através do Vagrant serão criadas as máquinas virtuais no VirtualBox de forma automatizada, seguindo as instruções da configuração do Vagrantfile. O Vagrant é utilizado para criar e gerenciar as máquinas de uma maneira simples e automática.
Clone o repositório em algum diretório da sua máquina e inicie as VMs:
git clone https://github.com/dehmelo/devopsexperience.git
cd devopsexperience/labs
vagrant up
As máquinas serão provisionadas, este processo leva alguns minutos e depende da sua velocidade de conexão com a internet e recursos de sua máquina.
Para listar as máquinas:
vagrant status
Para entrar em uma máquina:
vagrant ssh devops
Para iniciar as máquinas:
vagrant up
Para iniciar somente uma máquina:
vagrant up devops
Para desligar as máquinas:
vagrant halt
Para deletar uma máquina:
vagrant destroy lab1
O arquivo Vagrantfile, descreve quais e como serão criadas as VMS no VirtualBox (para mais informações consulte a doc do Vagrant).
O provisionamento será feito pelo Ansible, os arquivos estão presentes em provision
, onde o devops.yaml será executado na VM devops e o lab.yaml será executado nas VMs lab1 e lab2.
O arquivo ansible.cfg
define que alguns avisos serão ocultos.
Em files
deve estar presente o par de chaves que será copiado para todas as máquinas durante o provisionamento, para ser possível o fácil acesso (após clonar o repo, no conteúdo de files
, pode ser adicionado suas chaves pessoais para facilitar o acesso às VMs).
Na máquina devops
será instalado, através da playbook de provisionamento, o Rundeck, para realizar o acesso ao seu painel digite no navegador de sua preferência, o IP da VM na porta 4440. Desta forma: 192.168.57.100:4440
Para esta etapa é necessário estar up o ambiente presente em labs
Na pasta ansible_projects contém um inventário que está mapeado dois grupos com duas VMs que estão presente no Vagrantfile, são as VMs lab1
e lab2
.
O arquivo ansible.cfg
define o local do inventário e o local das roles e oculta um possível aviso de depreciação.
Para rodar a playbook nos hosts mapeados (garanta que as VMs estejam ligadas), abra o seu terminal, acesse a pasta clonada, entre na pasta ansible_projects
e execute:
ansible-playbook playbook.yml
Após a execução da playbook será possível acessar os seguintes endereços:
http://192.168.57.101:8080/
- Interface do WordPress, rodando em container.
http://192.168.57.102:80/
- Interface Web com mensagem gerada a partir da configuração do Apache.