service:ansible
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
service:ansible [27.02.2025 12:32] – [Переменная в кавычках] 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 | ||
+ | </ | ||
===== Задача ===== | ===== Задача ===== | ||
Строка 538: | Строка 547: | ||
- ../ | - ../ | ||
</ | </ | ||
- | :!: Note with_fileglob always operates from '' | + | :!: Note '' |
https:// | https:// | ||
Строка 895: | Строка 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) => { | ||
+ | " | ||
+ | } | ||
+ | </ | ||
====== Ошибки, | ====== Ошибки, | ||
Строка 932: | Строка 996: | ||
[[https:// | [[https:// | ||
[[https:// | [[https:// | ||
+ | [[https:// | ||
service/ansible.1740659555.txt.gz · Последнее изменение: 27.02.2025 12:32 — viacheslav