Как начать работу с Ansible на машине без установленного Python

«Как начать работу с Ansible на машине без установленного Python» — вопрос из категории Ansible, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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