- install ansible via brew, yum, ...
- copy public ssh keys to all target systems
ssh-copy-id -i ~/.ssh/id_rsa.pub <client-host>
- user should switch to root without password
visudo
- at end of file add (tab between rows)
<benutzer> ALL=(ALL) NOPASSWD: ALL
Nun kannsudo
eingesetzt werden ohne das Passwort eingeben zu müssen.
- verwendet nicht die Shell (BASH/SH)
- pipe und redirect werden somit nicht unterstützt
- pipe und redirect werden unterstützt
- Achtung: falsche Befehle können sich auf das gesamte System auswirken
- sendet Befehle über ssh
- python wird nicht benötigt
- eingeschränkte funktion
By default the inventory is located at /etc/ansible/hosts
(different location can be specified at command line with -i <path>
. The file looks like (INI-like format):
mail.example.com
[webservers]
foo.example.com
bar.example.com
[dbservers]
one.example.com
two.example.com
three.example.com
YAML format:
all:
hosts:
mail.example.com:
children:
webservers:
hosts:
foo.example.com:
bar.example.com:
dbservers:
hosts:
one.example.com:
two.example.com:
three.example.com:
Working with static IPs you can describe hosts via variables:
jumper ansible_port=5555 ansible_host=192.0.2.50
YAML format:
...
hosts:
jumper:
ansible_port: 5555
ansible_host: 192.0.2.50
Host variables - can be used later inside playbooks:
[atlanta]
host1 http_port=80 maxRequestsPerChild=808
host2 http_port=303 maxRequestsPerChild=909
Group variables:
[atlanta]
host1
host2
[atlanta:vars]
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com
YAML format:
atlanta:
hosts:
host1:
host2:
vars:
ntp_server: ntp.atlanta.example.com
proxy: proxy.atlanta.example.com