Files
SecondBrain/90 Library/DevOps/Ansible/Modules - Ansible.md
T
2026-05-31 10:18:48 +03:00

2.5 KiB

status, type, tags, created, updated, aliases
status type tags created updated aliases
stable concept
devops
ansible
2025-12-17 2026-05-07
Modules - Ansible

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-прав для следующих задач