Подготовка целевых узлов#
Ansible предъявляет к целевому узлу следующие основные требования:
наличие в узле среды исполнения (runtime environment) для используемых типов модулей;
поддержка требуемого протокола прикладного уровня, с помощью которого можно управлять этим узлом удаленно.
Для Ansible Core наиболее подготовленными для этого являются узлы под управлением операционной системы Linux и, с некоторыми доработками, определенных версий Windows. Дальнейшее описание касается в основном именно этих типов узлов.
Интерпретаторы#
По умолчанию в качестве runtime environment на Linux используется интерпретатор скриптов Python, а для Windows – PowerShell. Текущая версия Ansible Core 2.18.7, поставляемая в составе Astra Automation, требует следующие версии интерпретаторов:
Python 3.8–3.13;
PowerShell–5.1.
Ansible Core поддерживает базовую версию PowerShell, поставляемую вместе с Windows. Например, в Windows Server 2016 базовая версия PowerShell – 5.1. Это значит, что Ansible Core будет работать с этой версией до окончания поддержки соответствующей версии Windows.
На целевых узлах может быть установлено несколько версий Python. В этом случае Ansible использует интерпретатор Python, доступный по умолчанию. Для использования версии интерпретатора, отличной от версии по умолчанию, укажите ее одним из перечисленных способов:
Переменная окружения
ANSIBLE_PYTHON_INTERPRETER:export ANSIBLE_PYTHON_INTERPRETER=/usr/bin/python3.11
Настройка
interpreter_pythonв конфигурационном файлеansible.cfg:[defaults] interpreter_python = /usr/bin/python3.11
Переменная
ansible_python_interpreter:ansible_python_interpreter = /usr/bin/python3.11
vars: ansible_python_interpreter: /usr/bin/python3.11
Создание целевого узла#
Если некоторый узел не отвечает требованиям, предъявляемым для целевого узла, но позволяет устанавливать приложения, то для того, чтобы им можно было управлять по SSH, необходимо выполнить на нем следующие действия:
установить и настроить сервер OpenSSH;
разместить публичный ключ SSH из пары ключей, созданных для управления целевыми узлами, в домашний каталог учетной записи, которая будет использована для авторизации.
Кроме удаленного управления необходимо будет обеспечить требуемое окружение (runtime environment) для исполнения модулей.