vault backup: 2026-05-14 10:49:10
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
- ansible
|
||||
created: 2025-12-17
|
||||
updated: 2026-05-07
|
||||
title: Modules - Ansible
|
||||
---
|
||||
|
||||
# Modules - Ansible
|
||||
|
||||
## Module Command
|
||||
|
||||
Выполнение команды на удаленном узле.
|
||||
|
||||
```yaml
|
||||
- name: Display home directory
|
||||
command: ls ~/
|
||||
```
|
||||
|
||||
У самих команд могут быть параметры, например
|
||||
|
||||
```yaml
|
||||
command: cat resolv.conf chdir=/etc # ansible сначала убедится, что мы в директории /etc или перейдет в неё, а затем выполнит команду cat
|
||||
|
||||
command: mkdir /folder creates=/folder # ansible создаст папку только в том случае, если её не существует
|
||||
```
|
||||
|
||||
# Module Script
|
||||
|
||||
Выполняет скрипт, находящийся на хост-контроллере
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: Тестовый плейбук со скриптом
|
||||
hosts: all
|
||||
tasks:
|
||||
- name: Запуск скрипта с хоста
|
||||
script: /root/script.sh -arg1 -arg2
|
||||
```
|
||||
|
||||
## Module LineInFile
|
||||
|
||||
Записывает указанную строку в конец указанного файла _если точнее, ansible убеждается в наличии такой строки, но если её нет, то записывает в конец_
|
||||
|
||||
```yaml
|
||||
-
|
||||
name: Тестовый плейбук
|
||||
hosts: all
|
||||
tasks:
|
||||
- lineinfile:
|
||||
path: /etc/resolv.conf
|
||||
line: 'nameserver 10.1.250.10'
|
||||
```
|
||||
|
||||
## Module Service
|
||||
|
||||
Работает с сервисами сервера (systemd)
|
||||
|
||||
```yaml
|
||||
-
|
||||
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)
|
||||
|
||||
```yaml
|
||||
-
|
||||
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-прав для следующих задач
|
||||
Reference in New Issue
Block a user