Como executar o Ansible na máquina virtual do Ubuntu

Neste blog, aprenderemos como executar o ansible em uma máquina virtual ubuntu. Também aprenderemos algumas dicas e truques para tornar nossa experiência com o ansible mais agradável.

Como executar o Ansible na máquina virtual do Ubuntu

Introdução

Ansible é uma ferramenta de gerenciamento de configuração, implantação e orquestração. Ele usa SSH para comunicação entre nós.

Portanto, não há necessidade de instalar nenhum agente nos nós. Podemos usar playbooks para escrever processos de automação no Ansible.

Este guia ajudará você a instalar o Ansible nos sistemas Ubuntu 18.04 LTS e 16.04 LTS.

Configurando o Ansible no Ubuntu

Ansible é um sistema de gerenciamento de configuração que automatiza a configuração do servidor, implantação de aplicativos e gerenciamento de tarefas.

É uma ferramenta simples, mas poderosa, que pode simplificar muito as tarefas de gerenciamento de configuração.

Neste guia, mostraremos como instalar o Ansible em um ubuntu 18.04 e gerencie as configurações do servidor com ele.

Instalando o Ansible no Ubuntu 18.04 Server#

  • Para instalar o Ansible em nosso servidor Ubuntu, primeiro precisamos instalar alguns pacotes de pré-requisito. Podemos fazer isso com o comando apt:
    sudo apt update
    sudo apt install software-propriedades-comum
  • Em seguida, adicionaremos o repositório Ansible à nossa lista de fontes: sudo apt-add-repository ppa:ansible/ansible
  • Pressione ENTER para continuar quando solicitado. Finalmente, podemos instalar o próprio pacote Ansible com apto: sudo apt install ansible -y
  • ansible --version 2.7 deve ser exibido indicando uma instalação bem-sucedida

Configurando contas de usuário Ansible

Por padrão no Ubuntu, apenas usuários privilegiados (usuários com acesso sudo) podem executar playbooks Ansible.

No entanto, para facilitar o uso, você pode querer executar playbooks como uma conta de usuário regular em vez de usar o sudo o tempo todo.

Há duas maneiras de fazer isso - você pode criar uma nova conta de usuário especificamente para executar playbooks ou pode usar sua conta de usuário existente se ela tiver privilégios sudo.

Neste guia, mostraremos como configurar os dois métodos para que você possa escolher qual é o mais adequado para suas necessidades

Executando o Ansible no Ubuntu


Ansible é uma ferramenta de gerenciamento de configuração usada para gerenciar configurações de servidor, implantar aplicativos e automatizar tarefas.

Também criaremos um Playbook simples para implantar um site HTML estático. Os playbooks do Ansible são escritos no Formato de serialização de dados YAML e definem um conjunto de tarefas a serem executadas em um host remoto ou em um grupo de hosts remotos.

Antes de começarmos, certifique-se de ter o Ansible instalado em seu sistema local. Caso contrário, você pode seguir nosso guia sobre Como instalar o Ansible no CentOS 7.

Playbooks Ansible


Playbooks Ansible são um sistema de configuração e implantação de vários nós. Eles podem descrever uma política que você deseja que seus sistemas remotos apliquem ou um conjunto de etapas em um processo geral de TI.

Se os módulos Ansible são as ferramentas da sua caixa de ferramentas, os playbooks são a sua caixa de ferramentas. E, como suas ferramentas elétricas favoritas, os playbooks do Ansible podem ficar bastante complicados quando crescem além de algumas dezenas de linhas.

