Ansible

O que é o Ansible?

O Ansible é uma ferramenta de automação de código aberto que configura e mantém servidores a partir de instruções em texto simples. É desenvolvido pela Red Hat, que vende uma versão com suporte.

Fale com um engenheiro Base de conhecimento
Fileiras de racks de servidores pretos com luzes de status em um data center

O que é

Um administrador escreve um playbook, um arquivo YAML que lista o estado em que cada servidor deve estar: quais pacotes estão instalados, quais usuários existem, o que um arquivo de configuração contém, quais serviços estão em execução. O Ansible lê o playbook e faz cada servidor corresponder a ele.

Ele não usa agente. Nada precisa ser instalado nos servidores que ele gerencia; o Ansible se conecta a cada um por SSH, do mesmo jeito que um administrador entraria em um servidor Linux, e executa pequenos programas ali. A maioria desses programas é escrita em Python, então os servidores precisam ter o Python disponível.

As execuções são idempotentes. Se um servidor já corresponde ao playbook, o Ansible não mexe nele e informa que não houve mudanças, de modo que o mesmo playbook pode ser executado de novo com segurança para verificar um desvio de configuração ou corrigi-lo.

As peças principais

  • Inventário: a lista de servidores que o Ansible gerencia, agrupados por função ou local, por exemplo servidores web e servidores de banco de dados.
  • Playbooks: os arquivos YAML que descrevem o que fazer em cada grupo.
  • Roles: pacotes reutilizáveis de tarefas, como uma configuração padrão de firewall, que vários playbooks podem compartilhar.

O que uma empresa ganha com ele

  • Servidores consistentes: todo servidor construído a partir do mesmo playbook acaba configurado do mesmo jeito.
  • Mudanças revisadas: os playbooks são arquivos de texto, então podem ficar no Git, onde cada alteração é registrada e pode ser revisada antes de ser executada.
  • Reconstruções mais rápidas: um servidor que falhou pode ser substituído e reconfigurado a partir do playbook, e não de memória.

Ansible e Terraform

Os dois costumam ser usados juntos. O Terraform cria a infraestrutura, como máquinas virtuais, redes e contas de nuvem. O Ansible então configura o que roda nessas máquinas. As funções se sobrepõem um pouco, mas essa é a divisão habitual.

Como a KawaConnect trabalha com automação de configuração

Administramos servidores Ubuntu, Debian e da família RHEL e mantemos a infraestrutura como código em controle de versão. Os clusters Kubernetes são operados com GitOps, em que a configuração do cluster fica em um repositório Git. Manter a configuração em arquivos, e não na cabeça de alguém, significa que uma construção pode ser repetida e que toda alteração tem registro.

Serviços relacionados

Suporte a servidores Linux

Administração de servidores Ubuntu, Debian e da família RHEL.

Consultoria em Kubernetes

Clusters cuja configuração fica guardada no Git.

Consultoria em Proxmox

As máquinas virtuais em que muitos servidores rodam.

Saiba mais

  • Documentação do AnsibleOs guias oficiais e a referência de módulos para escrever inventários, playbooks e roles.
  • Site do AnsibleO site da Red Hat para o Ansible, que cobre o projeto de código aberto e o Ansible Automation Platform com suporte.
  • Ansible na WikipediaUma visão geral neutra de como o Ansible funciona e de como passou a fazer parte da Red Hat.

Servidores configurados à mão?

Conte como seus servidores são construídos e alterados hoje. Mostramos o que seria preciso para manter essa configuração em arquivos.

Inicie uma conversa