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 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 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 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 É isso, espero ter ajudado.
Vlw flw
Top comments (0)