Действия

IaaC (Ansible): различия между версиями

Материал из lulzette's wiki

Строка 62: Строка 62:
     "ping": "pong"
     "ping": "pong"
}
}
</source>
Ставим на все сервера <code>vim</code>:
<source>
ansible all -m apt -a "name=vim state=latest" -u root
</source>
</source>

Версия от 18:31, 15 сентября 2020

Ставим!

Предположим есть LXC контейнер slave и master хост

ставим на хост ansible...

на slaves необходимо поставить python

Config

  • Настроить ssh соединение от хоста к клиентам (ключи сгенерировать и скинуть на клиенты)
  • Добавим в файл /etc/ansible/hosts хост(ы):
[some_hosts]
host1 ansible_ssh_host=10.0.3.142

В [] указано название группы хостов, host1 - название хоста которое будем использовать при выполнении команд, ansible_ssh_host - указываем, что к хосту надо подключаться по SSH

RUN!

Можно выполнять на клиентах как команды, так и готовые модули (TODO: настроить nginx с помощью Ansible)

Выполняем команды с помощью параметра -a:

root@353536-otparch2:~# ansible -a 'ls -la /' host1
host1 | SUCCESS | rc=0 >>
total 68
drwxr-xr-x  21 root root 4096 Sep 15 14:54 .
drwxr-xr-x  21 root root 4096 Sep 15 14:54 ..
drwxr-xr-x   2 root root 4096 Sep 15 07:45 bin
drwxr-xr-x   2 root root 4096 Apr 24  2018 boot
drwxr-xr-x   7 root root  520 Sep 15 14:54 dev
drwxr-xr-x  65 root root 4096 Sep 15 15:01 etc
drwxr-xr-x   3 root root 4096 Sep 15 07:45 home
drwxr-xr-x  11 root root 4096 Sep 15 07:44 lib
drwxr-xr-x   2 root root 4096 Sep 15 07:44 lib64
drwxr-xr-x   2 root root 4096 Sep 15 07:43 media
drwxr-xr-x   2 root root 4096 Sep 15 07:43 mnt
drwxr-xr-x   2 root root 4096 Sep 15 07:43 opt
dr-xr-xr-x 136 root root    0 Sep 15 14:54 proc
drwx------   5 root root 4096 Sep 15 14:59 root
drwxr-xr-x  13 root root  440 Sep 15 15:06 run
drwxr-xr-x   2 root root 4096 Sep 15 07:45 sbin
drwxr-xr-x   2 root root 4096 Sep 15 07:43 srv
dr-xr-xr-x  13 root root    0 Sep 15 14:54 sys
drwxrwxrwt   9 root root 4096 Sep 15 15:06 tmp
drwxr-xr-x  10 root root 4096 Sep 15 07:43 usr
drwxr-xr-x  12 root root 4096 Sep 15 07:45 var

Пингуемся:

root@353536-otparch2:~# ansible -m ping host1
host1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

Ставим на все сервера vim:

ansible all -m apt -a "name=vim state=latest" -u root