Ele suporta dois métodos para gerenciar máquinas remotas: comandos ad hoc e manuais de Ansible. Comandos ad hoc são comandos brutos que você pode executar no terminal para executar uma tarefa em uma única instância.
Ansible Playbooks, por outro lado, são arquivos escritos na linguagem YAML. Eles contêm um único ou um conjunto de tarefas executadas na máquina remota. Devido à natureza estrita da YAML, os manuais de Ansible exigem atenção cuidadosa na sintaxe geral.
Este tutorial irá guiar você pelo básico de escrever manuais de Ansible e executar comandos em máquinas remotas. Para as ilustrações deste guia, configuraremos um manual simples que instala e configura o Apache WebServer.
OBSERVAÇÃO: Este tutorial não tem o objetivo de ensinar a você Ansible. Tudo o que faz é fornecer dicas e diretrizes para escrever um manual Ansible.
Pré-requisitos
Para obter o valor máximo deste guia, recomendamos seguir em frente. A seguir são coisas que você precisa.
Depois de atender aos dois requisitos acima, podemos começar.
Como instalar Ansible no Debian/Ubuntu
O primeiro passo é garantir que tenhamos o Ansible instalado e funcionando em nossa máquina local. Eu estarei usando o Ubuntu para este tutorial.
Passo 1
Comece atualizando seu sistema usando os comandos abaixo:
Passo 2
Em seguida, use os comandos abaixo para instalar Ansible no Ubuntu.
Agora que o instalamos em sua máquina local, podemos proceder para configurá -la.
Como configurar o inventário Ansible
Para gerenciar os servidores remotos usando o Ansible, você precisa dizer Ansible sobre isso. Fazemos isso criando um arquivo de inventário que contém os endereços IP ou nomes de host das máquinas remotas.
Por padrão, o arquivo de inventário host está em/etc/Ansible/hosts.
Para saber como você pode criar um arquivo de inventário de host personalizado em Ansible, considere um de nossos tutoriais.
Edite o arquivo/etc/Ansible/hosts e adicione o endereço IP da sua máquina remota, como mostrado abaixo:
No exemplo de inventário acima, criamos um grupo de servidores (Linuxhint) que gerenciaremos neste tutorial. Você pode ter outros grupos, como servidores da web, Database_servers, etc.
Como configurar o par de chaves ssh
Ansible usa SSH para fazer login nas máquinas remotas especificadas e executa as tarefas definidas no manual. Portanto, para minimizar a interação e criar um fluxo de trabalho totalmente automatizado, é melhor criar um par ssh para fazer login na máquina remota.
Passo 1
O primeiro passo é gerar um par de chaves ssh é usar a ferramenta ssh-keygen. Use o comando como:
Isso irá solicitar interativamente para você gerar um par de chaves ssh. Para simplificar, aceite os padrões e não adicione uma senha.
A saída para isso está abaixo:
Passo 2
Em seguida, precisamos copiar a chave SSH para as máquinas remotas usando a ferramenta SSH-Copy-ID. Use o comando como:
A saída é como mostrado abaixo:
Para saber mais sobre como usar o comando ssh-copy-id, use isso: use o comando ssh cópia id.
Como escrever um manual Ansible
Como mencionei anteriormente, os manuais de Ansible usam YAML e, portanto, você precisa observar convenções sintáticas estritas.
Se você não estiver familiarizado com como escrever arquivos YAML, considere o tutorial neste link: Leia os valores dos arquivos YAML
Para se manter organizado, vamos criar um diretório onde vamos armazenar todos os nossos manuais.
CD ~Agora que criamos o diretório, vamos criar nosso primeiro manual Ansible (o arquivo deve terminar com .Extensão YAML.
teste Vim.YamlDentro do arquivo YAML, adicione o seguinte conteúdo.
---Salve o arquivo e execute -o no servidor usando o comando:
Teste Ansible-PlayBook.YamlO comando produzirá as informações sobre as interfaces de rede nas máquinas remotas, como mostrado na imagem abaixo:
Embora a saída não seja bonita e não forneça a maneira mais eficiente de coletar informações de rede usando Ansible, ele ilustra apropriadamente como podemos usar o Ansible para executar comandos em hosts remotos.
Como registrar variáveis em manuais Ansible
Para criar uma variável em um manual Ansible, usamos a palavra -chave Register seguida pelo nome da variável. Você também pode usar o nome da variável como a chave e definir seu valor usando a notação do cólon.
Por exemplo, duas maneiras de registrar uma variável em Ansible.
Registro: variável1Com a variável definida, você a usa chamando seu nome dentro de um conjunto de dois aparelhos encaracolados como:
'Chamando a variável variável1 dentro de uma string'Escalada de privilégios em Ansible
Ansible também permite que você atualize os privilégios de um usuário usando o se tornar. O método FEND é um valor booleano que especifica que as tarefas dentro do manual devem ser executadas como raiz.
Em nosso primeiro manual, definimos o TO TRUE e definimos o método de escalada de privilégios como sudo.
Apt Inside Playbooks
Ansible nos fornece maneiras de gerenciar pacotes APT no sistema baseado em Debian. Usando este método, você pode atualizar, instalar e desinstalar os pacotes usando o manual Ansible.
Considere a atualização.Arquivo YAML mostrado abaixo:
---Os manuais acima atualizam o cache do repositório. Isso corresponde a um comando bruto como:
Atualização de sudo apt-getIsso pode ser incrivelmente útil ao instalar software como Apache, Nginx, etc., Em um host remoto.
Exemplo de uso de uso
Esta seção criará um manual que instala um servidor da Web Apache no sistema Debian e executa a configuração básica.
Este manual mostra várias peças em movimento de Ansible e fornecerá um bom exemplo de como os manuais de Ansible funcionam.
Comece criando o arquivo YAML.
vim config_apache.YamlDentro do YAML, insira o seguinte manual.
---Salve o arquivo e execute -o no servidor remoto usando o comando:
Ansible-playbook --User = "Ubuntu" Config_apache.YamlApós a execução bem -sucedida, você verá na saída como mostrado.
Confirme que o servidor está em execução usando o CURL como:
Curl 192.168.0.13Você deve obter o código -fonte do Apache padrão (snippet mostrado abaixo).
E com isso, concluímos este tutorial.
Conclusão
É bom observar que a funcionalidade de escrever manuais dependerá fortemente das tarefas que você precisa executar. No entanto, espero que este tutorial tenha dado algumas diretrizes e dicas para criar uma de suas próprias.
Feliz automação!