Introdução
As variáveis de grupo no Ansible permitem definir variáveis que se aplicam a grupos inteiros de hosts. Elas fornecem uma maneira de personalizar o comportamento do Ansible para grupos específicos e configurar definições comuns. Este desafio ensinará como definir e usar variáveis de grupo no seu inventário do Ansible.
Definindo Variáveis de Grupo
Vamos começar aprendendo como definir variáveis de grupo no seu inventário do Ansible. Esta é uma habilidade fundamental que permitirá gerenciar configurações de forma eficiente em diferentes grupos de hosts.
Tarefas
Defina variáveis de grupo para grupos de hosts específicos:
- Crie um arquivo chamado
inventoryno diretório/home/labex/projectcom o seguinte conteúdo:- Defina grupos chamados
webedb - Adicione a variável
http_port=80sob a seção[web:vars] - Adicione a variável
db_port=3306sob a seção[db:vars] - Usando
localhostpor simplicidade, adicione-o a ambos os gruposwebedb
- Defina grupos chamados
Requisitos
- O Ansible está pré-instalado
- A conectividade SSH com os hosts gerenciados está configurada
Exemplos
Após concluir esta etapa, você deverá ser capaz de usar o módulo ping do Ansible para verificar o status dos hosts no grupo web:
ansible web -i inventory -m ping
Exemplo de saída:
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
Acessando Variáveis de Grupo em Playbooks
Agora que definimos nossas variáveis de grupo, vamos passar para a próxima etapa crucial: acessar essas variáveis em playbooks do Ansible. Essa habilidade permitirá criar playbooks dinâmicos e flexíveis que podem se adaptar a diferentes grupos de hosts.
Tarefas
Crie um novo arquivo de playbook chamado
my-playbook.yamlno diretório/home/labex/projectcom o seguinte conteúdo:- Defina os
hostscomoweb - Use o módulo
debugpara acessar e exibir a variável de grupohttp_port
- Defina os
Execute o playbook do Ansible usando o comando
ansible-playbook, especificando o arquivo de inventário.
Requisitos
- O Ansible está pré-instalado
- A conectividade SSH com os hosts gerenciados está configurada
- O arquivo de inventário foi criado e configurado
Exemplos
Após concluir esta etapa, a execução do playbook deve produzir uma saída semelhante a esta:
PLAY [Print group variables] **************************************************
TASK [Gathering Facts] ********************************************************
ok: [localhost]
TASK [Print http_port variable] ************************************************
ok: [localhost] => {
"http_port": 80
}
PLAY RECAP *********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Resumo
Parabéns! Você concluiu o desafio de Variáveis de Grupo do Ansible. Você aprendeu a definir variáveis de grupo no seu inventário e a acessá-las em playbooks. Essas habilidades formam uma parte crucial do uso eficiente do Ansible, permitindo gerenciar e personalizar configurações para diferentes grupos de hosts dentro da sua infraestrutura.
Ao utilizar variáveis de grupo de forma eficaz, você pode criar fluxos de trabalho de automação mais flexíveis e modulares. À medida que continua sua jornada no Ansible, experimente diferentes variáveis de grupo e explore como elas podem aprimorar seus processos de automação. Lembre-se, a prática é a chave para dominar esses conceitos!


