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 upAs 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 statusPara entrar em uma máquina:
vagrant ssh devopsPara iniciar as máquinas:
vagrant upPara iniciar somente uma máquina:
vagrant up devopsPara desligar as máquinas:
vagrant haltPara deletar uma máquina:
vagrant destroy lab1O 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.ymlApó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.