DEV Community

Luiz Bernardo
Luiz Bernardo

Posted on

Usando Ansible localmente

Usar o Ansible como gerenciador de configuração no início de um projeto pode ser um pouco custoso, mas podemos fazer isso localmente.
Neste post, veremos como executar o playbook localmente em nosso Localhost como uma máquina de controle.
Na verdade, existem muitas maneiras de executar playbooks ansible localmente. Vamos ver cada um e como eles funcionam.

Especifique Localhost na diretiva de hosts do seu playbook.

É um método bem simples na qual você insere "hosts: localhost" diretamente no playbook. Não é muito elegante, mas eu uso bastante.

- name: "Provisionando ambiente" hosts: localhost connection: local tasks: - name: "Provisionando ambiente" shell: ./shell/aws-provisioning.sh ignore_errors: True - name: "Instalando o Istio" hosts: localhost connection: local tasks: - name: "Instalando o Istio" shell: ./shell/install-istio.sh ignore_errors: True 
Enter fullscreen mode Exit fullscreen mode

Você pode ir quebrando as tarefas, mas cada uma terá que ter essa entrada repetidamente.

Usando local_action flag no ansible playbook

Este método é mais recomendado do que os outros 3, mas é sempre subjetivo usá-lo para suas necessidades.

Aqui está o playbook de exemplo que é executado localmente para criar uma instância do EC2 conectando-se à AWS.

Fiz um exemplo simples para criar uma instância do EC2 na AWS com a flag local_action.

- name: create an ec2 instance local_action: module: ec2 image: ami-8caa1ce4 instance_type: m3.medium key_name: mykey group: - web - ssh instance_tags: type: web env: production 
Enter fullscreen mode Exit fullscreen mode

Adicione uma entrada em seu inventário

Você também pode definir explicitamente seu localhost em seu arquivo de inventário.
Para isso, edite o arquivo /etc/ansible/hosts e inclua seu host

$ hostname >> /etc/ansible/hosts 
Enter fullscreen mode Exit fullscreen mode

Especificar na linha de comando do Ansible

Por padrão o Ansbile executa as diretivas, mas você pode ignorá-las passando os parâmetros na linha de comando quando for executar o playbook.

ansible-playbook --connection=local -- inventory=127.0.0.1 -- limit=127.0.0.1 Ansible-Local.yml -i ansible_hosts 
Enter fullscreen mode Exit fullscreen mode

É isso, espero ter ajudado.
Vlw flw

Top comments (0)