Jump to section

O que é um Ansible Playbook?

Copiar URL

Um Ansible® Playbook é um blueprint de tarefas de automação, que são ações de TI complexas executadas com pouco esforço manual em um inventário de soluções de TI. Os playbooks instruem o Ansible sobre o que fazer em quais dispositivos.

Em vez de aplicar a mesma ação manualmente a centenas ou milhares de tecnologias semelhantes nos diferentes ambientes de TI, ao executar automaticamente um playbook, a mesma ação é realizada em um tipo especificado de inventário, como um conjunto de roteadores. Os playbooks também servem de framework com um código previamente escrito que os desenvolvedores podem usar da forma em que está para uma finalidade específica ou como template inicial.

Em geral, eles são usados para automatizar a infraestrutura de TI (como sistemas operacionais e plataformas Kubernetes), redes, sistemas de segurança e repositórios de códigos (como o GitHub). A equipe de TI pode usar os playbooks para programar aplicações, serviços, nós de servidor e outros dispositivos sem o sobre-esforço manual de criar tudo do zero.

Além disso, os playbooks podem ser salvos, compartilhados ou reutilizados indefinidamente, assim como suas condições, variáveis e tarefas. Assim, é mais fácil preservar o conhecimento operacional na forma de código para ter certeza de que as mesmas ações serão executadas de forma consistente.

Os Ansible Playbooks são listas de tarefas que são executadas automaticamente em inventários ou grupos de hosts especificados por você. É possível usar uma ou mais tarefas combinadas do Ansible para criar um play (um grupo ordenado de tarefas mapeadas para hosts específicos). As tarefas são executadas na ordem em que são escritas. Um playbook pode conter um ou mais plays.

As tarefas são executadas por módulos, sendo que cada um realiza uma tarefa específica no playbook. Cada módulo contém metadados que determinam quando e onde uma tarefa é executada, além de qual usuário a executa. Existem milhares de módulos do Ansible que executam tarefas de TI de todos os tipos, como:

Gerenciamento de nuvem

oci_vcn cria, exclui ou atualiza redes de nuvem virtual em ambientes do Oracle Cloud Infrastructure. Da mesma forma, vmware_cluster adiciona, remove ou atualiza clusters do VMware vSphere.

Gerenciamento de usuários

selogin mapeia os usuários do sistema operacional Linux® para o usuário do SELinux, e gitlab_user cria, atualiza ou exclui usuários do GitLab.

Rede

Dezenas de módulos gerenciam interfaces de programação de aplicações (APIs), dispositivos Cisco IOS, NXOS e IOS XR, serviços F5 BIG-IP e o sistema operacional de rede em nuvem Arista EOS.

Segurança

Openssh_cert gera certificados de usuário ou host OpenSSH, e ipa_config gerencia configurações globais do FreeIPA.

Gerenciamento de configuração

pip gerencia dependências de bibliotecas Python, e assemble consolida arquivos de configuração a partir de fragmentos.

Comunicação

mail envia emails automáticos baseados em alguns critérios, e snow_record cria, exclui ou atualiza um registro único no ServiceNow.

O Ansible é capaz de se comunicar com várias classificações de dispositivos, de APIs REST baseadas na nuvem a sistemas Linux e Windows, hardware de rede e muito mais. Este é um exemplo de dois módulos Ansible atualizando automaticamente dois tipos de servidores:

--- - name: Update web servers   hosts: webservers   become: true     tasks:     - name: Ensure apache is at the latest version       ansible.builtin.yum:         name: httpd         state: latest     - name: Write the apache config file       ansible.builtin.template:         src: /srv/httpd.j2         dest: /etc/httpd.conf         mode: "0644"   - name: Update db servers   hosts: databases   become: true     tasks:     - name: Ensure postgresql is at the latest version       ansible.builtin.yum:         name: postgresql         state: latest     - name: Ensure that postgresql is started       ansible.builtin.service:         name: postgresql         state: started 

O playbook contém duas reproduções: 

  • A primeira verifica se o software do servidor web está atualizado e executa a atualização, se necessário.
  • A segunda verifica se o software do servidor do banco de dados está atualizado e executa a atualização, se necessário.

