Do czego służy Ansible?

Głównie do orkiestracji dużych deplymentów, ale też do małych.

Mały deployment

2 maszyny(web i loadbalancer)

Inventory

[web]
34.245.217.317
[lb]
34.245.217.311

Playbook dla web

- hosts: web
  tasks:
     - name: install flask with pip
       pip: name=flask
     - name: pull po
       git:
         repo: 'https://github.com/pawelkopka/my_web'
         dest: /var/www
         version: release-0.0
     - name: start flask
       shell: "flask run"
         environment:
           FLASK_APP: /var/www/flaskapp.py

Playbook dla lb

- hosts: lb
  tasks:
   - name: ensure nginx is at the latest version
     apt:
         name: nginx
         state: latest
   - name: copy the nginx config file and restart nginx
     template:
         src: config.cfg.j2
         dest: /etc/nginx/sites-available/static_site.cfg
   - name: start nginx
     service:
         name: nginx
         state: started

Większy deployment

10 maszyny(9 web i 1 loadbalancer)

Inventory

[web]
34.245.217.317
34.245.217.318
34.245.217.319
34.245.217.320
34.245.217.321
34.245.217.322
34.245.217.323
34.245.217.324
34.245.217.325
34.245.217.326

[lb]
34.245.217.311