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)