Gerenciamento de Pacotes Yum com Ansible
O Ansible fornece uma maneira poderosa e flexível de gerenciar instalações e atualizações de pacotes em toda a sua infraestrutura. Nesta seção, exploraremos como usar o Ansible para gerenciamento de pacotes Yum em sistemas baseados em CentOS/RHEL.
Módulo Yum no Ansible
O módulo yum embutido do Ansible permite executar várias tarefas de gerenciamento de pacotes, como instalar, atualizar ou remover pacotes. Aqui está um exemplo de playbook que instala o pacote httpd:
---
- hosts: webservers
tasks:
- name: Instalar Apache
yum:
name: httpd
state: present
Neste playbook, o módulo yum é usado para garantir que o pacote httpd seja instalado em todos os hosts no grupo webservers.
Atualizando Pacotes
Para atualizar um pacote, você pode usar a opção state: latest no módulo yum:
---
- hosts: all
tasks:
- name: Atualizar todos os pacotes
yum:
name: "*"
state: latest
Este playbook atualizará todos os pacotes instalados nos nós gerenciados para suas versões mais recentes.
Removendo Pacotes
Para remover um pacote, você pode usar a opção state: absent no módulo yum:
---
- hosts: webservers
tasks:
- name: Remover Apache
yum:
name: httpd
state: absent
Este playbook removerá o pacote httpd de todos os hosts no grupo webservers.
Gerenciando Grupos de Pacotes
O Ansible também permite gerenciar grupos de pacotes usando o módulo yum. Aqui está um exemplo de instalação do grupo de pacotes "Ferramentas de Desenvolvimento":
---
- hosts: all
tasks:
- name: Instalar Ferramentas de Desenvolvimento
yum:
name: "@Ferramentas de Desenvolvimento"
state: present
Neste playbook, o símbolo @ é usado para especificar que o nome do pacote se refere a um grupo de pacotes.
Lidando com Dependências de Pacotes
O módulo yum do Ansible lida automaticamente com as dependências de pacotes, garantindo que todas as dependências necessárias sejam instaladas ao instalar um pacote.
---
- hosts: webservers
tasks:
- name: Instalar WordPress
yum:
name:
- httpd
- php
- mysql
state: present
Este playbook instalará os pacotes httpd, php e mysql, juntamente com suas dependências, em todos os hosts no grupo webservers.