Ansible Shell: управление конфигурацией серверов
Ansible shell - это модуль в инструменте управления конфигурацией Ansible, который позволяет выполнять команды в командной оболочке на удаленных узлах.
Модуль shell может использоваться для выполнения различных задач, включая установку пакетов, запуск скриптов, создание и удаление файлов, управление службами и многое другое. Обычно модуль shell используется, когда задачу сложно выполнить с помощью других модулей Ansible.
Вот примеры кода, демонстрирующие использование модуля shell в Ansible:
1. Пример установки пакета на удаленном узле с помощью команды apt-get:
- name: Установить пакет с использованием Apt
become: true
become_user: root
shell: apt-get install -y
2. Пример выполнения скрипта на удаленном узле:
- name: Выполнить скрипт на удаленном узле
shell: /path/to/script.sh
3. Пример создания файла с использованием команды touch:
- name: Создать файл
shell: touch /path/to/file.txt
4. Пример удаления файла с использованием команды rm:
- name: Удалить файл
shell: rm /path/to/file.txt
5. Пример запуска службы с использованием команды service:
- name: Запустить службу
become: true
become_user: root
shell: service start
Однако, использование модуля shell следует минимизировать, поскольку он является менее безопасным, чем другие модули Ansible, такие как apt, yum, copy и т.д. Кроме того, модуль shell может зависеть от среды и настройки командной оболочки на удаленном узле. Если возможно, рекомендуется использовать специализированные модули Ansible для выполнения задачи.