De acordo com os docs ansible, um Playbook é:
... a base para um gerenciamento de configuração realmente simples e sistema de implantação de várias máquinas, diferente de qualquer um que já existe, e que é muito adequado para implantar aplicativos complexos.
E, novamente, de acordo com esses mesmos documentos, as funções são:
... maneiras de carregar automaticamente certos vars_files, tarefas e manipuladores com base em uma estrutura de arquivo conhecida. O agrupamento de conteúdo por funções também permite o fácil compartilhamento de funções com outros usuários.
No entanto, a distinção entre esses e seus diferentes casos de uso não é imediatamente óbvia para mim. Por exemplo, se eu configurar meu /etc/ansible/hosts
arquivo para se parecer com:
[databases]
mydb01.example.org
mydb02.example.org
[mail_servers]
mymail01.example.org
mymail_dr.example.org
... então o que é esta [databases]
entrada " " ... uma função ? Ou o nome de um arquivo YAML de playbook em algum lugar? Ou alguma outra coisa?!?
Se alguém pudesse me explicar as diferenças entre eles, minha compreensão de Ansible seria muito aprimorada!
- Manual vs Papel vs
[databases]
e entradas semelhantes em/etc/ansible/hosts
- Se Playbooks são definidos dentro de arquivos YAML, então onde as funções são definidas?
- Além de
ansible.cfg
morar no servidor Ansible, como faço para adicionar / configurar o Ansible com Playbooks / funções disponíveis? Por exemplo, quando corroansible-playbook someplaybook.yaml
, como Ansible sabe onde encontrar aquele manual?
tasks
Fazer coisas. playbooks
organizar e lançar tarefas. roles
organizar um monte de tarefas, manipuladores, etc. que executam uma função específica. Alguns playbook
são necessários para lançar o role
(s). O que você chamaria de coleção de roles
e playbooks
? Digamos, por exemplo, um que gerencia a configuração de todos os hosts em seu site?