- Рекомендується Python 3.10. Завантажити...
- Ansible 2.15.3 (Встановлення на Windows)
sshpass
- для входу на сервер по паролю
Для завантаження проєкту із github, виконуємо команду в терміналі:
git clone https://github.com/text-adi/ansible-playbook.git
Для використання playbook потрібно встановити відповідні модулі ansible. Для цього, потрібно виконати команду в терміналі:
ansible-galaxy install -r collections/requirements.yaml
По замовчуванні, сервер, для якого буде виконуватися playbook, не вказаний.
Щоб це змінити, потрібно в файлі invertory/hosts.yaml
вказати IP сервера, для якого буде запущений playbook.
Для цього, після [servers]
, потрібно, дописати рядок IP сервера,
та параметри, із якими відбувається підключення до сервера.
У випадку для Linux, маємо наступний рядок:
[servers]
<ip-address> ansible_user=<user> ansible_port=<port> ansible_password=<password> ansible_shell_type=<shell_type>
В нашому випадку, в базовому рядку, із параметрами, потрібно лише замінити відповідні значення, такі як:
<ip-address>
- IP адреса сервера, який адмініструється.<user>
- користувач, під яким виконуються команди на сервері.<port>
- порт SSH. Зазвичай, використовується 22 порт.<password>
- пароль користувача, до якого відбувається підключення.<shell_type>
- тип оболонки. У випадку із Linux потрібно використовуватиshell
.
У випадку для Windows, потрібно переконатися, що у системі із Windows встановлений OpenSSH. Встановлення OpenSSH для Windows.
[servers]
<ip-address> ansible_user=<user> ansible_port=<port> ansible_password=<password> ansible_shell_type=<shell_type>
В нашому випадку, в базовому рядку, із параметрами, потрібно лише замінити відповідні значення, такі як:
<ip-address>
- IP адреса сервера, який адмініструється.<user>
- користувач, під яким виконуються команди на сервері.<port>
- порт SSH.<password>
- пароль користувача, до якого відбувається підключення.<shell_type>
- тип оболонки. У випадку із Windows потрібно використовуватиpowershell
.
Якщо потрібно виконати playbook на кількох серверах, у файлі invertory/hosts.yaml
,
описати дані підключення для кожного сервера.
Приклад:
[servers]
<ip-address-1> ansible_user=<user-1> ansible_port=<port-1> ansible_password=<password-1> ansible_shell_type=<shell_type-1>
<ip-address-2> ansible_user=<user-2> ansible_port=<port-2> ansible_password=<password-2> ansible_shell_type=<shell_type-2>
...
Для запуску відповідного playbook в корні проєкту, виконуємо команду в терміналі:
ansible-playbook playbooks/<name-playbook>.yaml
Після чого, ansible запитає пароль до сервера, до якого відбувається підключення.
Оскільки офіційної підтримки ansible немає для Windows, для встановлення будемо використовувати CygWin.
Для встановлення Ansible в CigWin, потрібно встановити наступні компоненти:
python39
python39-pip
python39-cryptography
git
- для завантаження проєкту із github.vim
- або інший редактор, для редагування файлів в терміналі.
Після встановлення усіх компонентів CygWin, залишається відкрити CygWin та встановити ansible, через пакетний менеджер pip, аналогічно, як це робиться на Linux.