A boa notícia é que existem algumas práticas recomendadas sólidas que você pode seguir para manter seus playbooks Ansible limpos, secos e reutilizáveis. Neste post, abordaremos 9 dicas para criar playbooks Ansible melhores.

  1. Mantenha seus Playbooks curtos e agradáveis
    Isso pode parecer óbvio, mas vale a pena repetir: quanto mais curto e simples for o seu manual, mais fácil será de ler e manter. os playbooks de propósito único do shoter são mais fáceis de solucionar do que os monolíticos longos. Em caso de dúvida, divida as tarefas relacionadas em playbooks separados e inclua-os como funções ou como importações em seu playbook principal.
  2. Escrever tarefas idempotentes
    Uma tarefa idempotente é aquela que tem o mesmo efeito, seja executada uma vez ou cem vezes. Isso pode parecer uma coisa estranha de se almejar, mas as tarefas idempotentes são importantes porque podem ser executadas repetidamente sem nenhum efeito colateral adverso.
    Por exemplo, digamos que você tenha uma tarefa que instala um determinado pacote de software em todos os seus servidores. Se a tarefa for idempotente, executá-la várias vezes no mesmo servidor terá o mesmo efeito de executá-la uma vez: o pacote será instalado (ou, se já estiver instalado, nada acontecerá). Por outro lado, se a tarefa não for idempotente, executá-la novamente instalará duas cópias do pacote de software (ou pior).
  3. Use Inclui com sabedoria
    Incluir arquivos permite organizar tarefas relacionadas em unidades lógicas que podem ser reutilizadas em outros playbooks ou incluídas diretamente em execuções. Você pode pensar neles como blocos de construção para playbooks maiores
    Embora as inclusões possam ser muito úteis, elas devem ser usadas com moderação — muitos arquivos incluídos podem dificultar o acompanhamento de um manual. Uma boa regra é usar includes apenas quando precisar reutilizar tarefas em mais de um local; se você estiver incluindo tarefas em apenas um playbook, provavelmente é mais fácil incorporá-las diretamente nas peças em que são usadas
    Papéis Ansible

    As funções do Ansible consistem em muitos playbooks, que são semelhantes aos módulos do Puppet. A maior vantagem das funções Ansible é que é muito mais fácil reutilizar o código e agendar as tarefas. Neste capítulo, veremos como criar e usar funções Ansible com exemplos.

As funções são a maneira de agrupar todos os playbooks e outros arquivos relacionados em um só lugar para que possam ser reutilizados.

Pode-se colocar todas as execuções da instalação do MySQL em uma função e todas as execuções da instalação do Apache em outra função.

Tudo o que você precisa é chamar essas funções em site.yml para instalar o MySQL e o Apache. Como essas duas funções são independentes, elas podem ser executadas paralelamente sem nenhum problema, pois não dependem uma da outra.

Galáxia Ansible


Se você deseja instalar uma função Ansible em sua máquina virtual Ubuntu, pode usar a ferramenta Galaxy CLI. Essa ferramenta permitirá que você pesquise funções, instale-as e até mesmo crie as suas próprias.

Primeiro, você precisará certificar-se de que possui a versão mais recente do Ansible instalada. Você pode fazer isso executando o seguinte comando:

  • $ atualização sudo apt
  • $ sudo apt instalar software-propriedades-comum
  • $ sudo apt-add-repository --yes ppa:ansible/ansible
  • $ atualização sudo apt
  • $ sudo apt instalar ansible

Após a instalação do Ansible, você pode começar a usar o Galaxy CLI. A primeira coisa que você precisa fazer é criar um arquivo chamado “requirements.yml” em seu diretório de trabalho atual. Este arquivo conterá uma lista de todas as funções que você deseja instalar.

Por exemplo, se você quiser instalar a função “nginx”, seu arquivo requirements.yml ficaria assim:

- src: geerlingguy.nginx versão: v1.0.0

Após a criação de requirements.yml, você pode usar o seguinte comando para instalar todas as funções listadas no arquivo:

$ ansible-galaxy install -r requirements.yml

Ansible Vault


O Ansible Vault é um recurso do Ansible que permite manter dados confidenciais, como senhas ou chaves privadas, em arquivos criptografados, em vez de texto simples em playbooks ou funções. Esses arquivos de cofre podem ser distribuídos ou colocados no controle de origem.

Para usar o Ansible Vault, você precisa criar um arquivo vault. Isso pode ser feito com o comando ansible-vault create:

$ ansible-vault cria myvault.yml

Você será solicitado a fornecer uma senha para criptografar o arquivo. Depois que o arquivo é criado, você pode editá-lo como qualquer outro arquivo YAML. Quando terminar, você pode criptografar o arquivo novamente com o comando ansible-vault encrypt:

$ ansible-vault criptografar myvault.yml

O arquivo será criptografado com a mesma senha que você usou para criá-lo. Para editar um arquivo criptografado, você deve fornecer a senha usando o –perguntar-cofre-passar ou –opções de arquivo de senha do vault:

$ ansible-vault edit --ask-vault-pass myvault.yml

Conclusão

Agora que você sabe como executar o Ansible em uma máquina virtual Ubuntu, pode começar a automatizar suas tarefas de infraestrutura.

Se precisar de mais ajuda, confira a documentação do Ansible.

Português do Brasil