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 os custos indiretos manuais 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 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 incluir uma ou mais plays, além dos Ansible Roles, que são pacotes de tarefas e recursos de automação associados executáveis em várias plays ou reutilizados nos playbooks.

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 e-mails 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 plays: 

  • 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 simples 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 simples, 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 interface de linha de comando (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ê tem acesso ao conteúdo certificado com suporteda Red Hat e do nosso ecossistema de parceiros, a serviços de gerenciamento hospedados e ao suporte técnico de ciclo de vida para escalar a automação por toda a sua empresa. Tudo isso com o conhecimento especializado que acumulamos ao trabalhar com sucesso junto a milhares de clientes.

A introdução do Red Hat Ansible Lightspeed com IBM watsonx Code Assistant torna o Ansible ainda mais acessível para iniciantes e ajuda as equipes de automação a serem mais eficientes na hora de aprender, criar e fazer a manutenção do conteúdo do Red Hat Ansible Automation Platform. Esse serviço de inteligência artificial generativa aceita prompts inseridos por um usuário e, em seguida, interage com os modelos base do IBM watsonx para produzir recomendações de código baseadas nas práticas recomendadas do Ansible, ajudando você a converter o know-how do assunto em um código Ansible confiável e escalável entre equipes e domínios.

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Os recursos integrados do Red Hat Ansible Automation Platform oferecem um acelerador pronto. É o padrão que muitos de nossos fornecedores e parceiros usam para escrever scripts e instalar, configurar e manter suas tecnologias.

Jesse Amerson

Diretor de TI, Ulta Beauty

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