Introdução
As variáveis de grupo no Ansible permitem a definição de valores que se aplicam a grupos inteiros de hosts. Elas fornecem uma forma de customizar o comportamento do Ansible para grupos de servidores específicos e configurar definições compartilhadas. Este desafio ensinará você a definir e utilizar variáveis de grupo dentro do 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=80ao grupoweb - Adicione a variável
db_port=3306ao grupodb - Utilize
localhostpara simplificar, adicionando-o tanto ao grupowebquanto ao grupodb
- Defina grupos chamados
Requisitos
- Ansible pré-instalado
- Conectividade SSH configurada para os hosts gerenciados
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 para o próximo passo crucial: acessar essas variáveis dentro dos playbooks do Ansible. Esta habilidade permitirá que você crie playbooks dinâmicos e flexíveis que se adaptam 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:- Configure o alvo
hostscomoweb - Utilize o módulo
debugpara acessar e exibir a variável de grupohttp_port
- Configure o alvo
Execute o playbook do Ansible usando o comando
ansible-playbook, especificando o arquivo de inventário.
Requisitos
- Ansible pré-instalado
- Conectividade SSH configurada para os hosts gerenciados
- Arquivo de inventário criado e configurado
Exemplos
Após concluir esta etapa, a execução do playbook deve produzir uma saída semelhante a:
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 no Ansible. Você aprendeu a definir variáveis de grupo em seu inventário e a acessá-las em playbooks. Essas habilidades são fundamentais para o uso eficiente do Ansible, permitindo gerenciar e personalizar configurações para diferentes grupos de hosts em sua infraestrutura.
Ao utilizar variáveis de grupo de forma eficaz, você pode criar fluxos de automação mais flexíveis e modulares. À medida que continuar sua jornada com o 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!


