service:ansible
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
service:ansible [27.02.2025 10:23] – [Collection ansible.posix does not support Ansible version] viacheslav | service:ansible [26.03.2025 13:33] (текущий) – [Литература] viacheslav | ||
---|---|---|---|
Строка 23: | Строка 23: | ||
// | // | ||
// | // | ||
+ | |||
+ | ===== ad-hoc команды ===== | ||
+ | <code bash> | ||
+ | # k3 - имя целевого хоста, -m - модуль, | ||
+ | # Создать каталог (рекурсивно, | ||
+ | ansible k3 -m file -a " | ||
+ | # проверка доступа к хосту | ||
+ | ansible k3 -m ping | ||
+ | </ | ||
===== Задача ===== | ===== Задача ===== | ||
Строка 528: | Строка 537: | ||
</ | </ | ||
Т. е., ставить кавычки сами по себе и дополнительно применять команду. Одни кавычки отбросятся, | Т. е., ставить кавычки сами по себе и дополнительно применять команду. Одни кавычки отбросятся, | ||
+ | |||
+ | === Копирование нескольких шаблонов одной задачей === | ||
+ | <code yaml> | ||
+ | - name: Copy templates | ||
+ | template: | ||
+ | src: "{{ item }}" | ||
+ | dest: /tmp/{{ item | basename | regex_replace(' | ||
+ | with_fileglob: | ||
+ | - ../ | ||
+ | </ | ||
+ | :!: Note '' | ||
+ | |||
+ | https:// | ||
+ | |||
==== Динамические переменные ==== | ==== Динамические переменные ==== | ||
Используются для нескольких ОС, где разные пути к конфигам и один и тот же пакет называется по-разному, | Используются для нескольких ОС, где разные пути к конфигам и один и тот же пакет называется по-разному, | ||
Строка 881: | Строка 904: | ||
<code bash> | <code bash> | ||
{% if inventory_hostname in groups[' | {% if inventory_hostname in groups[' | ||
- | Секция, | + | Секция, |
+ | {% else %} | ||
+ | Секция, | ||
{% endif %} | {% endif %} | ||
</ | </ | ||
Если используются переменные из // | Если используются переменные из // | ||
- | Дополнительно про инвентори: | + | Дополнительно про инвентори: |
+ | Template Designer Documentation: | ||
+ | |||
+ | ===== Выборка из словаря по значениям из списка ===== | ||
+ | В зависимости от набора работающих служб получать набор строк для формирования API-запроса. Если есть работающие службы, | ||
+ | |||
+ | <file yaml services_status.yml> | ||
+ | - hosts: k3 | ||
+ | roles: | ||
+ | - services_status | ||
+ | vars: | ||
+ | services: | ||
+ | project-service1: | ||
+ | project-service2: | ||
+ | project-service3: | ||
+ | </ | ||
+ | |||
+ | <file yaml roles/ | ||
+ | - name: Gather running services | ||
+ | shell: | ||
+ | cmd: systemctl --user --type service --state running --plain --quiet |grep ^project- |sed -E ' | ||
+ | register: running_services | ||
+ | |||
+ | # В curl body - это --data ' | ||
+ | - name: Update API | ||
+ | uri: | ||
+ | url: https:// | ||
+ | user: admin | ||
+ | password: {{ pass }} | ||
+ | force_basic_auth: | ||
+ | method: POST | ||
+ | validate_certs: | ||
+ | body_format: | ||
+ | body: | ||
+ | dataSources: | ||
+ | - "{{ services[item] }}" | ||
+ | with_items: | ||
+ | - "{{ running_services[' | ||
+ | when: item in services | list | ||
+ | </ | ||
+ | |||
+ | Работают 1-я и 3-я службы, | ||
+ | <code bash> | ||
+ | ansible-playbook services_status.yml | ||
+ | |||
+ | TASK [services_status : debug] ********************************************************************************************************** | ||
+ | ok: [k3] => (item=project-service1) => { | ||
+ | " | ||
+ | } | ||
+ | ok: [k3] => (item=project-service3) => { | ||
+ | " | ||
+ | } | ||
+ | </ | ||
====== Ошибки, | ====== Ошибки, | ||
Строка 905: | Строка 983: | ||
</ | </ | ||
- | ==== The processing instruction target matching " | + | ===== The processing instruction target matching " |
- | Ошибка после запуска jar, где ' | + | Ошибка после запуска jar, где |
<code xml> | <code xml> | ||
<?xml version=" | <?xml version=" | ||
Строка 918: | Строка 996: | ||
[[https:// | [[https:// | ||
[[https:// | [[https:// | ||
+ | [[https:// | ||
service/ansible.1740651814.txt.gz · Последнее изменение: 27.02.2025 10:23 — viacheslav