62 lines
1.4 KiB
Markdown
62 lines
1.4 KiB
Markdown
# Ansible — Modules (one-screen)
|
|
|
|
## 1) Module = атомарное действие
|
|
Модуль — минимальная “операция”, которую Ansible выполняет на хосте.
|
|
|
|
## 2) Примеры модулей из твоих заметок
|
|
### `command`
|
|
Выполнение команды:
|
|
```yaml
|
|
- name: Display home directory
|
|
command: ls ~/
|
|
```
|
|
Параметры типа `chdir`/`creates`:
|
|
```yaml
|
|
- command: cat resolv.conf chdir=/etc
|
|
- command: mkdir /folder creates=/folder
|
|
```
|
|
|
|
### `script`
|
|
Запускает скрипт с контроллера на удалённом хосте:
|
|
```yaml
|
|
- hosts: all
|
|
tasks:
|
|
- name: Run script
|
|
script: /root/script.sh -arg1 -arg2
|
|
```
|
|
|
|
### `lineinfile`
|
|
Гарантирует наличие строки в файле:
|
|
```yaml
|
|
- hosts: all
|
|
tasks:
|
|
- lineinfile:
|
|
path: /etc/resolv.conf
|
|
line: 'nameserver 10.1.250.10'
|
|
```
|
|
|
|
### `service`
|
|
Управление сервисами (systemd):
|
|
```yaml
|
|
- hosts: web_nodes
|
|
tasks:
|
|
- name: Start httpd
|
|
service:
|
|
state: started
|
|
```
|
|
|
|
### `user` (`ansible.builtin.user`)
|
|
Управление пользователями:
|
|
```yaml
|
|
- hosts: all
|
|
tasks:
|
|
- name: Create user John
|
|
user:
|
|
name: John
|
|
uid: 1040
|
|
group: dev
|
|
```
|
|
|
|
---
|
|
**Source:** [[01 Library/02 DevOps/Ansible/Modules - Ansible|Modules - Ansible]]
|