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)