Como instalar e configurar Ansible no Debian 10

Como instalar e configurar Ansible no Debian 10

Ansible é uma ferramenta de automação gratuita e fácil de usar para gerenciar vários hosts remotos da máquina única. Ele fornece uma configuração fácil para um grande número de hosts remotos. Por exemplo, você está executando as mesmas tarefas em várias máquinas, Ansible fornece a opção de automatizar essas tarefas.

Ansible é uma alternativa melhor das outras ferramentas populares de automação de infraestrutura disponíveis, como chef e fantoche. Você não precisa instalar nenhum software cliente em nós para gerenciar através do Ansible Server. Ele usa a conexão SSH para executar tarefas nos hosts.

Este tutorial ajudará você a instalar e configurar o Ansible nos sistemas Linux do Debian 10 Linux.

Pré -requisitos

Para este tutorial, tenho os seguintes hosts:

  • Um nó de controle - Para construir seu infra com Ansible, você precisa de um nó de controle onde o servidor Ansible será executado. Isso é conhecido como nó de controle Ansible.
  • Um ou mais hosts - Temos três hosts executando com diferentes sistemas operacionais.
    • Dois anfitriões com o Ubuntu 20.04 LTS
    • Um anfitrião com o CentOS 8

Etapa 1 - Configure as chaves SSH

O nó de controle Ansible usa conexão SSH para conectar hosts. Você pode configurar o Ansible para conectar hosts usando a senha ou acesso SSH baseado em chaves. Neste tutorial, usaremos os tipos (senha e ssh baseados em chave) para conectar hosts do nó de controle.

Faça login no nó de controle ANSIBLE e gera par de chaves SSH (se não for gerado):

ssh -keygen -t rsa  

Basta pressionar "Enter" para toda a entrada solicitada pelo comando.

Em seguida, copie a chave pública para os hosts remotos, você precisa se conectar via chaves baseadas em chave:

SSH-COPY-ID -I ~//.ssh/id_rsa.Pub [Email Protected]  SSH-COPY-ID -I ~//.ssh/id_rsa.Pub [Email Protected]  

Etapa 2 - Instalando Ansible no Debian

Os pacotes do Ansible Debian estão disponíveis no repositório oficial do APT. Você só precisa adicionar o PPA ao seu sistema. Use o seguinte comando para adicionar o Ansible Debian Repository ao seu sistema:

sudo apt-add-repositório PPA: Ansible/Ansible  

O utilitário de atualização de software atualizará o cache dos pacotes em seu sistema. Então você tem que executar o seguinte comando para instalar ou atualizar Ansible em seu sistema Debian

Atualização do sudo apt  sudo apt installible  

Pressione 'y' para toda a confirmação de instalação para concluir o processo de instalação. Em seguida, você precisa configurar o Ansible Server

Etapa 3 - Crie arquivo de inventário

Você instalou o Ansible Server em seu nó de controle.

Agora, você precisa adicionar os hosts ao servidor Ansible. Ansible permite gerenciar hosts no formulário em hosts e grupos. Os grupos são usados ​​para executar uma tarefa em todos os hosts remotos definidos sob ele.

Um único host pode ser adicionado a vários grupos. Editar Arquivo de Configuração Ansible Hosts. Por exemplo:

sudo nano/etc/Ansible/hosts  

Adicione seus hosts e organize -os com grupos:

[WebServers] web-host1 web-host2 [dbservers] db-host1 [ubuntu] web-host1 db-host1 [centos] web-host2 

A imagem abaixo ajudará você a entender o grupo e os hosts sob um grupo.

Por configuração do host

Você pode criar arquivos de configuração para hosts individuais. Todo o arquivo de configuração de hosts reside em/etc/Ansible/Host_vars Directory com o mesmo nome HostName.

sudo mkdir/etc/Ansible/host_vars/  sudo vi/etc/Ansible/host_vars/web-host1  
  • 1'ST Host -/etc/Ansible/Host_vars/Web -Host1
    Ansible_ssh_host: 10.0.1.101 Ansible_ssh_port: 22 Ansible_ssh_user: raiz 
  • 2'nd host -/etc/Ansible/Host_vars/web -host2
    Ansible_ssh_host: 10.0.1.102 ANSIBLE_SSH_PORT: 22 ANSIBLE_SSH_USER: ROOT 
  • 3'rd host -/etc/Ansible/host_vars/db -host1
    Ansible_ssh_host: 10.0.1.103 ANSIBLE_SSH_PORT: 22 ANSIBLE_SSH_USER: ROOT 
  • Caso você não tenha usado a Etapa 1 para a conexão SSH para este host. Você também pode adicionar um dos métodos abaixo ao arquivo de configuração da Web-HOSTS1 para a autenticação.

    Ansible_ssh_pass: secret_password Ansible_ssh_private_key_file:/home/rahul/.SSH/AWS.PEM 

    Configuração do Grupo VARS

    Você pode definir configurações variáveis ​​comuns de um grupo em configurações de grupo. O nome do arquivo do grupo deve ser o mesmo que o nome do grupo (por exemplo: servidores da web) em group_vars diretório.

    sudo mkdir/etc/Ansible/group_vars  sudo vi/etc/apsible/group_vars/web servidores  

    Adicione as variáveis ​​comuns a este arquivo usado por todos os hosts adicionados neste grupo.

    Ansible_ssh_port: 22 Ansible_ssh_user: raiz 

    Etapa 4 - Testando a conexão Ansible

    Seu Ansible está pronto para usar. Para testar todos os nós conectividade, use o módulo de ping. Faça login no seu servidor Ansible e execute o seguinte comando:

    Ansible -m ping tudo  

    Você também pode testar a conectividade para o host ou grupos específicos.

    Ansible -m ping web -host1  ## host específico  Ansible -M Ping Web Servers  ## Grupo específico  

    Você também pode executar qualquer comando Linux usando o módulo de shell Ansible. Por exemplo, execute o comando abaixo para testar a memória livre no web-host1.

    Ansible -m shell -a 'free -m' web -host1  

    Você também pode executar a mesma tarefa para um grupo. Basta usar o nome do grupo em vez do nome do host.

    Conclusão

    Neste tutorial, você aprendeu a instalar e configurar Ansible no Debian 10 Linux System.