Difference between revisions of "Ansible Howto"

From Cactus Howto
Jump to navigationJump to search
Line 5: Line 5:


== installation ==
== installation ==
On ubuntu / debian:
=== on ubuntu >= 18.04 ===
sudo apt install ansible
sudo apt install ansible

=== on ubuntu < 18.04 and debian (up to 9/stretch) ===
These systems ship with ansible <2.4.

<pre>
sudo echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt update
sudo apt upgrade
sudo apt install ansible
</pre


== initial config ==
== initial config ==

Revision as of 12:47, 17 November 2018

ansible first steps

documentation

installation

on ubuntu >= 18.04

sudo apt install ansible

on ubuntu < 18.04 and debian (up to 9/stretch)

These systems ship with ansible <2.4.

sudo echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
sudo apt update
sudo apt upgrade
sudo apt install ansible
</pre

== initial config == 
Edit /etc/ansible/hosts

= ansible advanced topics =

== use cases debian/ubuntu sys management using apt ==
This only works for ansible >=2.4.

 tim@spike-vm:~/ansi$ ansible-playbook -l puppet apt-autoremove.yml -K

<pre>
tim@spike-vm:~/ansi$ cat apt-autoremove.yml 
---

- hosts: all
  become: yes
  tasks:
     - name: Autoremove unused packages
       apt:
         autoremove: yes
       when: >
        ansible_distribution == 'Debian'
        or
        ansible_distribution == 'Ubuntu'

use case install apt package

tim@spike-vm:~/ansi$ ansible-playbook -l puppet apt-install.yml -K -e "package=apache2"
SUDO password: 

PLAY [all] *********************************************************************

TASK [setup] *******************************************************************
ok: [puppet]

TASK [install package "apache2"] ***********************************************
ok: [puppet]

PLAY RECAP *********************************************************************
puppet                     : ok=2    changed=0    unreachable=0    failed=0   
tim@spike-vm:~/ansi$ cat apt-install.yml 
---

- hosts: all
 become: yes
 tasks:
    - name: install package "Template:Package"
      apt:
       name: apache2
      when: >
       ansible_distribution == 'Debian'
       or
       ansible_distribution == 'Ubuntu'

use case change passwords for linux systems

use case add firewall rule

iptables

check point R80 API