Leia em outras linguagens:
English, 日本語, Portugues do Brasil, Française, Español.
Você deve ter notado o botão ADD SURVEY na visualização de configuração Template. Uma survey é uma maneira de criar um formulário simples para solicitar parâmetros que são usados como variáveis quando um template é iniciado como um job.
Você instalou o Apache em todos os hosts no job que você acabou de executar. Agora vamos estender isso:
-
Use uma role apropriada que possua um template Jinja2 para implantar um arquivo
index.html
. -
Crie um job template com uma survey para coletar os valores para o template
index.html
. -
Inicie o job template
Além disso, a role também garantirá que a configuração do Apache esteja configurada corretamente - caso seja confundida durante os outros exercícios.
Dica
O recurso de survey fornece apenas uma consulta simples para dados - ele não suporta princípios de four-eye, consultas baseadas em dados dinâmicos ou menus aninhados.
O Playbook e a role com o template Jinja já existem no repositório do Github https://github.com/ansible/workshop-examples no diretório rhel/apache
**`.
Vá para a interface do Github e dê uma olhada no conteúdo: o playbook apache_role_install.yml
apenas faz referência à role. A role pode ser encontrada no subdiretório papers/role_apache
. Dentro da role, observe as duas variáveis no arquivo de templates templates/index.html.j2
marcadas por {{…}}
. Além disso, verifique as tarefas em tasks/main.yml
que implementam o arquivo a partir do template. O que este Playbook está fazendo? Ele cria um arquivo (dest) nos hosts gerenciados a partir do modelo (src).
A role também implementa uma configuração estática para o Apache. Isso é para garantir que todas as alterações feitas nos capítulos anteriores sejam substituídas e que seus exemplos funcionem corretamente.
Agora você irá criar um novo template que inclui uma survey.
-
Vá para Template, clique no botão ![Plus] (images/green_plus.png) e escolha Job Template
-
NAME: Crie index.html
-
Configure o template para:
-
Use o Project e o Playbook
-
Para executar no
node1
-
Para executar no modo privilegiado
-
Tente você mesmo.
ATENÇÃO
Solução abaixo!
-
NAME: Crie index.html
-
JOB TYPE: Run
-
INVENTORY: Workshop Inventory
-
Project: Exemplo Ansible Workshop
-
PLAYBOOK:
rhel/apache/apache_role_install.yml
-
CREDENTIAL: Credenciais Workshop
-
OPTIONS: Enable Privilege Escalation
-
Click em SAVE
ATENÇÃO
Não execute o template ainda!
-
No template, clique no botão ADD SURVEY
-
Em ADD SURVEY PROMPT, preencha:
-
PROMPT: First Line
-
ANSWER VARIABLE NAME:
first_line
-
ANSWER TYPE: Text
-
-
Click em +ADD
-
Da mesma maneira, adicione um segundo Survey Prompt
-
PROMPT: Second Line
-
ANSWER VARIABLE NAME:
second_line
-
ANSWER TYPE: Text
-
-
Click em +ADD
-
Click em SAVE para o Survey
-
Click em SAVE para o Template
Agora inicie o Create index.html job template.
Antes do lançamento real, a pesquisa solicitará First Line e Second Line. Preencha e clique em Next. A próxima janela mostra os valores, se tudo estiver bom, execute o Job clicando em Launch.
Dica
Observe como as duas linhas de survey são mostradas à esquerda do Job view como Extra Variables.
Após a conclusão do job, verifique a página inicial do Apache. No console SSH no host de controle, execute curl
no endereço IP do seu node1
:
$ curl http://22.33.44.55
<body>
<h1>O Apache esta funcionando bem</h1>
<h1>This is survey field "First Line": line one</h1>
<h1>This is survey field "Second Line": line two</h1>
</body>
Observe como as duas variáveis foram usadas pelo playbook para criar o conteúdo do arquivo index.html
.
Aqui está uma lista de tasks:
ATENÇÃO
Certifique-se de concluir estas etapas, pois o próximo capítulo depende disso!
-
No inventário
Webserver
adicione os outros nós,node2
enode3
. -
Execute o template Create index.html novamente.
-
Verifique os resultados nos outros dois nós usando
curl
nos respectivos endereços IP.
Clique aqui para retornar ao Workshop Ansible for Red Hat Enterprise Linux