Переход на Proxmox часть 6. Возвращаемся к запуску Ansible
Для лиги лени: общеизвестное и душное.
Часть 1. Общая
Часть 2. Gitlab и Nexus
Часть 3. Ansible и Ansible AWS
Часть 4. Наконец переходим к Proxmox
Часть 5, не запланированная. Обновляем Proxmox с 8.4 до 9.0. Неудачно.
Часть 6. Возвращаемся к запуску Ansible. Тоже не запланированная статья.
Как мне верно сказали в комментариях к статье, не надо ставить Ansible из репозитория Trixie, а если поставил, то надо удалить и переставить.
sudo apt remove --purge ansible
sudo apt autoremove –purge
sudo ln -s /usr/bin/python3 /usr/local/bin/python
sudo ln -s /usr/bin/pip3/usr/local/bin/pip
sudo ln -s /usr/bin/python3-venv /usr/bin/venv
pip install --user ansible
Естественно, так просто оно не заработало, выдав ошибку «error: externally-managed-environment»
Пришлось сделать
apt install python3.11-venv
apt install python3-pip
python3 -m pip install --user ansible
Было: ansible [core 2.14.18]
Стало: ansible [core 2.18.7] (пока писал заметку, вышло обновление до 2.18.8)
При том, что latest - v2.19.0
Заодно обновил Proxmox. Pveversion:
было сразу после установки pve-manager/9.0.3/025864202ebb6109 (running kernel: 6.14.8-2-pve)
стало на 14.08.2025: pve-manager/9.0.5/9c5600b249dbfd2f (running kernel: 6.14.8-2-pve)
Дальше все по инструкции:
Проверяем SSH от ансибл хоста до целевого.
Добавляем хост в /etc/ansible/hosts, или куда вам надо,
И проверяем, как по инструкции How To Install and Configure Ansible on Ubuntu 20.04 от digitalocean
ansible-inventory --list -y
Правим все ошибки, в моем случае прописываем в конфигурации хостов ansible_port, если вы (как я) сменили порт для SSH на одном из серверов:
[servers:vars]
ansible_port=2425
И делаем не как в инструкции (потому что я поленился прописать SSH ключи), а по народно-колхозному
ansible proxmox -m ping --ask-pass
получая ..
"msg": "to use the 'ssh' connection type with passwords or pkcs11_provider, you must install the sshpass program"
Что ж. В колхоз так в колхоз, потом пропишу ssh ключи «как надо», хотя правильно через Vault все делать, это прямо в руководстве прописано. Но, пока что
apt install sshpass
и система заработала.
В /etc/ansible/hosts прописано:
[servers]
server001 ansible_host=192.168.10.201[servers:vars]
ansible_port=2425[proxmox]
192.168.10.202[all:vars]
ansible_python_interpreter=/usr/bin/python3
Теперь проверим, что там по фактам:
ansible proxmox -m setup --ask-pass
ansible proxmox -m command -a "uptime" --ask-pass
ansible proxmox -m command -a "pveversion" --ask-pass
ansible proxmox -m command -a "echo ' Hello World '" --ask-pass
И можно переходить к чтению сайта Proxmox VE Helper-Scripts, и даже к чтению скрипта Proxmox VE Post Install
Литература
If you boot Proxmox from an SSD, disable these two services to prevent wearing out your drive
Installing Ansible on specific operating systems
Installing and upgrading Ansible with pip
How to solve "error: externally-managed-environment" when installing via pip3
Run Your First Command and Playbook
Creating and Running your First Ansible Playbook
How to Use Ansible: A Reference Guide
How To Install and Configure Ansible on Ubuntu 20.04
The Essential Ansible Tutorial: A Step by Step Guide
Connecting to hosts: behavioral inventory parameters
Connection methods and details
Discovering variables: facts and magic variables
An introduction to Ansible facts
Proxmox VE Helper-Scripts
В следующей части:
Что-то будет, но пока не знаю чего.
Наверное, про то, что все снести и переделать. Но это не точно.
Наверное, для начала вернусь к разнице концепций дисков.







