Home Empreendimento Como começar a usar o Ansible

Como começar a usar o Ansible

by Autor convidado

Ansible é uma ótima maneira de implantar mudanças em massa em várias máquinas. Por exemplo, usei-o para fazer algumas configurações básicas em uma nova máquina e para atualizar vários hosts simultaneamente. Também é importante ter em mente que o Ansible não é usado apenas em ambientes de homelab, mas também é muito popular em ambientes corporativos, o que o torna uma habilidade muito valiosa.

Ansible é uma ótima maneira de implantar mudanças em massa em várias máquinas. Por exemplo, usei-o para fazer algumas configurações básicas em uma nova máquina e para atualizar vários hosts simultaneamente. Também é importante ter em mente que o Ansible não é usado apenas em ambientes de homelab, mas também é muito popular em ambientes corporativos, o que o torna uma habilidade muito valiosa.

Configurando o Ansible em uma nova máquina

Primeiro, precisamos instalar o pacote `ansible`, deve ser tão simples quanto:

`sudo apt update && sudo apt install ansible`

E precisamos criar nosso diretório Ansible para trabalhar:

`mkdir ~/ansible && cd ~/ansible`

Agora você deve estar no diretório Ansible em sua máquina local.

Visão geral do Ansible

Usamos os dois recursos principais do Ansible, inventários, que armazenam todos os seus hosts, e playbooks, que contêm as “instruções” para executar nos hosts. Para que o Ansible leia nosso playbook e execute as ações, ele precisa saber onde estão os hosts, ou seja, qual é o arquivo de inventário. É apenas um “inventário” de todos os hosts.

Agora temos os próprios playbooks, uma vez que o Ansible leu o inventário e está ciente de todos os hosts, ele começa a procurar o que fazer. Esse é o playbook, que é apenas um arquivo YAML simples, que utiliza “módulos” para executar as tarefas. A documentação sobre os referidos módulos pode ser encontrada no Site Ansible. Se houver algo que não esteja claro, isso [vídeo Ansible iniciante] da NetworkChuck faz um bom trabalho explicando as coisas.

Criando nosso inventário Ansible

Agora que temos uma compreensão básica do Ansible e de como ele funciona, podemos criar nosso inventário. O formato pode ser em YAML ou INI, para simplificar, usaremos INI e adicionaremos apenas um host.

Aqui está um arquivo de exemplo:

Inventory.ini:
“`ini
[poderoso]
192.168.1.78
""

Nomeie-o `inventory.ini` em seu diretório `ansible`. Este arquivo cria um “grupo” de `poderoso` com um único host de `192.168.1.78`. Podemos usar isso em nossos playbooks mais tarde. Você pode fornecer qualquer nome de grupo e IP que desejar, dependendo da sua configuração. Você também pode adicionar mais hosts ao grupo, se necessário.

Como implantar playbooks do Ansible

Primeiro, queremos verificar se o Ansible está funcionando:

Lembre-se de que nossa chave pública ssh deve estar no arquivo author_keys no host que estamos tentando acessar. Caso contrário, este comando falhará. Estamos usando o grupo `powerful`, mas use o que você nomeou.

`ansible -i ./inventory.ini -m ping -u administrador poderoso`

Se isso funcionar, podemos provisionar nossos playbooks nesse nó.

O playbook que estamos implantando simplesmente atualiza o sistema, reinicializa-o e espera que ele volte a ficar online. Se você tiver vários nós no grupo, ele passará por cada nó, um por um, esperando que o anterior volte a ficar online antes de reiniciar o próximo. Isso dá aos serviços no nó tempo adequado para desligar e migrar se você estiver usando algo como Enxame Docker.

atualizar.yml:
“` Yaml
– nome: Atualize todos os nós e reinicie
coletar_fatos: não
hosts: “{{ variables_hosts }}”
tornar-se: sim
série: 1

tarefas:
– nome: Atualizando e Atualizando | {{ Inventory_hostname }}
apto:
# força compatibilidade com versões anteriores
force_apt_get: sim
update_cache: sim
atualização: 'sim'

– nome: Reiniciar | {{ Inventory_hostname }}
reiniciar:
# quanto tempo espera o nó voltar a ficar online após a reinicialização
tempo_reinicialização: 300
# quanto tempo esperar para reiniciar após a conclusão da tarefa anterior (apt)
pré_reboot_delay: 60

– nome: Ping | {{ Inventory_hostname }}
pingar:

– nome: Pausa | {{ Inventory_hostname }}
pausa:
minutos: 5
""

`ansible-playbook -i ./inventory.ini -e variables_hosts=powerful -u administrador -K ./update.yml`

![Imagem do Playbook em execução](./002-ansible-playbook-executed.png)

Explicação das bandeiras:
– -i: Especifique o arquivo de inventário.
– -e: Temos que especificar o host, no playbook temos uma variável `variable_hosts`, que é o que é passado para o playbook.
– -u: Este é o usuário usado para executar os comandos no host.
– -K: Isso diz ao playbook para solicitar ao usuário a senha do sudo, caso contrário, o playbook falhará.

Pensamentos de Encerramento

Ansible é uma ferramenta incrivelmente poderosa e versátil que pode ser usada para uma variedade de coisas. Mal arranhamos a superfície com este artigo, mas você deve continuar experimentando e automatizando tarefas para aprender mais sobre isso. Seja automatizando implantações do Kubernetes ou apenas atualizando seus sistemas como fizemos hoje.

Site Ansible

-Ethan Edwards

Envolva-se com a StorageReview

Newsletter | YouTube | LinkedIn | Instagram | Twitter | Facebook | TikTokRSS feed