Como instalar e configurar Ansible no Redhat Enterprise Linux 8

Como instalar e configurar Ansible no Redhat Enterprise Linux 8

Este tutorial abrange a instalação e a configuração do Ansible no Redhat Linux 8.
Ansible é o principal sistema de gerenciamento de configuração de código aberto. Isso facilita para os administradores e equipes de operações controlar milhares de servidores da Machine Central sem instalar agentes.

Neste tutorial, você aprenderá:

  • Visão geral Ansible
  • Instale e configure o Python
  • Defina ssh sem senha
  • Instale Ansible
  • Testando e gerenciando o Ansible

Arquitetura Ansible.

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Red Hat Enterprise Linux 8
Programas Python3, Ansible
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Visão geral Ansible

Ansible é um mecanismo de automação de TI radicalmente simples que automatiza o provisionamento em nuvem, gerenciamento de configuração, implantação de aplicativos, orquestração intra-serviço e muitas outras necessidades.



Projetado para implantações de várias camadas desde o primeiro dia, Ansible modela sua infraestrutura de TI descrevendo como todos os seus sistemas se inter-relacionam, em vez de apenas gerenciar um sistema de cada vez.

Ele não usa agentes nem infraestrutura de segurança personalizada adicional, por isso é fácil de implantar - e o mais importante é que ele usa uma linguagem muito simples (YAML, na forma de manuais de Ansible) que permitem que você descreva seus trabalhos de automação de uma maneira que se aproxima Inglês simples. Ansible funciona conectando -se aos seus nós e empurrando pequenos programas, chamados "módulos ansible" para eles.
Esses programas são escritos para serem modelos de recursos do estado desejado do sistema. Ansible então executa esses módulos (acima do ssh por padrão) e os remove quando terminar.

Sua biblioteca de módulos pode residir em qualquer máquina e não há servidores, daemons ou bancos de dados necessários. Normalmente, você trabalhará com seu programa de terminal favorito, um editor de texto e provavelmente um sistema de controle de versão para acompanhar as alterações em seu conteúdo.

Instale e configure o Python

A versão padrão do Python no Rhel 8 é o Python 3.6. Mas o Python 2 permanece disponível no Rhel 8. Se por algum motivo Python 3.6 está faltando na instalação do Red Hat Enterprise Linux 8, você precisará instalá -lo manualmente.

Python 3.6 pode ser instalado no RHEL 8 executando o comando abaixo no seu terminal. O Python precisa ser instalado no servidor Ansible e em todos os hosts/clientes onde ele se conectará.



# yum instalar repositórios de gerenciamento de assinatura de atualização do python3. Atualizando repositórios de gerenciamento de assinaturas. Última expiração de metadados verificação: 8:59:59 atrás no sol 03 de fevereiro de 2019 23:20:51 +04. Dependências resolvidas. =================================================== =================================================== =================================================== Pacote Arco Versão do Repositório Tamanho ============================================== =================================================== =================================================== ===== Instalando: Python36 x86_64 3.6.6-17.EL8+2102+A4BBD900 RHEL-8-FOR-X86_64-APPSTREAM-BETA-RPMS 22 K Fluxos de habilitação: Python36 3.6 Resumo da transação ================================================ =================================================== =================================================== === Instale 1 pacote Tamanho total do download: 22 K Tamanho instalado: 22 k está ok [S/N]: Y Download Pacotes: Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM 6.0 kb/s | 22 KB 00:03 --------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- ----- Total 6.0 kb/s | 22 KB 00:03 Aviso:/var/cache/dnf/rhel-8-for-x86_64-appstream-beta-rpms-64aba9de5ea7e089/packages/python36-3.6.6-17.EL8+2102+A4BBD900.x86_64.RPM: Cabeçalho V3 RSA/SHA256 Assinatura, ID da chave F21541EB: Nokey Red Hat Enterprise Linux 8 para x86_64 - Appstream Beta (RPMS) 3.2 kb/s | 3.3 kb 00:01 Importando a chave GPG 0xf21541EB: UserID: "Red Hat, Inc. (Chave beta 2) "Impressão digital: B08B 659E E86A F623 BC90 E8DB 938A 80CA F215 41EB de:/etc/pki/rpm-gpg/rpm-gpg-key-Rredhat-beta este ok [y/n]: y… : Python36-3.6.6-17.EL8+2102+A4BBD900.x86_64 completo! 

Para usar o Python 3, basta digitar Python3 no terminal.

Você deveria ter notado que, para usar o python 3, o comando é python3 e python2 para python 2. E se seus aplicativos estiverem configurados para se referir ao Python, que não está disponível em todo o sistema. Você receberá o erro de bash abaixo.

# python -bash: python: comando não encontrado 

Você pode usar o mecanismo de alternativas para permitir o sistema de comando python não versado em todo o sistema e defini-lo como uma versão específica. Para definir o Python 3 como padrão, execute o seguinte comando.



# alternativas -Python/usr/bin/python3

A execução do Python -V deve mostrar a versão Python padrão configurada:

#python -v python 3.6.6 

Ou iniciando o console do Python:

# python python 3.6.6 (padrão, 16 de outubro de 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] no tipo Linux "Ajuda", "Copyright", "Créditos" ou "Licença" para obter mais informações. >>> 

Defina ssh sem senha

Crie o usuário Ansible Em todos os hosts:

# userAdd Ansible; eco "" | Passwd - -Stdin Ansible

