ANSIBLE – Instalação, inventário, playbooks


E aehh galera!!!

Bom, começei a estudar o Ansible, segue aí minhas anotações. Qualquer dúvida ou contribuição, só mandar nos comentários.

1. Instalação do Ansible

Infraestrutura de estudo utilizada neste Lab:
S.O: Ubuntu 16.04 – 64-bit para todos os servidores

AnsibleControl-01 -> Onde será instalado o Ansible. Será o servidor de administração do ambiente. O Ansible vai ser instalado apenas neste servidor.
APP-01 -> Webserver (Apache ou Nginx).
DB-01 -> Banco de dados
LB-01 – Loadbalancer

1.1. Documentação – Página de instalação do Ansible

http://docs.ansible.com/ansible/latest/intro_installation.html

1.2. Instalação do repositório PPA do Ansible, update do repositório e instalação do Ansible

Logado no servidor de controle ansiblecontro-01, execute os passos para instalação do reposítório e Ansible.

# apt-get install software-properties-common
# apt-add-repository ppa:ansible/ansible
# apt-get update
# apt-get install ansible

Verifique a versão do Ansible.

# ansible --version
# ansible-playbook --version

2. Inventários

Inventário no Ansible entende-se como todos os servidores/hosts que serão genrenciados pelo Ansible.

Por padrão, seu invetário de hosts é definido no arquivo “/etc/ansible/hosts”.

Você pode criar grupos de hosts ou simplesmente criar uma lista de hosts sem qualquer grupo.

Exemplos:
Sem grupos

# cat /etc/ansible/hosts

lb-01.devopslab.com.br
app-01.devopslab.com.br
db-01.devopslab.com.br

Servidores agrupados

#  cat /etc/ansible/hosts

[loadbalancer]
lb-01.devopslab.com.br

[webserver]
app-01.devopslab.com.br
app-02.devopslab.com.br

[database]
db-01.devopslab.com.br

[ansible]
ansiblecontrol-01.devopslab.com.br

Listando todos os servidores ansible –list-hosts all

# ansible --list-hosts all

  hosts (5):
    db-01.devopslab.com.br
    app-01.devopslab.com.br
    app-02.devopslab.com.br
    ansiblecontrol-01.devopslab.com.br
    lb-01.devopslab.com.br

2.1. Tipo de conexão

Ao criar os hosts do invetário, é possível definir o tipo de conexão que o Ansible vai tentar fazer nos hosts.

/etc/ansible/hosts

[ansible]
ansiblecontrol-01.devopslab.com.br ansible_connection=local

Veja que nesta forma, o Ansible vai tentar fazer uma conexão local, sem utilizar o ssh.

2.2. Inventário não padrão !hosts

Também é possível criar um inventário de hosts em um arquivo que não seja o padrão /etc/ansible/hosts

ansible -i servidores-prod --list-hosts all
ansible -i servidores-homol --list-hosts all
ansible -i servidores-dev --list-hosts all

Continua.
Anotações em andamento.
; )

Leonardo