Skip to content

Tabel de scurtături Ansible

Ansible este un instrument de automatizare IT care automatizează gestionarea configurației, implementarea aplicațiilor, orchestrarea între servicii și multe alte nevoi IT.

Primii pași

Gazde și grupuri

$ sudo mkdir /etc/ansible
$ sudo vim /etc/ansible/hosts

[example]
192.0.2.101
192.0.2.102

Executare Playbook

$ ansible-playbook playbook.yml

Sarcini (Tasks)

- hosts: all
  user: root
  sudo: no
  vars:
    aaa: bbb
  tasks:
    - ...
  handlers:
    - ...

Includere (Including)

tasks:
  - include: db.yml
handlers:
  - include: db.yml user=timmy

Declanșatoare (Triggers)

handlers:
  - name: start apache2
    action: service name=apache2 state=started

tasks:
  - name: install apache
    action: apt pkg=apache2 state=latest
    notify:
      - start apache2

Variabile

- host: lol
  vars_files:
    - vars.yml
  vars:
    project_root: /etc/xyz
  tasks:
    - name: Create the SSH directory.
      file: state=directory path=${project_root}/home/.ssh/
      only_if: "$vm == 0"

Roluri (Roles)

- host: xxx
  roles:
    - db
    - { role:ruby, sudo_user:$user }
    - web

# Utilizează:
# roles/db/tasks/*.yml
# roles/db/handlers/*.yml

Gestionarea erorilor

- name: my task
  command: ...
  register: result
  failed_when: "'FAILED' in result.stderr"

  ignore_errors: yes

  changed_when: "result.rc != 2"

Variabile de mediu

vars:
  local_home: "{{ lookup('env','HOME') }}"