IT-SDK-Ansible

From wiki.samerhijazi.net
Jump to navigation Jump to search

Ref.

Modules

Notes

  • Ansible: playbooks, roles, variables, basic modules

Commands

ansible $PATTERN -m $MODULE -a "$MODULE_OPTIONS" ## AD_HOC
...
ansible -m command -a "ls" all
...
ansible-playbook playbook.yml ## execute the playbook
ansible-playbook playbook.yml --connection=local

Inventory

  • Lists which hosts will receive commands from the control host.
  • Location for the inventory file: /etc/ansible/hosts
ansible all --list-hosts
nano inventory
------------------------------
[webservers]
192.0.2.0
192.0.2.1
[databases]
192.0.2.3 ansible_user=root
------------------------------

Playbook

---
- name: this playbook will install httpd  ## Name of the Play
  hosts: web                              ## In which Host shall the play executed.
  vars:                                   ## Definition von Variables
    pkgname: httpd
  tasks:                                  ## Tasks in this play
    - name: Install latest of Apache      ## Name of the Task
      become: ture                        ## Execute this Task as "sudo dnf install httpd"
      become_user: weblogic               ## Exceute this task as "sudo -u weblogic dnf install httpd"
      dnf:                                ## Name of the Modul used (etc. command, apt, user, service )
        name: {{ pkgname }}               ## Parameter used form modul
        state: latest                     ## Parameter used form modul

Playbook-Localhost

ansible-playbook playbook.yml --connection=local 127.0.0.1   # using Ansible command line
-------------------------------------------------------------# using inventory
127.0.0.1 ansible_connection=local                           
-------------------------------------------------------------# using Ansible configuration file
[defaults]
transport = local
-------------------------------------------------------------#  using playbook header
- hosts: localhost 127.0.0.1
  connection: local