Ответ
Ansible требует Python на управляемых нодах, но на контроллере (откуда запускаются плейбуки) Python обязателен. Если на контроллере его нет, есть несколько практических путей:
1. Установка через системный пакетный менеджер (наиболее простой):
# Для Ubuntu/Debian
sudo apt update && sudo apt install -y ansible
# Для CentOS/RHEL
sudo yum install -y epel-release
sudo yum install -y ansible
Этот метод автоматически установит Python как зависимость.
2. Использование Docker-образа с Ansible (идеально для CI/CD или изолированных сред):
Создаю Dockerfile:
FROM alpine:latest
RUN apk add --no-cache ansible openssh-client
WORKDIR /ansible
Или запускаю плейбук напрямую:
docker run --rm -v $(pwd):/ansible -w /ansible ansible/ansible-runner ansible-playbook site.yml
3. Установка в виртуальном окружении Python (для контроля версий): Если Python на системе есть, но нет прав на глобальную установку:
python3 -m venv ansible-venv
source ansible-venv/bin/activate
pip install ansible
Ключевой момент: Для управления целевыми хостами (нодами) без Python можно использовать модуль raw для начальной bootstrap-установки Python, а затем уже все остальные модули. Например, для Ubuntu-хоста:
- name: Bootstrap Python on target host
raw: apt-get update && apt-get install -y python3-minimal