Read this in other languages:  English,
 English,   日本語,
日本語,  Portugues do Brasil.
 Portugues do Brasil.
Você já terminou o laboratório. Mas preparamos alguns laboratórios de bônus um pouco mais avançados para você seguir, se quiser. Portanto, se você terminou os laboratórios e ainda tem algum tempo, aqui estão mais alguns laboratórios para você:
Crie um novo usuário “testuser” em node1 e node3 usando um comando ad hoc, verifique se ele não foi criado no node2!
Encontre os parâmetros para o módulo apropriado usando ansible-doc user (saia com q)
Use um comando Ansible ad hoc para criar o usuário com o comentário “Test User”
Use o módulo “command” com a chamada adequada para encontrar o ID do usuário
Exclua o usuário e verifique se ele foi excluído
Dica
Lembre-se da escalação de privilégios…
ATENÇÃO
Solução abaixo!
Seus comandos podem ser parecidos com estes:
[student<X>@ansible ansible-files]$ ansible-doc -l | grep -i user
[student<X>@ansible ansible-files]$ ansible-doc user
[student<X>@ansible ansible-files]$ ansible node1,node3 -m user -a "name=testuser comment='Test User'" -b
[student<X>@ansible ansible-files]$ ansible node1,node3 -m command -a " id testuser" -b
[student<X>@ansible ansible-files]$ ansible node2 -m command -a " id testuser" -b
[student<X>@ansible ansible-files]$ ansible node1,node3 -m user -a "name=testuser state=absent remove=yes" -b
[student<X>@ansible ansible-files]$ ansible web -m command -a " id testuser" -b
Você aprendeu o básico sobre templates, variáveis e handlers. Vamos combinar tudo isso.
Em vez de editar e copiar httpd.conf, por que você não define uma variável para a porta de escuta e a usa em um template? Aqui está o seu trabalho:
Defina uma variável listen_port para o grupo web com o valor 8080 e outra para node2 com o valor 80 usando os arquivos adequados.
Copie o arquivo httpd.conf no template httpd.conf.j2 que usa a variável listen_port em vez do número da porta codificada.
Escreva um Playbook que implante o template e reinicie o Apache nas alterações usando um handler.
Execute o Playbook e teste o resultado usando curl.
Dica
Lembra dos diretórios
group_varsehost_vars? Caso contrário, consulte o capítulo “Variáveis”.
ATENÇÃO
Solução abaixo!
Adicione esta linha a group_vars/web:
listen_port: 8080
Adicione esta linha a host_vars/node2:
listen_port: 80
Copie httpd.conf para httpd.conf.j2
Edite a diretiva “Listen” em httpd.conf.j2 para deixa-la assim:
[...]
Listen {{ listen_port }}
[]...]
Crie o playbook chamado apache_config_tpl.yml:
---
- name: Apache httpd.conf
  hosts: web
  become: yes
  tasks:
  - name: Criar arquivo de configuracao do apache a partir do template
    template:
      src: httpd.conf.j2
      dest: /etc/httpd/conf/httpd.conf
    notify:
        - restart apache
  handlers:
    - name: Reiniciar apache
      service:
        name: httpd
        state: restarted
Primeiro, execute o próprio Playbook e em seguida, execute curl no node1 com a porta 8080 e node2 na porta 80.
[student1@ansible ansible-files]$ ansible-playbook apache_config_tpl.yml
[...]
[student1@ansible ansible-files]$ curl http://18.195.235.231:8080
<body>
<h1>Esse eh um servidor web de desenvolvimento, divirta-se!</h1>
</body>
[student1@ansible ansible-files]$ curl http://35.156.28.209:80
<body>
<h1>Esse eh um servidor web de producao, tenha cuidado!</h1>
</body>
Clique aqui para retornar ao Workshop Ansible for Red Hat Enterprise Linux