Источник: Nuances of Programming
В обзоре вы познакомитесь с удобным инструментом DevOps-разработчика — Docketeer.
Команда Docketeer постоянно работает над новыми замечательными функциями, так что статья пригодится как разработчикам, уже работавшим с инструментом, так и желающим прочитать краткий обзор технологии. Более того, мы подробно рассмотрим изменения, внесенные в каждую из основных версий, прежде чем перейти к подробному разбору самой новой версии Docketeer 5.0.
Обзор Docketeer
Docketeer — это удобная платформа и графический интерфейс для приложения Docker Desktop. Официальное приложение само по себе полезно, но Docketeer стремится вывести опыт пользования Docker на новый уровень.
Графический интерфейс удобен для мониторинга показателей здоровья, запуска и остановки контейнеров, настройки уведомлений. Более того, через Twilio API и Slack API Docketeer отправляет уведомления о достижении пороговых значений CPU или памяти. Параметры настраиваются вместе со списком наблюдаемых контейнеров.
Технологии
Следует уточнить набор технологий, необходимых для работы Docketeer.
- Пользовательский интерфейс — React и Redux.
- Приложения для десктоп-платформ — Electron.
- Сборщик — Webpack.
- Оповещения — Twilio и Slack.
- Визуализация данных — Chart.js.
- Тестирование — Jest и Enzyme.
- Сервер — ExpressJS.
- База данных — PostgreSQL.
- Шифрование — Bcrypt.
- Язык программирования — TypeScript.
Обзор основного функционала
В Docketeer реализован расширенный (по сравнению с официальным приложением Docker Desktop) функционал, начиная со страницы входа в систему.
Когда пользователь входит в систему, то получает одну из трех ролей: системный администратор, администратор или пользователь. Сразу после входа в систему первой страницей, доступной пользователю, становится вкладка настроек.
Системный администратор отвечает за создание пользователей и назначение ролей, администраторы управляют контейнерами и настройками, а пользователи просто просматривают метрики.
На вкладке настроек администраторам предоставлен доступ к регулированию многочисленных параметров. Первая настройка предназначена для конфигурации Twilio-уведомлений, далее следуют параметры частоты уведомлений и частоты мониторинга метрик.
Во вкладке “Пользователи” администраторам доступен просмотр пользователей и некоторые настройки, но только системные администраторы способны здесь же создавать новых пользователей и выдавать роли.
Следующей по списку меню идет вкладка “Контейнеры”, где пользователи просматривают графики метрик и следят за состоянием контейнеров. Здесь же администраторы запускают или останавливают контейнеры.
Теперь рассмотрим кладку “Изображения”. В этом разделе пользователи просматривают сохраненные образы контейнеров. Администраторы здесь же запускают или удаляют образы, скачивают их из Docker Hub.
Следующая вкладка — “Метрики”. Открыв ее, пользователи увидят метрики загруженности процессора и памяти контейнера, а также историю его использования. Кроме того, здесь отображается текущее значение Net/Block IO, что позволяет легко отслеживать состояние контейнеров.
На вкладке “Docker Compose” администраторы компонуют YML-файлы без командной строки. Также в данной вкладке доступна к просмотру информация о драйвере контейнера, его идентификаторе, области применения и времени создания.
Интерфейс Docketeer оснащен функционалом команды docker system prune, которая удаляет все неиспользуемые контейнеры, образы, тома и сети. Весь процесс проходит быстро и направлен на удобное долгосрочное использование.
Дополнения версии 4.0
- Безопасность.
Безопасность стала приоритетом в разработке четвертой версии. Поэтому команда Docketeer переработала логику бэкенда ради уникальной системы токенов для системных администраторов, а также внедрила Bcrypt-шифрование паролей. При входе системного администратора генерируется уникальный токен, необходимый для каждого совершаемого приложением действия.
В Bcrypt реализована система хеширования с уникальными солями, что повышает безопасность хранения паролей администраторов, а также предотвращает попытки взлома методом грубой атаки на радужную таблицу. Хотя могут существовать более совершенные методы защиты, обновления четвертой версии значительно повысили целостную безопасность Docketeer.
- Метрики.
В версии 4.0 улучшены отображаемые метрики. Добавлен динамический график данных ввода-вывода блоков, отображающий данные чтения и записи с течением времени. Размер блока — важная метрика, поскольку влияет на производительность обработки в среде контейнеров. Новая метрика особенно важна для мониторинга интенсивных или больших контейнеров.
Наконец-то, Docketeer 5.0
- Slack Webhooks.
В разработке версии 5.0 основное внимание уделялось масштабируемости в командной среде. Теперь эмиттер событий переработан под веб-хуки Slack: уведомления о достижении пороговых значений процессора и памяти отправляются в Slack-канал. Теперь целые команды своевременно получают доступ к ценным данным без необходимости устанавливать приложение Docketeer на компьютер.
- История томов (volume history).
В графическом интерфейсе пятой версии Docketeer появилась новая вкладка — “История томов”.
Данная вкладка позволяет получать доступ к ценной информации обо всех текущих и прошлых контейнерах.
Пользователю доступна следующая информация:
- Название контейнера.
- Статус контейнера.
- Статус тома.
Более того, вкладка “История томов” включает поиск, чтобы избежать прокрутки многих страниц ненужной информации. Поиск существенно упрощает пользование Docketeer в больших масштабах.
Наконец, в пятой версии Docketeer был частично переписан на TypeScript, с настройкой конфигурации и других важных файлов.
Проверьте Docketeer на GitHub и посмотрите официальный сайт!
Читайте также:
Перевод статьи Tre Hultzen: Docketeer 5.0 — What’s New?