Установка Ansible и проверка интерпретатора Python
На этом первом шаге мы установим Ansible и рассмотрим используемый им интерпретатор Python по умолчанию. Это поможет нам понять базовую конфигурацию, прежде чем вносить какие-либо изменения.
Установка Ansible
Начнем с установки Ansible в системе:
sudo apt update
sudo apt install -y ansible
Это установит последнюю версию Ansible, доступную в репозиториях Ubuntu. После завершения установки мы можем убедиться, что Ansible установлен правильно, проверив его версию:
ansible --version
Вы должны увидеть вывод, похожий на этот:
ansible [core 2.12.0]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/labex/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /home/labex/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.10.x (default, Ubuntu 22.04) [GCC 11.2.0]
jinja version = 3.0.3
libyaml = True
Обратите внимание, что вывод включает используемую версию Python. Это важная информация, поскольку она сообщает нам, какой интерпретатор Python в настоящее время настроен для использования Ansible.
Создание простого файла инвентаризации
Чтобы Ansible работал, нам нужен файл инвентаризации, в котором перечислены хосты, которыми мы хотим управлять. Давайте создадим простой файл инвентаризации:
- В WebIDE создайте новый файл, щелкнув значок «New File» (Новый файл) на панели Explorer (Проводник).
- Назовите файл
inventory.ini
- Добавьте следующее содержимое в файл:
[local]
localhost ansible_connection=local
Этот файл инвентаризации определяет группу с именем local только с одним хостом - localhost - и указывает, что мы хотим подключиться к нему напрямую, а не через SSH.
Проверка интерпретатора Python на целевом хосте
Теперь давайте проверим, какой интерпретатор Python будет использовать Ansible на нашем целевом хосте:
ansible -i inventory.ini local -m setup -a "filter=ansible_python*"
Эта команда запускает модуль setup (настройка) Ansible, который собирает факты о хосте, фильтруя информацию, относящуюся к Python. Вы должны увидеть вывод, содержащий сведения об используемом интерпретаторе Python:
localhost | SUCCESS => {
"ansible_facts": {
"ansible_python": {
"executable": "/usr/bin/python3",
"has_sslcontext": true,
"type": "cpython",
"version": {
"major": 3,
"micro": 10,
"minor": 10,
"releaselevel": "final",
"serial": 0
},
"version_info": [
3,
10,
10,
"final",
0
]
},
"ansible_python_version": "3.10.10"
},
"changed": false
}
Это подтверждает, что Ansible использует Python 3 на целевом хосте. По умолчанию Ansible пытается использовать лучший доступный интерпретатор Python в целевой системе.