Visão geral
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.
Como funcionam os Ansible Playbooks?
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.
Segurança
Openssh_cert gera certificados de usuário ou host OpenSSH, e ipa_config gerencia configurações globais do FreeIPA.
Comunicação
mail envia emails automáticos baseados em alguns critérios, e snow_record cria, exclui ou atualiza um registro único no ServiceNow.
Exemplo prático de um Ansible Playbook
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.
Como usar os Ansible Playbooks?
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.
Por que escolher a Red Hat?
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.