Como instalar o Ansible no Ubuntu Server 22.04

Nota: O seguinte artigo irá ajudá-lo com: Como instalar o Ansible no Ubuntu Server 22.04

O Ansible torna muito mais fácil para administradores ocupados gerenciarem uma grande coleção de servidores. Em vez de ter que acessar cada servidor remotamente para lidar com uma tarefa, você pode cuidar de grande parte dela a partir de um único ponto de entrada. Uma razão pela qual prefiro o Ansible a ferramentas semelhantes é que o Ansible não exige que você instale clientes em nós remotos. Em vez disso, o Ansible usa SSH para executar todas as tarefas e os arquivos YAML contêm as definições das tarefas a serem executadas.

VEJA: Mais de 40 termos de código aberto e Linux que você precisa conhecer (TechRepublic Premium)

Em outras palavras, o Ansible faz uma tarefa que pode ser incrivelmente desafiadora, simples o suficiente para que qualquer administrador, independentemente do nível de habilidade, possa cuidar.

Quero orientá-lo nas etapas de instalação e execução do Ansible no Ubuntu Server 22.04 (Jammy Jellyfish). Você vai sair dessa surpresa com o quão fácil pode ser.

O que você precisa para instalar o Ansible

Para colocar o Ansible em funcionamento, você precisará de pelo menos dois hosts: um para servir como controlador e um host usado para testar a configuração. Estarei demonstrando com duas instâncias do Ubuntu Server 22.04. Você também precisará de um usuário com privilégios sudo e uma chave SSH criada no controlador.

Como instalar o Ansible

Como o Ansible é encontrado nos repositórios padrão, a instalação é tão simples quanto fazer login no nó do controlador e emitir o comando:

sudo apt-get install ansible -y

A instalação pegará um grande número de dependências e levará de 2 a 10 minutos para ser concluída.

Também precisaremos instalar um segundo software, chamado SSHpass, que é um provedor de senha não interativo — caso contrário, você terá problemas com a autenticação SSH. Instale o SSHPass com:

sudo apt-get install sshpass -y

Como criar uma chave SSH

Se você ainda não fez isso, crie uma chave SSH no controlador com o comando:

ssh-keygen

Quando a chave estiver completa, você precisará copiá-la para o seu host remoto com o comando:

ssh-copy-id NÓ

Onde NODE é o endereço IP de seus hosts remotos.

Como criar um arquivo de inventário

Em seu controlador, você precisará criar um arquivo de inventário, que contém todos os detalhes necessários de seus hosts remotos. Primeiro, crie um diretório para hospedar os arquivos com:

sudo mkdir /etc/ansible

Crie o arquivo hosts com:

sudo nano /etc/ansible/hosts

Listaremos nosso host remoto em [servers] com um endereço IP de 192.168.1.66. Esse arquivo ficará assim:

[servers]
192.168.1.66

[all:vars]
ansible_python_interpreter=/usr/bin/python3

Salve e feche o arquivo.

Como testar se o Ansible está funcionando

Para testar se o Ansible está funcionando corretamente, emita o comando (do controlador):

ansible all -m ping

Você deve ser solicitado a fornecer sua senha de usuário remoto e, ao executar o ping com sucesso no host remoto, o Ansible informará:

192.168.1.66 | SUCESSO => {
“alterado”: falso,
“pingue-pongue”
}

Isso significa que está funcionando.

Vamos testar nossa configuração.

Como executar um comando ad-hoc para teste

Vamos executar o comando ls em nosso host remoto. Para fazer isso, emita o comando:

ansible all -a “ls -l”

Você deve receber uma listagem do diretório raiz do usuário associado à chave SSH que você enviou ao host, indicando que tudo está bem.

Como criar e executar um playbook

No coração do Ansible está o manual. Você cria esses manuais que mapeiam os estados em que deseja que seus hosts remotos estejam. Por exemplo, você pode criar um manual que copia um arquivo, adiciona um novo usuário e atualiza todos os pacotes apt em seu host remoto. Vamos fazer exatamente isso.

Vamos primeiro criar um diretório para abrigar nossos playbooks com:

mkdir ~/playbooks

Mude para esse diretório com:

cd ~/livros

Crie o novo manual com o comando:

nano teste.yaml

Nesse arquivo, cole o seguinte:

– nome: Manual de teste
anfitriões: todos
tarefas:

– name: Copia hosts de arquivos com permissões
ansible.builtin.copy:
src: /etc/ansible/hosts
destino: /tmp/hosts_backup
modo: ‘0644’

– nome: adiciona o usuário ‘olivia’
ansible.builtin.user:
nome: olívia
tornar-se: sim
torne_método: sudo

– nome: Atualize todos os pacotes apt
apto:
force_apt_get: sim
atualização: dist
tornar-se: sim

Salve e feche o arquivo.

Um resumo rápido do playbook se parece com isso:

  • Executamos o playbook em todos os hosts listados em nosso arquivo hosts.
  • Copiamos o arquivo hosts para o controle remoto.
  • Adicionamos o usuário “olivia” ao host. Uma coisa a ter em mente com essa tarefa é que ela apenas cria o usuário, não a senha.
  • Executamos o apt upgrade no host.

Execute o manual de teste com:

ansible-playbook test.yaml –user=USER –extra-vars ansible_sudo_pass=”SENHA”

Onde USER é o usuário remoto e PASSWORD é a senha desse usuário.

Como estamos executando uma atualização do apt no sistema, pode levar algum tempo para ser concluído. Quando terminar, seu host remoto não apenas terá um novo usuário, mas também terá todo o software atualizado.

E é assim que é fácil instalar e usar o Ansible no Ubuntu Server 22.04. Voltaremos a esse assunto mais tarde para criar mais manuais para ver como você pode tirar o máximo proveito do Ansible.

Table of Contents