Ansible usa uma abordagem agentless para gerenciar configurações, o que significa que não é necessário instalar um agente de software em seus sistemas para serem gerenciados. Além disso, Ansible pode ser executado em qualquer sistema operacional que suporte Python.
O Ansible usa uma abordagem de desenvolvimento de código declarativo para criar e gerenciar configurações. Isso significa que, em vez de escrever scripts para automatizar tarefas, os usuários definem o estado desejado dos sistemas e Ansible torna a realidade. O Ansible fornece uma linguagem de modelagem de dados, chamada YAML. Com ela é possível escrever os playbooks que são usados para definir o estado desejado dos sistemas.
Além de configurar sistemas e implantar aplicativos, o Ansible também pode provisionar recursos de nuvem. Ele tem integrações nativas com várias plataformas de nuvem, incluindo AWS, Azure, Google Cloud Platform e OpenStack; e pode também ser usado para gerenciar contêineres, como Docker e Kubernetes.
Qual é a arquitetura do Ansible?
O Ansible é uma ferramenta de automação de ambiente de TI que permite que os administradores de TI provisionem, configurem e gerenciem computadores de forma eficiente.
O Ansible usa um conjunto de módulos que são escritos majoritariamente na linguagem de scripting Python e são executados em um controlador remoto para gerenciar os sistemas. Embora os módulos possam ser escritos em qualquer linguagem, todos os módulos oficiais (fornecidos com o Ansible) usam Python ou PowerShell.Os módulos são executados em sequência e podem ser combinados para automatizar tarefas complexas.
Os módulos do Ansible são scripts autônomos que podem ser usados dentro de um playbook do Ansible. Explicaremos o que é playbook na sequência.
O Ansible tem várias vantagens sobre as outras ferramentas de automação de TI, incluindo a simplicidade de uso, a flexibilidade e a eficiência. O Ansible não requer que os administradores de TI tenham conhecimento avançado de programação para usá-lo. Além disso, o Ansible é compatível com vários sistemas operacionais, o que permite que os administradores de TI automatizem tarefas em diferentes tipos de sistemas.
O Ansible também é extremamente eficiente. Como os módulos são executados em sequência, o Ansible pode automatizar tarefas que levam muito tempo se fossem executadas manualmente. Além disso, o Ansible pode ser executado em vários sistemas ao mesmo tempo, o que permite que os administradores de TI automatizem tarefas em vários sistemas ao mesmo tempo.
O Ansible usa um agente chamado “Ansible Controller” para se comunicar com os nodes. O Ansible Controller é responsável por gerenciar as tarefas e as configurações nos nodes. Ele envia comandos para os nodes através do protocolo SSH. O Ansible não requer que um agente esteja instalado nos nodes, pois ele pode se comunicar diretamente com os nodes através do SSH.
Transforme-se em um profissional DevOps requisitado pelo mercado.
Conheça nossa Assinatura de Cursos DevOps:
Composta por
4 cursos
+120 horas de conteúdo
1 ano de acesso à plataforma
Acesso imediato aos cursos
Com 2 principais vantagens:
- Única plataforma de curso com cursos práticos e aula ao vivo.
- Única escola que também implementa projeto trazendo a experiência para sala de aula.
O que é um Ansible Playbook?
Os Playbooks do Ansible são um conjunto de instruções que especificam como um determinado sistema deve ser configurado ou gerenciado. Eles podem ser usados para automatizar tarefas simples ou complexas e podem ser facilmente compartilhados entre equipes de operações.
Os Playbooks são escritos em YAML, um formato de texto simples que é fácil de ler e de escrever. Cada Playbook consiste em um conjunto de chamadas de ação, que especificam o que o Ansible deve fazer em cada etapa. As ações são executadas em ordem, e os resultados da execução de cada ação são usados como entrada para as ações subsequentes.
Os Playbooks do Ansible podem ser executados localmente em um sistema ou remotamente em vários sistemas ao mesmo tempo. Eles também podem ser chamados a partir de outros Playbooks, permitindo a criação de Playbooks complexos e flexíveis.
Um exemplo de uso prático dos Playbooks do Ansible é quando você precisa fazer uma alteração em vários servidores. Em vez de fazer a alteração manualmente em cada servidor, você pode escrever um Playbook que fará a alteração para você. Em seguida, basta executar o Playbook em todos os servidores que você deseja atualizar.
Como o Ansible gerencia os arquivos de configuração?
Os arquivos de configuração Ansible são código YAML, que são facilmente legíveis por SysAdmins com pouco conhecimento em programação. Cada seção em um arquivo de configuração Ansible representa um host ou um grupo de hosts. As seções são identificadas pelo nome do host ou do grupo. Cada seção contém uma lista de tarefas a serem executadas no host ou grupo de hosts. Cada tarefa é representada por um bloco de código YAML.
O Ansible funciona simultaneamente em vários nós gerenciados ou “hosts”, usando uma lista ou grupo de listas conhecido como inventário.
Estas listas ou grupo de listas onde o Ansible gerencia os arquivos de configuração dos hosts são armazenados em um diretório chamado /etc/ansible/hosts. Este diretório pode conter vários arquivos de configuração, cada um representando um host ou um grupo de hosts. O Ansible fornece um comando chamado ansible-playbook, que pode ser usado para executar vários arquivos de configuração Ansible em sequência.
O Ansible também fornece um comando chamado ansible-galaxy, que pode ser usado para instalar conjuntos de tarefas Ansible pré-configurados. Estes conjuntos de tarefas são chamados de roles e podem ser usados para configurar vários hosts de uma só vez. O Ansible Galaxy também fornece um repositório on-line de roles que podem ser instalados usando o comando ansible-galaxy.
Para a gerência de configuração de arquivos, o Ansible atua sobre o sistema de arquivos, permitindo que sejam criados, modificados e deletados arquivos e diretórios. Além da cópia de arquivos e diretórios, ainda é possível fazer o download de arquivos de um servidor remoto usando o comando fetch.
Conheça nos botões abaixo as diferenças entre o Ansible Automation Platform e Ansible Tower e os principais casos de uso e os comandos mais utilizados.