Назад | Перейти на главную страницу

Проверить стек докеров через ansible

Я хочу использовать ansible, чтобы узнать, развернут ли стек докеров. В оболочке я бы сделал что-то вроде: docker stack services -q my_stack_name.

Я мог бы использовать shell модуль, но тогда мне приходится вручную обрабатывать ошибки и идемпотентность.

Есть ли модуль для этого? (Я просмотрел документы docker_swarm_info но это не подходит.)

Вы можете поставить местный факт который предоставляет эту информацию.

#!/bin/sh
# /etc/ansible/facts.d/docker_stack
echo "{\"info\": \"`docker stack services -q my_stack_name`\"}"

В своем учебнике вы можете затем использовать ansible_local.docker_stack.info переменная.

(Конечно, было бы более эффективно сделать это сценарием Python, который возвращает структурированные данные JSON, а не беспорядочную, возможно, многострочную строку.)

Обратите внимание, что это не заметит никаких изменений, происходящих во время запуска playbook.