
Всем доброго времени суток! В этой статье хотел бы кратко в режиме смузи осветить возможности Portainer API и применение в разворачивании проектов.
Рассмотрим несколько задач:
- Управление. Иметь возможность отображать работу всех контейнеров на определенном узле, управлять и отслеживать состояние, читать логи и контролировать ресурсы.
- Разворачивание. Минимизировать участие пользователя и создать благоприятные условия для автоматизированного разворачивания на новом месте.
- Интеграция с gitlab-ci. Упростить процесс разработки.
Управление
Обладая опытом работы с Docker, переход на docker-swarm привлек относительной простотой и скоростью освоения в сравнении с Kubernetes. Для одного менеджер узла (leader node) и нескольких worker-ов предстояло решить, как отобразить в одном окне статус запуска, количество работ, статистику использования памяти и health-чеки. В первую очередь необходимо готовое решение с графическим интерфейсом исходя из потребностей задачи.
Можно найти много статей по сравниванию между собой GUI-интерфейсов для управления Docker-ом. Приведу несколько примеров: тут и тут. Необходимые требования для решения задачи были найдены в Portainer.