Junior
Qual é a sua experiência com Ansible?
sobes.tech IA
Resposta da IA
Mais de três anos de uso ativo do Ansible para automatizar a implantação, gestão de configurações e orquestração de aplicações e infraestrutura.
Áreas principais de aplicação:
- Gestão de configurações: Manutenção de um estado uniforme de servidores e serviços.
- Implantação de aplicações: Automação do processo de construção, entrega e instalação de aplicações.
- Orquestração: Gestão da sequência de execução de tarefas em múltiplos servidores.
- Automatização de tarefas administrativas: Backup, atualização, monitoramento.
Trabalhei com vários módulos do Ansible, incluindo:
apt,yum,dnf: Gestão de pacotes.service: Gestão de serviços.copy,template: Gestão de ficheiros.command,shell: Execução de comandos.uri: Interação com API.- Módulos para trabalhar com Docker, Kubernetes, provedores de cloud (AWS, GCP).
Utilizo Ansible Vault para gerir segredos.
Experiência na escrita e depuração de playbooks de diferentes níveis de complexidade, incluindo o uso de roles, include/import, handlers, vars, facts, loops, condicionais.
Apliquei Ansible para:
- Levantar e configurar servidores web (Nginx, Apache).
- Desdobramento de microserviços e monolitos.
- Gestão de bases de dados (PostgreSQL, MySQL).
- Configuração de monitorização e logging.
Exemplo de um role simples do Ansible:
# roles/my_webapp/tasks/main.yml
- name: Instalar dependências
apt:
name: "{{ item }}"
state: present
loop:
- python3
- python3-pip
- name: Copiar ficheiros da aplicação
copy:
src: files/app/
dest: /opt/my_webapp/
- name: Instalar pacotes Python
pip:
requirements: /opt/my_webapp/requirements.txt
- name: Configurar serviço systemd
template:
src: templates/my_webapp.service.j2
dest: /etc/systemd/system/my_webapp.service
notify: restart my_webapp_service
# roles/my_webapp/handlers/main.yml
- name: reiniciar o serviço my_webapp
systemd:
name: my_webapp
state: restarted