Ansible - Playbooks

Neste capítulo, aprenderemos sobre Playbooks em Ansible.

Playbooks são os arquivos onde o código Ansible é escrito. Os manuais são escritos no formato YAML. YAML significa Yet Another Markup Language.Playbookssão um dos principais recursos do Ansible e dizem a Ansible o que executar. Eles são como uma lista de tarefas para Ansible que contém uma lista de tarefas.

Os manuais contêm as etapas que o usuário deseja executar em uma máquina específica. Os manuais são executados sequencialmente. Os manuais são os blocos de construção para todos os casos de uso do Ansible.

Estrutura do manual

Cada manual é uma agregação de uma ou mais peças nele. Playbooks são estruturados usando Plays. Pode haver mais de uma peça dentro de um manual.

A função de uma peça é mapear um conjunto de instruções definidas contra um determinado host.

YAML é uma linguagem estritamente tipada; portanto, cuidado extra deve ser tomado ao gravar os arquivos YAML. Existem diferentes editores YAML, mas preferimos usar um editor simples como o notepad ++. Basta abrir o notepad ++ e copiar e colar o yaml abaixo e alterar o idioma para YAML (Idioma → YAML).

Um YAML começa com --- (3 hífens)

Crie um manual

Vamos começar escrevendo um arquivo YAML de amostra. Percorreremos cada seção escrita em um arquivo yaml.

--- 
   name: install and configure DB
   hosts: testServer
   become: yes

   vars: 
      oracle_db_port_value : 1521
   
   tasks:
   -name: Install the Oracle DB
      yum: <code to install the DB>
    
   -name: Ensure the installed service is enabled and running
   service:
      name: <your service name>

O exemplo acima é um exemplo de Manual onde tentamos cobrir a sintaxe básica de um manual. Salve o conteúdo acima em um arquivo comotest.yml. Uma sintaxe YAML precisa seguir o recuo correto e é preciso ter um pouco de cuidado ao escrever a sintaxe.

As Diferentes Tags YAML

Vamos agora examinar as diferentes tags YAML. As diferentes tags são descritas abaixo -

nome

Esta tag especifica o nome do manual do Ansible. Como no que este manual estará fazendo. Qualquer nome lógico pode ser dado ao manual.

hospedeiros

Esta tag especifica as listas de hosts ou grupo de hosts contra os quais queremos executar a tarefa. O campo / tag hosts é obrigatório. Diz ao Ansible em quais hosts executar as tarefas listadas. As tarefas podem ser executadas na mesma máquina ou em uma máquina remota. Pode-se executar as tarefas em várias máquinas e, portanto, a tag hosts também pode ter um grupo de entradas de hosts.

vars

Tag Vars permite que você defina as variáveis ​​que você pode usar em seu manual. O uso é semelhante a variáveis ​​em qualquer linguagem de programação.

tarefas

Todos os manuais devem conter tarefas ou uma lista de tarefas a serem executadas. Tarefas são uma lista de ações que precisam ser executadas. Um campo de tarefas contém o nome da tarefa. Isso funciona como um texto de ajuda para o usuário. Não é obrigatório, mas é útil para depurar o manual. Cada tarefa é vinculada internamente a um trecho de código denominado módulo. Um módulo que deve ser executado e os argumentos necessários para o módulo que você deseja executar.