O pacote de cloud-init configura aspectos específicos de uma nova instância.
- Preparação:
nano ~/.aws/credentials
inserir credenciais
executar o comando em sua maquina local: ssh-keygen -y -f ./labsuser.pem > public_key.pem
git clone
pegar o conteudo do arquivo e inserir no public_key.pem.
- Execução
cd ec2-instance
terraform init
terraform plan
terraform apply
- Conectar
ssh -i "labsuser.pem" ubuntu@ip
cat /var/log/cloud-init-output.log > script_init.log
O arquivo de log de saída de cloud-init (/var/log/cloud-init-output.log) captura a saída do console para facilitar a depuração de seus scripts após uma execução se a instância não se comportar da maneira desejada.
Quando um script de dados do usuário é processado, ele é copiado para /var/lib/cloud/instances/instance-id/ e executado a partir desse diretório.
- Comandos linux para verificar a utilização de componentes (ex: memória, cpu e disco)
Habilitar ccat
alias cat='/usr/local/bin/ccat --bg=dark'
Utilização de cpu
htop
Utilização de memória
free -mh
Espaço em disco
df -h
Pastas que ocupam mais espaços na raiz /
sudo du -cha --max-depth=1 / | grep -E "M|G"
Fontes:
https://github.com/akskap/esk8s
> https://github.com/terraform-providers/terraform-provider-aws/tree/master/examples/two-tier
> https://github.com/heap/terraform-ebs-attachmentizer
> https://github.com/terraform-aws-modules
Pesquisa e substituição de textos em arquivos:
grep -Ril "config-ubuntu" .
grep -rli 'config-ubuntu' * | xargs -i@ sed -i 's/config-ubuntu/config/g' @
Ansible
ansible --inventory-file ~/environment/hosts -u ec2-user --key-file ~/environment/labsuser.pem all -m ping
ansible-playbook ansible.yml --inventory-file ~/environment/hosts -u ec2-user --key-file ~/environment/labsuser.pem
ansible-playbook ~/environment/config/ansible/k8s_version_install.yaml --extra-vars "versao=1.20.1" --inventory hosts -u ec2-user --key-file ~/environment/labsuser.pem