Файл конфигурации Ansible
Файл конфигурации Ansible (ansible.cfg) является важным элементом настройки Ansible, позволяя вам управлять поведением и параметрами выполнения Ansible. Этот файл содержит множество настроек, которые влияют на то, как выполняются плейбуки, управляется инвентарь, ведётся логирование и многое другое.
Основные особенности файла ansible.cfg
- Местоположение файла конфигурации:
- Локальный файл ansible.cfgв текущем рабочем каталоге (высокий приоритет).
- Файл в домашней директории пользователя (~/.ansible.cfg).
- Системный файл конфигурации (/etc/ansible/ansible.cfg).
 
- Локальный файл 
- Настройки, указанные в ansible.cfg, имеют приоритет перед значениями по умолчанию, а также могут переопределяться с помощью переменных окружения или командной строки.
Основные секции файла ansible.cfg
- [defaults]: Основная секция с настройками по умолчанию для всех задач Ansible.
- [inventory]: Настройки, касающиеся инвентаря.
- [privilege_escalation]: Настройки повышения привилегий, таких как- become.
- [ssh_connection]: Настройки SSH-соединений.
- [paramiko_connection]: Параметры соединений через Paramiko (Python-библиотека для работы с SSH).
- [selinux]: Настройки SELinux.
- [accelerate]: Настройки ускорения выполнения задач.
- [colors]: Настройки цветового оформления вывода.
- [galaxy]: Настройки для работы с Ansible Galaxy.
- [callback]: Настройки плагинов обратного вызова.
Основные параметры конфигурации
[defaults]
Содержит основные настройки Ansible:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [defaults] inventory = ./inventory           # Путь к файлу или директории с инвентарем remote_user = ansible             # Пользователь по умолчанию для удаленных соединений private_key_file = ~/.ssh/id_rsa  # Путь к приватному ключу для SSH host_key_checking = False         # Отключение проверки SSH ключей хостов retry_files_enabled = False       # Отключение создания файлов retry при ошибках timeout = 30                      # Тайм-аут соединения forks = 10                        # Количество параллельных процессов roles_path = ./roles              # Путь к ролям Ansible log_path = /var/log/ansible.log   # Путь к файлу логов Ansible gathering = smart                 # Настройки сбора фактов: smart, explicit, или implicit deprecation_warnings = False      # Отключение предупреждений о депрекациях | 
[inventory]
Управляет настройками инвентаря:
| 1 2 3 | [inventory] enable_plugins = host_list, yaml, ini, script  # Включение плагинов инвентаря | 
[privilege_escalation]
Настройки повышения привилегий:
| 1 2 3 4 5 6 | [privilege_escalation] become = True                     # Включить sudo (become) по умолчанию become_method = sudo              # Метод повышения привилегий (sudo, su, pbrun и т.д.) become_user = root                # Пользователь, от имени которого выполняются команды become_ask_pass = False           # Запрашивать ли пароль при повышении привилегий | 
[ssh_connection]
Настройки SSH-соединений:
| 1 2 3 4 5 | [ssh_connection] ssh_args = -o ControlMaster=auto -o ControlPersist=60s  # Параметры SSH-соединения control_path = ~/.ansible/cp/%h-%p-%r                  # Путь к сокетам контроля SSH-соединений retries = 3                                            # Количество попыток подключения | 
[galaxy]
Настройки для работы с Ansible Galaxy:
| 1 2 3 4 | [galaxy] server_list = ansible_default      # Список серверов Galaxy roles_path = ./roles               # Путь для установки ролей | 
[callback]
Настройки плагинов обратного вызова:
| 1 2 3 | [callback] enable = timer, profile_tasks      # Включение плагинов, таких как таймеры или профайлинг задач | 
Настройка файла конфигурации
- Создание файла: Чтобы создать файл конфигурации, можно начать с копирования системного файла или создать новый пустой файл ansible.cfgи добавить нужные секции и параметры.
- Изменение параметров: Параметры можно настроить в соответствии с вашими требованиями, такие как пути к инвентарю, настройки логирования, пользователи, управление привилегиями и т.д.
- Тестирование конфигурации: После изменения параметров рекомендуется протестировать конфигурацию с помощью тестовых плейбуков или команд для проверки корректности настроек.
Файл ansible.cfg является гибким инструментом для настройки Ansible, позволяя точно определить, как выполняются задачи и управляются удаленные хосты. Правильная настройка этого файла помогает оптимизировать процессы автоматизации и снизить вероятность ошибок при выполнении плейбуков.
Recommended Posts
Kонфиг kubectl
22.02.2025