O Ansible usa sintaxe YAML. Dependendo a quem você pergunta, YAML pode ser só mais uma linguagem de marcação ou não. Também há duas extensões YAML diferentes e igualmente aceitáveis: .yaml ou .yml. 

Existem duas maneiras de usar os Ansible Playbooks: na interface de linha de comando (CLI) ou usando as implantações com um simples clique do Red Hat® Ansible Automation Platform.

Como YAML é uma linguagem de programação fácil de entender, os profissionais de TI com conhecimento específico em um determinado domínio (como rede, segurança ou nuvem) podem criar playbooks sem precisar aprender uma linguagem de codificação complicada.

A partir da CLI

Após instalar o projeto open source do Ansible ou o Red Hat Ansible Automation Platform (bastando digitar "sudo yum install ansible" na CLI do RHEL), tudo o que você precisa fazer é usar o comando ansible-playbook para executar os Ansible Playbooks.

A partir da plataforma

A interface de usuário baseada na web do Red Hat Ansible Automation Platform inclui implantações de Ansible Playbooks com um simples clique, que são usadas como parte de tarefas maiores (ou templates de tarefas). Elas contam com proteções adicionais que são muito úteis para usuários sem muita experiência em automação de TI ou em CLI.

Você pode fazer muito mais com a automação.

O Red Hat Ansible Automation Platform é uma plataforma unificada capaz de automatizar processos inteiros em diversas áreas da TI e para uma variedade de casos de uso, incluindo infraestrutura, nuvem híbrida, segurança e redes, do ambiente on-premise à edge. A solução oferece todas as ferramentas necessárias para implementar a automação em toda a empresa, incluindo playbooks, analytics e uma solução orientada a eventos. As equipes centralizam e controlam a infraestrutura de TI usando um dashboard gráfico, controle de acesso baseado em função e outras funcionalidades que ajudam a reduzir a complexidade operacional.

Com uma subscrição da Red Hat, você aproveita o conteúdo certificado e com suporte da Red Hat e dos nossos parceiros, ganha acesso a serviços de gerenciamento hospedados e tem suporte técnico ao longo do ciclo de vida para escala da automação por toda a empresa. Além disso, você pode aproveitar o conhecimento especializado que acumulamos ao trabalhar com sucesso junto a milhares de clientes.

A chegada do Ansible Lightspeed with IBM Watson Code Assistant torna o Ansible ainda mais acessível para iniciantes, além de ajudar os usuários mais experientes a trabalhar de forma mais produtiva, eficiente e livre de erros. Os desenvolvedores podem fazer uma solicitação de tarefa em inglês e o Ansible Lightspeed interage com os modelos de fundação IBM watsonx para gerar recomendações de código que, por sua vez, são usadas para criar playbooks.

Quanto tempo você poderia economizar com a automação?

Responda a algumas perguntas e descubra quanto tempo você pode economizar com o Ansible Automation Platform.

Leia mais

Artigo

Noções básicas do Ansible

O Ansible automatiza processos de TI como provisionamento e gerenciamento de configuração. Conheça as noções básicas do Ansible com esta introdução aos principais conceitos.

Artigo

O que é gerenciamento de processos de negócios?

Gerenciamento de processos de negócios (BPM) é a prática de modelar, analisar e otimizar processos de ponta a ponta para alcançar os objetivos estratégicos.

Artigo

Por que escolher a Red Hat para a automação?

O Red Hat Ansible Automation Platform oferece todas as ferramentas necessárias para compartilhar a automação entre as equipes e implementá-la por toda a empresa.

Leia mais sobre automação

Soluções Red Hat

Os consultores estratégicos da Red Hat fornecem uma visão geral da sua organização, analisam os desafios e ajudam a superá-los com soluções abrangentes e econômicas.

Uma plataforma com suporte completo para implementar a automação em escala, de ponta a ponta.

Conteúdo adicional

Treinamentos Red Hat

Treinamento gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Treinamento gratuito

Red Hat Ansible Automation for SAP