Como instalar Ansible no CentOS 8

Como instalar Ansible no CentOS 8
Ansible é usado para gerenciar e administrar vários servidores de um computador central. É uma ferramenta de gerenciamento de servidor. Ansible não precisa de nenhuma configuração no lado do servidor como chef ou fantoche. Você acabou de instalar o Ansible no seu computador e gerenciar ou administrar servidores via SSH. É muito simples e fácil de usar. Neste artigo, vou mostrar como instalar e usar o Ansible no CentOS 8. Então vamos começar.

Instalando Ansible:

Ansible está disponível no repositório EPEL do CentOS 8. Então, você pode instalar facilmente o Ansible no CentOS 8.

Primeiro, atualize o cache do repositório de pacotes DNF com o seguinte comando:

$ sudo dnf makecache

Agora, para ativar o repositório EPEL, instale o EPEL-RELEASE Pacote com o seguinte comando:

$ sudo dnf install-libelease

Para confirmar a instalação, pressione Y e depois pressione .

EPEL-RELEASE O pacote deve ser instalado e o repositório EPEL deve ser ativado.

Agora, atualize o cache do repositório de pacotes DNF novamente com o seguinte comando:

$ sudo dnf makecache

Agora, instale Ansible com o seguinte comando:

$ sudo dnf installible

Para confirmar a instalação, pressione Y e depois pressione .

O 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. Imprensa Y e depois pressione para aceitá -lo.

O DNF deve começar a instalar todos os pacotes baixados.

Neste ponto, Ansible deve ser instalado.

Agora, execute o seguinte comando:

$ Ansible -versão

Como você pode ver, estou correndo Ansible 2.9.3 e está funcionando muito bem.

Configurando servidores para Ansible:

Para gerenciar ou administrar servidores com Ansible, você deve instalar o servidor SSH e executar nos servidores. A porta SSH de servidores deve estar aberta e os servidores devem estar acessíveis a partir do host Ansible. Esse é o único requisito de usar Ansible.

Neste artigo, vou usar 4 máquinas virtuais (VMs) (2 Ubuntu Server 18.04 LTS VMS e 2 Debian 10 VMs) para demonstrar o básico do gerenciamento e administração do Ansible Server.

As 4 VMs são:

Linuxhint -F1A46 - 192.168.20.161
Linuxhint -8EE7A - 192.168.20.166
Linuxhint -S40 - 192.168.20.171
Linuxhint-S41- 192.168.20.170

Você pode usar os endereços IP dos servidores para gerenciá -los ou administrá -los com Ansible. Você também pode usar os nomes de DNS dos servidores também.

Neste artigo, usarei o /etc/hosts Arquivo para a resolução DNS dos endereços IP VMS.

Se você quiser acompanhar, abra seu /etc/hosts Arquivo com o VI Text Editor da seguinte forma:

$ sudo vi /etc /hosts

Agora, adicione as linhas marcadas na captura de tela abaixo e salve o arquivo.

Agora, gerar uma chave SSH no seu host Ansible Centos 8, da seguinte maneira:

$ ssh-keygen

Imprensa .

Imprensa .

Imprensa .

A chave SSH deve ser gerada.

Agora, você precisa fazer o upload da chave SSH para todos os servidores que deseja gerenciar com Ansible.

Para copiar a chave SSH para o VM1.Linuxhint.local Servidor, execute o seguinte comando:

$ ssh-copy-id [email protected]

Agora, digite sim e depois pressione .

Agora, digite a senha de login do VM1.Linuxhint.local Vm e pressione .

A chave SSH deve ser copiada.

Fazer a mesma coisa para o VM2.Linuxhint.local, VM3.Linuxhint.local e vm4.Linuxhint.local servidor.

$ SSH-COPY-ID [email protected]
$ SSH-COPY-ID [email protected]
$ SSH-COPY-ID [email protected]

Depois de copiar a chave SSH para as VMs, você poderá ser capaz de SSH sem nenhuma senha, como pode ver na captura de tela abaixo.

Agora, execute o seguinte comando em cada servidor para permitir o acesso do sudo sem senha para o usuário de login. Isso é necessário para o Ansible executar qualquer comando root.

$ echo "$ (whoami) all = (all) nopoasswd: all" | sudo tee /etc /sudoers.D/$ (WHOAMI)

Todos os servidores agora estão prontos para serem configurados ou gerenciados de Ansible.

Usando Ansible:

Ansible mantém uma lista de todos os hosts que ele gerencia em um arquivo chamado Arquivo de Inventário. O arquivo de inventário Ansible é apenas um arquivo de texto simples simples.

Vamos criar um novo diretório de projeto Ansible ~/Ansible/ Primeiro, depois criaremos nosso arquivo de inventário.

$ mkdir ~/Ansible

Agora, navegue para o ~/Ansible diretório.

$ CD ~/Ansible

Agora, crie um arquivo de inventário Ansible como segue. Você pode chamar este arquivo qualquer coisa. Eu vou chamá -lo anfitriões.

$ VI Hosts

Agora, você pode adicionar seus servidores da seguinte forma. Aqui, Ansible_user A opção é usada para definir o usuário que Ansible usará para executar comandos nesses servidores. Geralmente é o usuário de login do servidor.

Você também pode misturar endereços IP e nomes de DNS dos servidores no arquivo de inventário também.

Você também pode agrupar servidores. Aqui, eu tenho 2 grupos, servidor web e dbServer.

No servidor web grupo, eu adicionei VM1 e VM2 servidores. No dbServer grupo, eu adicionei VM3 e vm4 servidores.

Depois que o arquivo de inventário for criado, você pode usar o arquivo de inventário usando o -eu opção de Ansible.

Você pode listar todos os hosts do arquivo de inventário da seguinte forma:

$ Ansible -i Hosts -List -host

Você pode verificar se todos os hosts estão ativos da seguinte forma:

$ Ansible -i hosts -lista -hosts -m ping tudo

Como você pode ver, todos os hosts estão ativos.

Você também pode ping todos os hosts em um único grupo também.

$ Ansible -i Hosts -List -HOSTS -M Ping WebServer

Você pode executar comandos Shell usando Ansible da seguinte forma:

$ Ansible -i hosts -m shell -a 'comando'

Você também pode executar comandos de shell (com privilégios sudo) da seguinte forma.

$ Ansible -i hosts -b -become -method = sudo -m shell -a 'comando' | GrupoName>

Por exemplo, você pode atualizar o cache do repositório de pacotes apt nos hosts do WebServer Group usando Ansible da seguinte forma:

$ Ansible -i hosts -b -become -method = sudo -m shell -a 'apt update' webserver

Como você pode ver, o cache do repositório de pacotes apt é atualizado para todos os hosts no servidor web grupo.

Vamos tentar instalar o Apache 2 Web Server em todos os hosts do servidor web grupo.

$ Ansible -i hosts -b -become -method = sudo -m shell -a
'Apt Install -y Apache2' WebServer

O Apache WebServer deve ser instalado em todos os hosts do servidor web grupo.

Como você pode ver, o Apache Web Server está funcionando em todos os hosts em servidor web grupo.

$ Ansible -i hosts -b -become -method = sudo -m shell -a 'curl -si
http: // localhost 'web server

Da mesma maneira, você pode executar qualquer comando em todos os hosts em dbServer grupo.

$ Ansible -i hosts -m shell -a 'lsb_release -a' dbserver

Você também pode usar o Ansible Playbook para gerenciar seus servidores com mais facilidade. Ansible Playbook está fora do escopo deste artigo. Leia a documentação do Ansible para obter mais informações sobre o Ansible Playbook.

Obrigado por ler este artigo.