Файл инвентаризации

Создаем файл (по умолчанию ansible смотрит хосты в файле /etc/ansible/hosts) в котором перечисляем хосты

hosts

[kab_ikt]
pc-1.local
pc-2.local

Хосты можно группировать, а так же добавлять разные параметры.

Для перенаправления расположения файла hosts используйте ansible.cfg

Модуль SHELL

Выполняет терминальную команду на удаленном хосте Использование:

# ansible kab_ikt -m shell -a "cp /home/* /home/*"

Где -m признак модуля, -a — перечень атрибутов

Плейбуки

1. Flatpak

Пример плейбука для установки через flatpak Arduino IDEv2.

Для начала необходимо установить модуль

ansible-galaxy collection install community.general

После этого создаем yaml файл в папке /etc/ansible/playbook.yaml

Пишем плейбук

---
- hosts: hosts
  become: true
  tasks:
  - name:"Arduino"
    community.general.flatpak:
    name: "cc.arduino.IDE2"
    state: "present"

Пример вывода результата успешного выполнения задачи

Пример плейбука для выполнения shell команды apt-get update

---
- hosts: kab
  become: yes
  become_method: su
  tasks:
  - name: upd 
    shell:
      cmd: |
      apt-get update

База по плейбукам

2. AdHoc

Так как apt не сработал в чмоси придется ставить через shell.

# ansible kab_ikt -m shell -a "apt-get install scratch-desktop -y -q" -b

После запуска необходимо ждать вывода ответа ансибль.

3. Copy

Пример плейбука для выполнения команды на копирование файлов

--- 
- hosts: kab 
  become: yes 
  become_method: su 
  tasks: 
  - name: chrome policy.json 
    ansible.builtin.copy: 
      src: /mnt/share/policy.json 
      dest: /etc/chromium/policies/managed/policy.json 
      owner: root 
      group: root 
      mode: '0644'

Добавить глобальный параметр

Для работы с чмось необходимо указать глобальный параметр интерпретатора python в файле /etc/ansible/ansible.cfg в разделе [defaults] добавить секцию interpreter_python = python3.9


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *