Erinevus lehekülje "Ansible" redaktsioonide vahel

Allikas: Kuutõrvaja
68. rida: 68. rida:
 
  # ansible-playbook test.yml
 
  # ansible-playbook test.yml
  
Ansible sisaldab lisaks suurt hulka mooduleid praktiliselt kõige tegemiseks.
+
 
 +
Keerukam lahendus, mis juba lisaks paigaldab vaikimisi nginx konfi ja tõmbab alla ka gitist veebiserveri sisu
 +
 
 +
---
 +
- hosts: debian
 +
  sudo: yes
 +
 
 +
  tasks:
 +
 +
  - name: paigaldame nginx
 +
    apt: name=nginx state=installed update_cache=yes
 +
 +
  - name: loome nginxile konfiguratsiooni
 +
    template: src=templates/nginx.conf.j2 dest=/etc/nginx/nginx.conf
 +
    notify: restart nginx
 +
 +
  - name: paigaldame veebiserverisse sisu
 +
    git: repo=https://github.com/jweissig/episode-47.git
 +
          dest=/usr/share/nginx/html/
 +
          version=release-0.01
 +
 +
  - name: start
 +
    service: name=nginx state=started
 +
 +
  handlers:
 +
 +
  - name: restart nginx
 +
    service: name=nginx state=restarted
 +
 
 +
Ansible sisaldab lisaks suurt hulka mooduleid praktiliselt kõige tegemiseks. Moodulite nimekirja näeb
 +
 
 +
# ansible-doc -l
  
 
https://github.com/randohinn/KnowHow/blob/master/docs/Vorgurakendused/ansible.rst
 
https://github.com/randohinn/KnowHow/blob/master/docs/Vorgurakendused/ansible.rst
75. rida: 106. rida:
  
 
http://docs.ansible.com/ansible/latest/proxmox_module.html
 
http://docs.ansible.com/ansible/latest/proxmox_module.html
 +
 +
http://docs.ansible.com/ansible/latest/mysql_db_module.html

Redaktsioon: 20. august 2017, kell 12:52

Install

# apt-get install software-properties-common ansible

Kõisse masinaisse tuleb paigaldada SSH võti

# ssh-keygen -t rsa

Kliendid vaja defineerida

Kliendi defineerimine toimub failis /etc/ansible/hosts näiteks lisame ühe kliendi gruppi test

[test]
10.20.0.20

Neid gruppe võib teha terve hulga, nt kõik masinad ära jaotada opsüsteemide järgi

[debian]
vm1
vm2
vm3

[fedora]
netflix

[centos]
confluence
vm-server1
gitlab

[ubuntu]
trusty-mirror
media-centre
nas

Käsurealt kasutamine

Kõikide nodede korrasoleku kontroll

# ansible all -m ping

Küsime nodedelt hostname käsku

# ansible -m shell -a "hostname" all

Samamoodi võib käsurealt otse teha ka jõhkramaid toiminguid, nt midagi installida

# ansible all -s -m shell -a 'apt-get install nginx'

Playbook

Playbookid on .yml failid, kus defineeritakse Ansible tegevused ja tegevuste järjekord. Näiteks lihtne playbook mis paigaldab ngxinxi apt moodulit kasutades ning paneb selle tööle.

---
- hosts: debian
  tasks:
    - name: Installs nginx web server
      apt: pkg=nginx state=installed update_cache=true
      notify:
        - start nginx

  handlers:
    - name: start nginx
      service: name=nginx state=started

Nende käivitamiseks

# ansible-playbook test.yml


Keerukam lahendus, mis juba lisaks paigaldab vaikimisi nginx konfi ja tõmbab alla ka gitist veebiserveri sisu

---
- hosts: debian
  sudo: yes
  
  tasks: 

  - name: paigaldame nginx
    apt: name=nginx state=installed update_cache=yes

  - name: loome nginxile konfiguratsiooni
    template: src=templates/nginx.conf.j2 dest=/etc/nginx/nginx.conf
    notify: restart nginx

  - name: paigaldame veebiserverisse sisu
    git: repo=https://github.com/jweissig/episode-47.git
         dest=/usr/share/nginx/html/
         version=release-0.01

  - name: start
    service: name=nginx state=started

  handlers:

  - name: restart nginx
    service: name=nginx state=restarted

Ansible sisaldab lisaks suurt hulka mooduleid praktiliselt kõige tegemiseks. Moodulite nimekirja näeb

# ansible-doc -l

https://github.com/randohinn/KnowHow/blob/master/docs/Vorgurakendused/ansible.rst

https://github.com/asjalik/ansible

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

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