Você pode superar isso usando entrada externa para um manual Ansible usando variáveis extras.
Este artigo aprenderá a usar variáveis extras Ansible para fornecer valores personalizados ou dinâmicos sem editar os playbooks.
O que é Ansible Vars Extra?
Ansible Extra Vars é um recurso que permite que você inclua mais flexibilidade em seus manuais Ansible, fornecendo a capacidade de especificar valores dinâmicos ao executar o manual.
Ansible Vars extras são úteis quando:
Como usar o Ansible Extra Vars
Ansible Vars extra substituirá o valor armazenado em um manual ou um arquivo variável. Eles também são chamados de variáveis de linha de comando.
Vejamos agora um exemplo de como usar vars extras.
Um exemplo típico dos vars extras em Ansible é quando você codifica o valor dos hosts. Suponha que você tenha um manual que concorra aos hosts com o grupo "Desenvolvimento" quando você precisar executar o manual dos anfitriões "Produção", você será forçado a editar o manual.
Isso pode ser cansativo e propenso a erros, especialmente em uma extensa coleção de grupos anfitriões.
Para resolver esse problema, podemos usar o recurso Ansible Vars Extra. Podemos definir uma variável representando o grupo dos hosts e especificar seu valor ao executar o manual.
Considere o manual de exemplo abaixo:
---Agora que temos um exemplo de manual como acima, podemos passar o valor para a variável "grupo" usando a opção -extra -Vars enquanto executa o manual.
Um comando de exemplo é como mostrado:
Exemplo de Ansible-playbook.yml -extra -Vars "Grupo = Produção"Para mudar o grupo para o "desenvolvimento", você não precisa editar o manual; Passe a variável como mostrado:
Exemplo de Ansible-playbook.YML --extra-Vars "Grupo = Desenvolvimento"O exemplo abaixo usa vars extras para especificar o serviço para iniciar com base na distribuição de destino.
---Usando o manual acima, podemos especificar as variáveis extras como:
Exemplo de Ansible-playbook.yml --extra-Vars "Grupo = Desenvolvimento PKG_NAME = APACHE2"Se você deseja passar variáveis com espaços, você usa aspas únicas, como mostrado no exemplo abaixo:
Exemplo de Ansible-playbook.YML --extra -Vars "Protocol = 'All -SSLV2'"Conclusão
Este tutorial ilustra como implementar e usar variáveis extras Ansible para adicionar flexibilidade aos manuais. Verifique a documentação para saber mais.