Fork do projeto: https://github.com/pmmenezes/Iac_k8s
- Instalar o packer localmente seguindo o link: https://learn.hashicorp.com/tutorials/packer/get-started-install-cli;
- Instalar o terraform localmente seguindo o link: https://learn.hashicorp.com/tutorials/terraform/install-cli
- Instalar o ansible localmente seguindo o link: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html;
- Instalar o Python3 e a lib boto3:
sudo apt-get install python3-pip -y && sudo pip3 install boto boto3
- Criar arquivo na raiz awscredentials com as credenciais da AWS;
- Dentro da pasta do /packer, iniciar o repositório com o comando
packer init .
; - Realizar o build da imagem com ocomando
packer build .
;
- Dentro da pasta do /terraform, iniciar o repositório com o comando
terraform init
; - Realizar o apply com o comando
terraform apply --auto-approve
; - Via shell acessar a pasta /terraform/keys e executar o ssh para conectar a algum ip que saiu no output. Ex acessando a maquina Control Plane:
ssh -i node-k8s.pem ubuntu@34.201.23.68
;
- Acessar pasta /ansible/ e rodar o comando:
export AWS_CONFIG_FILE=../awscredentials
(caso algum erro de conexão com a AWS, colocar as credenciais no caminho default .aws/credentials); - Rodar o comando
ansible-inventory --graph
para testar a conectividade com as maquinas; - Rodar os comandos
ansible-playbook control-plane.yaml
para configurar a maquina Control Plane; - Rodar os comandos
ansible-playbook workloads.yaml
para configurar as maquinas Workloads; - Acessar via ssh a maquina de Control Plane e rodar os comandos para teste:
kubectl get nodes
ekubectl get all -A
. No primeiro comando vai mostras as maquinas workloads conectadas junto ao Control Plane;