Skip to content

Laboratório básico para a ferramenta Kathará provisionado no Google Cloud Platform - GCP

License

Notifications You must be signed in to change notification settings

DiegoBulhoes/lab-kathara

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lab-kathara

Para instanciar o laboratório será necessario instalar o Terraform e o Ansible, após configuração das duas ferramentas será necessário instalar duas bibliotecas do Python requests e google-auth para utilizar o GCE dynamic inventory

Inicializar o laboratório

Clonar o projeto

git clone --recurse-submodules https://github.com/DiegoBulhoes/lab-kathara

Exportar as variáveis de ambiente

export GCP_SERVICE_ACCOUNT_FILE=/path/keyfile.json  && \
export GOOGLE_APPLICATION_CREDENTIALS=/path/keyfile.json

Terraform

Um dos passos necessários para utilizar esse setup é possuir uma par de keys SSH, podendo ser gerado através do seguinte comando, para mais detalhes consulte a documentação atrves desse link

ssh-keygen -q -t rsa -f id_rsa_kathara -C kathara

Após a geração da chave renomeie o arquivo terraform/terraform.tfvars.sample para terraform.tfvars (nesse arquivo irá conter todas as variáveis para criar as instâncias no GCP). Crie um service-accounts com uma chave do tipo JSON e exponha no ambiente através do variável GCP_SERVICE_ACCOUNT_FILE

export GCP_SERVICE_ACCOUNT_FILE=/path/keyfile.json

Para verificar se os arquivos possui algum erro de sintaxe ou de configuração das instâncias execute o seguinte comando:

terraform plan

Após a verificação do plan execulte o seuinte comando para realizar o processo de instanciação

terraform aplly

Se tudo estiver ok a saída será similar a esta:

Apply complete! Resources: 4 added, 0 changed, 0 destroyed.

Outputs:

kathara_public = [
"<<ip_public>>",
]

Ansible

Para Configurar o Kathrá será utilizado o Ansible, exponha a path da chave:

export GOOGLE_APPLICATION_CREDENTIALS=/home/$USER/gcp-projects/kathara.json

Altere o valor da lista projects com o respectivo nome do projeto do GCP no inventory.gcp.yml.

projects:
  - "nome_do_projeto"

Entre o diretório ansible e executar o seguinte comando.

ansible-playbook playbook.yml
  • Para executar o exemplo, acesse a instância usando o SSH.
ssh -X kathara@ip_public
  • Faça o download do exemplo BGP, OSPF and RIP interplay
wget https://github.com/KatharaFramework/Kathara-Labs/raw/master/Labs%20Integrating%20Several%20Technologies/BGP%2C%20OSPF%20and%20RIP%20interplay/kathara-lab_bgp-ospf-rip.zip
  • Descompacte o zip:
unzip kathara-lab_bgp-ospf-rip.zip
  • a estrutura dos diretórios deverá ser similar a essa:
├── kathara-bgp-ospf-rip
│   ├── lab.conf
│   ├── ra1b1
│   ├── ra1b1.startup
│   ├── ra2b2
│   ├── ra2b2.startup
│   ├── ra3b3
│   ├── ra3b3.startup
│   ├── rb1c1
│   ├── rb1c1.startup
│   ├── rb2c2
│   ├── rb2c2.startup
│   ├── rb3c3
│   ├── rb3c3.startup
│   ├── rc1d1
│   ├── rc1d1.startup
│   ├── rc2d2
│   ├── rc2d2.startup
│   ├── rc3d3
│   └── rc3d3.startup
└── kathara-lab_bgp-ospf-rip.zip

  • No contexto do diretório kathara-lab bgp-ospf-rip execute o seguinte comando
sudo kathara lstart
  • Para listar os containers que o Kathara está administrando execute
sudo kathara list

Saída será:

╔════════════════════════╦═════════╦══════════════╦═════════╦═══════╦═══════════════════╦═══════╦═══════════════════╗
║ LAB HASH               ║ USER    ║ MACHINE NAME ║ STATUS  ║ CPU % ║ MEM USAGE / LIMIT ║ MEM % ║ NET I/O           ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ ra1b1        ║ running ║ 0.00% ║ 6.39 MB / 3.6 GB  ║ 0.17% ║ 5.16 KB / 3.14 KB ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ ra2b2        ║ running ║ 0.00% ║ 6.48 MB / 3.6 GB  ║ 0.18% ║ 8.76 KB / 5.8 KB  ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ ra3b3        ║ running ║ 0.00% ║ 6.19 MB / 3.6 GB  ║ 0.17% ║ 4.9 KB / 2.81 KB  ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ rb1c1        ║ running ║ 0.00% ║ 4.02 MB / 3.6 GB  ║ 0.11% ║ 3.61 KB / 1.49 KB ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ rb2c2        ║ running ║ 0.00% ║ 4.2 MB / 3.6 GB   ║ 0.11% ║ 6.45 KB / 4.69 KB ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ rb3c3        ║ running ║ 0.00% ║ 4.01 MB / 3.6 GB  ║ 0.11% ║ 3.3 KB / 1.46 KB  ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ rc1d1        ║ running ║ 0.00% ║ 4.02 MB / 3.6 GB  ║ 0.11% ║ 3.07 KB / 1.48 KB ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ rc2d2        ║ running ║ 0.00% ║ 4.19 MB / 3.6 GB  ║ 0.11% ║ 4.43 KB / 3.01 KB ║
╠════════════════════════╬═════════╬══════════════╬═════════╬═══════╬═══════════════════╬═══════╬═══════════════════╣
║ Bko4YLmYg84dLydrpVXRXQ ║ kathara ║ rc3d3        ║ running ║ 0.00% ║ 4.02 MB / 3.6 GB  ║ 0.11% ║ 2.95 KB / 1.27 KB ║
╚════════════════════════╩═════════╩══════════════╩═════════╩═══════╩═══════════════════╩═══════╩═══════════════════╝

About

Laboratório básico para a ferramenta Kathará provisionado no Google Cloud Platform - GCP

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages