2.5 KiB
2.5 KiB
status, type, tags, created, updated, aliases
| status | type | tags | created | updated | aliases | |||
|---|---|---|---|---|---|---|---|---|
| stable | concept |
|
2025-12-17 | 2026-05-07 |
|
Modules - Ansible
Module Command
Выполнение команды на удаленном узле.
- name: Display home directory
command: ls ~/
У самих команд могут быть параметры, например
command: cat resolv.conf chdir=/etc # ansible сначала убедится, что мы в директории /etc или перейдет в неё, а затем выполнит команду cat
command: mkdir /folder creates=/folder # ansible создаст папку только в том случае, если её не существует
Module Script
Выполняет скрипт, находящийся на хост-контроллере
-
name: Тестовый плейбук со скриптом
hosts: all
tasks:
- name: Запуск скрипта с хоста
script: /root/script.sh -arg1 -arg2
Module LineInFile
Записывает указанную строку в конец указанного файла если точнее, ansible убеждается в наличии такой строки, но если её нет, то записывает в конец
-
name: Тестовый плейбук
hosts: all
tasks:
- lineinfile:
path: /etc/resolv.conf
line: 'nameserver 10.1.250.10'
Module Service
Работает с сервисами сервера (systemd)
-
name: 'Execute a script on all web server nodes'
hosts: web_nodes
tasks:
-
name: 'Start httpd service on web server nodes'
service:
state: started
User
ansible.builtin.user
Работа с пользователями системы (linux)
-
name: 'Create new user'
hosts: all
tasks:
-
name: 'Create user John'
user:
name: John
uid: 1040
group: dev
Связанные заметки
- File Permissions — модуль
userуправляет uid/gid пользователей Linux;lineinfileредактирует системные файлы; все это работает поверх Linux-прав доступа - Super-user —
become: trueиспользует sudo; модульuserсоздаёт пользователей без root-прав для следующих задач