Gerenciar Pacotes no Centos 7 com Ansible

Bom dia pessoal tudo bem? Hoje vamos aprender a Gerenciar Pacotes no Centos 7 com Ansible. Quem trabalhar com Infraestrutura seja ela em nuvem ou on premise precisa conhecer esse cara ou então vai ter que rodar comandos na mão nos seus servidores.

Já falamos um pouco sobre o Ansible nesse post: Como dar os Primeiros Passos com Ansible

Como sempre, recomento você visitar a página oficial da documentação do Ansible dar uma lida com calma!

Aqui, assumimos que você já tem o Ansible instalado no seu servidor virtual e ele já está com acesso a máquina que vamos gerenciar.

Criando Playbook para Instalação

Bom, dentro de /etc/ansible vamos criar o arquivo provisionamento.yml com o seguinte conteúdo:

--- # Todo arquivo YML Começa com ---
- hosts: all # Defino os hosts que vão rodar os comandos de Instação
  tasks: # Defino uma task
    - name: 'Instala PHP' # Nomeio a tasks
      yum: # Chamo o modulo yum para instalação de pacotes no Centos
        name: php # Falo qual pacote precisa ser Instalado
        state: latest # Defino que a versão do pacote é a latest
      become: yes # Falo que para executar esse comando ele precisar se root
    - name: 'Instala Apache Httpd'
      yum:
        name: httpd
        state: latest
      become: yes
    - name: 'Instalando MySQL'
      yum:
        name: php-mysql
        state: latest
      become: yes

Executando nosso Playbook

Dessa forma, ao executar o comando ansible-playbook você vai ter o seguinte resultado:

Gerenciar Pacotes no Centos 7 com Ansible

Os resultados em verde, quer dizer que o Ansible foi lá para instalar o pacote do PHP e do Apache2 mas não executou nada pois ele viu que a ultima versão do pacote está instalada.

Já no modulo do MySQL, ele deu status “changed”. Isso quer dizer que ele conseguiu alterar o estado instalando o pacote do do MySQL.

Como podemos melhorar nosso arquivo?

Podemos melhor um pouco mais nosso arquivo do Ansible, vamos fazer um loop para não precisar digitar tanto código:

    ---
    - hosts: all
      tasks:
        - name: 'Instala Pacotes de Dependencia do Centos'
          yum:
            name: "{{ item }}"
            state: latest
          become: yes
          with_items:
            - php
            - httpd
            - php-mysql

Dessa forma, eu uso a variável “item” ao invés nome do pacote para fazer o loop de todos os pacotes que quero instalar no meu sistema operacional e o resultado é o mesmo. Dessa forma vou reduzir drasticamente a quantidade de código que eu vou precisar escrever!

Espero que você tenha entendido e eu tenho ajudado você a Gerenciar Pacotes no Centos 7 com Ansible!

Deixe um comentário

O seu endereço de e-mail não será publicado.