...
Для запуска плейбуков необходимо установить Ansible на хост, с которого есть доступ по SSH до целевого хоста.
Примечание |
---|
Запускать плейбук непосредственно на целевом хосте не рекомендуется. |
Требуемая ОС хоста для запуска плейбука - Ubuntu 22.04 Jammy.
...
View file | ||||||||
---|---|---|---|---|---|---|---|---|
|
Затем необходимо распаковать архив:
...
Установите утилиту sshpass, если она не установлена командой:
Блок кода language bash sudo apt install sshpass
Проверьте и при необходимости дополните строку "127.0.0.1 localhost" в файле /etc/hosts:
Блок кода language bash 127.0.0.1 localhost localhost.localdomain
Установите коллекции Ansible, необходимые для работы плейбуков:
Блок кода language bash ansible-galaxy collection install community.postgresql
Для указания адреса хоста, на который необходимо развернуть систему, отредактируйте файл
hosts.yml
:Блок кода language yml --- common: hosts: common_host: ansible_host: <IP-адрес хоста для NAICE>
Создайте конфигурационный файл
ansible.cfg
из шаблона:Блок кода language bash cp ansible.cfg.template ansible.cfg
- Настройте режим доступа к хосту по SSH в в файле
ansible.cfg
зависимости от предпочитаемого варианта:по логину/паролю:
Блок кода [defaults] inventory = hosts.yml host_key_checking = False deprecation_warnings = False
и дополните
hosts.yml
:Блок кода language yml --- common: hosts: common_host: ansible_host: <IP-адрес хоста для NAICE> ansible_user: <логин пользователя> ansible_ssh_pass: <пароль пользователя>
по ключу (предварительно необходимо сгенерировать и поместить ключ на удаленный хост):
Блок кода [defaults] inventory = hosts.yml remote_user = <пользователь на удаленном хосте> private_key_file = <путь к файлу ключа> host_key_checking = True deprecation_warnings = False
- (необязательно) При необходимости измените значения переменных окружения в
group_vars/all.yml
. Например, можно изменить директорию установки сервисов NAICE или таймзону для PostgreSQL. Проверьте доступ до удаленного хоста с помощью:
Блок кода ansible all --list-hosts # проверить список хостов ansible all -m ping # проверить доступ до хостов
Пример вывода, если хост доступен:
Блок кода language bash common_host | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" }
(необязательно) При необходимости интеграции с Active Directory в файле переменных плейбука naice-ansible/group_vars/all.yml требуется указать корректные переменные и включить интеграцию(подробнее про настройку интеграцииv0.6_3.1 Пример настройки интеграции с Active Directory):
Блок кода use_ms_ad: true radius_ms_ad_ip: '172.16.4.115' radius_kerberos_ad_user_login: 'fill_login' radius_kerberos_ad_user_password: 'fill_password' radius_kerberos_workgroup: 'WS' radius_kerberos_kdc: 'WS.LOC' radius_kerberos_admin_server: 'LABMS.WS.LOC' radius_samba_ou_structure: 'Computers'
...
При необходимости интеграции с MS AD (подробнее про настройку интеграцииv0.6_3.1 Пример настройки интеграции с Active Directory) плейбук необходимо в файле all.yml исправить переменную "use_ms_ad" на "true" и запустить плейбук:
...