Ansible é um usado para gerenciar e administrar múltiplos servidores a partir de um computador central. É uma ferramenta de gerenciamento de servidores. Ansible não precisa de nenhuma configuração no lado do servidor como Chef ou Puppet. Basta instalar o Ansible no seu computador e gerenciar ou administrar os servidores via SSH. É muito simples e fácil de usar. Neste artigo, vou mostrar-lhe como instalar e usar o Ansible no CentOS 8. Então, vamos começar.
Installing Ansible:
Ansible está disponível no repositório EPEL do CentOS 8. Assim, você pode facilmente instalar o Ansible no CentOS 8.
Primeiro, atualize o cache do repositório de pacotes DNF com o seguinte comando:
Agora, para habilitar o repositório EPEL, instale o pacote epel-release com o seguinte comando:
Para confirmar a instalação, pressione Y e depois pressione <Enter>.
pacoteepel-release deve ser instalado e o repositório EPEL deve ser habilitado.
Agora, atualize o cache do repositório de pacotes DNF novamente com o seguinte comando:
Agora, instale o Ansible com o seguinte comando:
Para confirmar a instalação, pressione Y e depois pressione <Enter>.
DNF deve começar a baixar todos os pacotes necessários da Internet.
>
Você pode ser solicitado a aceitar a chave GPG do repositório EPEL. Pressione Y e depois pressione <Enter> para aceitá-la.
DNF deve começar a instalar todos os pacotes baixados.
Neste ponto, Ansible deve ser instalado.
Agora, execute o seguinte comando:
Como você pode ver, estou executando Ansible 2.9.3 e está funcionando muito bem.
Configurando servidores para Ansible:
Para gerenciar ou administrar servidores com Ansible, você deve ter um servidor SSH instalado e rodando nos servidores. Os servidores com porta SSH devem estar abertos e os servidores devem estar acessíveis a partir do host do Ansible. Esse é o único requisito para usar Ansible.
Neste artigo, vou usar 4 máquinas virtuais (VMs) (2 VMs Ubuntu Server 18.04 LTS e 2 VMs Debian 10) para demonstrar o básico do gerenciamento e administração de servidores Ansible.
As 4 VMs são:
linuxhint-8ee7a – 192.168.20.166
linuxhint-s40 – 192.168.20.171
linuxhint-s41- 192.168.20.170
Pode usar os endereços IP dos servidores para gerenciá-los ou administrá-los com Ansible. Você também pode usar os nomes DNS dos servidores.
Neste artigo, usarei o arquivo /etc/hosts para a resolução DNS dos endereços IP das VMs.
Se você quiser seguir, abra seu arquivo /etc/hosts com o editor de texto vi da seguinte forma:
Agora, adicione as linhas como marcadas na captura de tela abaixo e salve o arquivo.
Agora, gere uma chave SSH no seu CentOS 8 Host possível da seguinte forma:
Pressione <Enter>.
>Pressione <Enter>.
>
Pressione <Enter>.
>
A chave SSH deve ser gerada.
>
Agora, você tem que carregar a chave SSH para todos os servidores que você quer gerenciar com Ansible.
>
Para copiar a chave SSH para o vm1.linuxhint.servidor local, execute o seguinte comando:
Now, digite yes e depois pressione <Enter>.
Now, digite a senha de login da vm1.linuxhint.local VM e pressione <Enter>.
A tecla SSH deve ser copiada.
Faça o mesmo para o servidor vm2.linuxhint.local, vm3.linuxhint.local e vm4.linuxhint.local.
>
Após ter copiado a chave SSH para as VMs, você deve ser capaz de SSH nele sem nenhuma senha, como você pode ver na captura de tela abaixo.
Agora, execute o seguinte comando em cada servidor para permitir o acesso sudo sem senha para o usuário de login. Isto é necessário para Ansible para executar qualquer comando root.
Todos os servidores estão agora prontos para serem configurados ou geridos a partir do Ansible.
Using Ansible:
Ansible mantém uma lista de todos os hosts que gere num ficheiro chamado ficheiro de inventário. Ansible inventory file é apenas um simples ficheiro de texto.
Vamos criar um novo directório de projectos Ansible ~/ansible/ primeiro, depois vamos criar o nosso ficheiro de inventário.
Agora, navegue para o diretório ~/ansible.
Agora, crie um arquivo de inventário Ansible como se segue. Você pode chamar este arquivo de qualquer coisa. Vou chamá-lo de hosts.
>
Agora, você pode adicionar seus servidores da seguinte forma. Aqui, a opção ansible_user é usada para definir o usuário que o Ansible usará para executar comandos nesses servidores. Normalmente é o usuário de login do servidor.
Pode também misturar endereços IP e nomes DNS dos servidores no arquivo de inventário.
Pode também agrupar servidores. Aqui, eu tenho 2 grupos, webserver e dbserver.
No grupo webserver, eu adicionei servidores vm1 e vm2. No grupo dbserver, eu adicionei servidores vm3 e vm4.
Após o arquivo de inventário ser criado, você pode usar o arquivo de inventário usando a opção -i do Ansible.
Você pode listar todos os hosts do arquivo de inventário da seguinte forma:
Você pode verificar se todos os hosts estão ativos da seguinte forma:
>
>>
Como pode ver, todos os hosts estão activos.
Você também pode pingar todos os hospedeiros em um único grupo.
>
Você pode executar comandos shell usando Ansible como a seguir:
Você também pode executar comandos shell (com privilégios sudo) como segue.
|groupName>
Por exemplo, você pode atualizar o cache do repositório de pacotes APT nos hosts do grupo do servidor web usando Ansible como a seguir:
Como você pode ver, o cache do repositório de pacotes APT é atualizado para todos os hosts no grupo do servidor web.
Tentemos instalar o servidor web Apache 2 em todos os hosts do grupo de servidores web.
‘apt install -y apache2’ webserver
Apache webserver deve ser instalado em todos os hosts do grupo webserver.
Como você pode ver, o servidor web Apache está trabalhando em todos os hosts do grupo do servidor web.
http://localhost’ webserver
>
Da mesma forma, você pode executar qualquer comando em todos os hosts do grupo dbserver.
>
>
>
Você também pode usar o Ansible Playbook para gerenciar seus servidores mais facilmente. Ansible Playbook está fora do escopo deste artigo. Leia a documentação do Ansible Playbook para mais informações sobre Ansible Playbook.
Obrigado por ler este artigo.