Faça a entrada necessária no arquivo sudoers /etc/sudoersPara Ansible User para acesso sudo sem senha:

Ansible all = (all) NoPasswd: todos 
cópia de

Agora gere a chave SSH no servidor Ansible:



$ ssh-keygen generating público/privado RSA Par de chave. Digite o arquivo para salvar a chave (/home/Ansible//.ssh/id_rsa): diretório criado '/home/Ansible//.ssh '. Digite a senha (vazia sem senha): Digite a mesma senha novamente: Sua identificação foi salva em/home/Ansible//.ssh/id_rsa. Sua chave pública foi salva em/home/Ansible/.ssh/id_rsa.bar. A principal impressão digital é: sha256: wnt/uneprkrv+hhv/djgtexk2bjogvpbr9ygxm2em Ansible@RHEL8-Ansible-Server A imagem aleatória da chave é:+--- [RSA 2048] ----+| | | . | | o e o | | + * + o | | . S * o * | | . += + + | | == O@ +.| | Oboo+= | | +o ++*bb | +---- [SHA256]-----+ 

Copie -o para servidores remotos como usuário Ansible:

$ SSH-COPY-ID ANSIBLE@RHEL8-ANSIBLE CLIENT/USR/BIN/SSH-COPY-ID: Info: Fonte de chave (s) a ser instalada: "/home/Ansible/.ssh/id_rsa.Pub "A autenticidade do host 'RHEL8-ANESSIBLE-Client (192.168.1.109) 'não pode ser estabelecido. A impressão digital da ECDSA é sha256: e+nfcek/kvnignwdhgfvikhjbwwghiijjkfjygr7nki. Tem certeza que deseja continuar se conectando (sim/não)? Sim/usr/bin/ssh-copy-id: informações: tentando fazer login com a nova (s) chave (s), para filtrar qualquer um que já esteja instalado/usr/bin/ssh-copy-id: info: 1 key (chave s) permanecem instalados-se você for solicitado agora, é para instalar a nova senha do Chays Ansible@Rhel8-Ansible-Client: Número de chaves adicionadas: 1 Agora tente fazer login na máquina, com: "ssh ' Ansible@RHEL8-ANESBLEL-Client '"e verifique se apenas as chaves que você queria foram adicionadas. 


Instale Ansible

Depois que o Python for instalado, prossiga para instalar o PIP, que é um gerenciador de pacotes do Python que usaremos para instalar o Ansible:

# yum -y Instale os repositórios de gerenciamento de assinatura de atualização do Python3 -PIP. Atualizando repositórios de gerenciamento de assinaturas. Última expiração de metadados verificação: 9:03:18 atrás no sol 03 de fevereiro de 2019 23:20:51 +04. Pacote python3-pip-9.0.3-4.EL8.Noarch já está instalado. Dependências resolvidas. Nada para fazer. Completo! 

Uma vez que temos pip3 Instalado, use -o para instalar o Ansible no sistema de gerenciamento Ansible como usuário Ansible.

$ pip3 Instale Ansible --user

Você pode ver o Ansible instalado usando o seguinte comando:

$ Ansible -Version Ansible 2.7.6 Arquivo de configuração = nenhum caminho de pesquisa de módulo configurado caminho = ['/home/Ansible//.Ansible/plugins/módulos ','/usr/share/Ansible/plugins/módulos '] Ansible Python Module Localização =/Home/Ansible/.Local/lib/python3.6/Packages do local/Ansible Executável Localização =/Home/Ansible//.Local/Bin/Ansible Python Versão = 3.6.6 (padrão, 16 de outubro de 2018, 01:53:53) [GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] 

Teste e gerenciamento

Crie o arquivo de inventário Ansible, o padrão é /etc/Ansible/hosts Mas você pode copiar o arquivo hosts no diretório inicial do usuário Ansible. Você também pode criar um grupo de hosts remotos, como abaixo no arquivo hosts.

 [Web] 192.168.1.105 [dB] 192.168.1.107 [APP] 192.168.1.108 192.168.1.109 192.168.1.110 
cópia de

Você pode usar o módulo de ping para testar Ansible e, após uma execução bem -sucedida, você pode ver a saída abaixo.

$ Ansible -i hospeda 192.168.1.109 -M Ping 192.168.1.109 | Sucesso => ​​"alterado": false, "ping": "pong" 


A opção -i é usada para fornecer caminho para o arquivo de inventário. Você deve obter a mesma saída para o nome do grupo "App".

$ Ansible -i Hosts App -M Ping 192.168.1.108 | Sucesso => ​​"alterado": false, "ping": "pong" 192.168.1.109 | Sucesso => ​​"alterado": false, "ping": "pong" 192.168.1.110 | Sucesso => ​​"alterado": false, "ping": "pong" 

Conclusão

A simplicidade e capacidade de Ansible de diminuir a complexidade de outras ferramentas o tornaram um candidato confiável para o seu ambiente. Sua principal preocupação é sobre segurança e confiabilidade. Ele usa o OpenSsh para o transporte, e o idioma é projetado em torno da auditabilidade, mesmo aqueles que não estão familiarizados com o programa. Ansible é adequado o suficiente para gerenciar pequenas configurações com um punhado de instâncias, bem como os ambientes corporativos.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Coisas para instalar no Ubuntu 22.04
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes
  • Download do Linux
  • Linux pode obter vírus? Explorando a vulnerabilidade do Linux…
  • Mastering Bash Script Loops
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Lista das melhores ferramentas Kali Linux para testes de penetração e…