В обзоре вы познакомитесь с удобным инструментом 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) функционал, начиная со страницы входа в систему. 

Когда пользователь входит в систему, то получает одну из трех ролей: системный администратор, администратор или пользователь. Сразу после входа в систему первой страницей, доступной пользователю, становится вкладка настроек. 

Системный администратор отвечает за создание пользователей и назначение ролей, администраторы управляют контейнерами и настройками, а пользователи просто просматривают метрики.

Вкладка настроек в Docketeer

На вкладке настроек администраторам предоставлен доступ к регулированию многочисленных параметров. Первая настройка предназначена для конфигурации Twilio-уведомлений, далее следуют параметры частоты уведомлений и частоты мониторинга метрик.

Вкладка “Пользователи” в интерфейсе Docketeer

Во вкладке “Пользователи” администраторам доступен просмотр пользователей и некоторые настройки, но только системные администраторы способны здесь же создавать новых пользователей и выдавать роли.

Следующей по списку меню идет вкладка “Контейнеры”, где пользователи просматривают графики метрик и следят за состоянием контейнеров. Здесь же администраторы запускают или останавливают контейнеры.

Вкладка “Контейнеры” в Docketeer

Теперь рассмотрим кладку “Изображения”. В этом разделе пользователи просматривают сохраненные образы контейнеров. Администраторы здесь же запускают или удаляют образы, скачивают их из Docker Hub.

Вкладка “Изображения” в Docketeer

Следующая вкладка  —  “Метрики”. Открыв ее, пользователи увидят метрики загруженности процессора и памяти контейнера, а также историю его использования. Кроме того, здесь отображается текущее значение Net/Block IO, что позволяет легко отслеживать состояние контейнеров.

Вкладка “Метрики” с круговыми диаграммами
Вкладка “Метрики”, показывающая историю использования ресурсов выбранными контейнерами

На вкладке “Docker Compose” администраторы компонуют YML-файлы без командной строки. Также в данной вкладке доступна к просмотру информация о драйвере контейнера, его идентификаторе, области применения и времени создания.

Вкладка “Docker Compose” в Docketeer

Интерфейс 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

Данная вкладка позволяет получать доступ к ценной информации обо всех текущих и прошлых контейнерах. 
Пользователю доступна следующая информация: 

  1. Название контейнера.
  2. Статус контейнера.
  3. Статус тома. 

Более того, вкладка “История томов” включает поиск, чтобы избежать прокрутки многих страниц ненужной информации. Поиск существенно упрощает пользование Docketeer в больших масштабах.

Наконец, в пятой версии Docketeer был частично переписан на TypeScript, с настройкой конфигурации и других важных файлов.

Проверьте Docketeer на GitHub и посмотрите официальный сайт!

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Tre Hultzen: Docketeer 5.0 — What’s New?

Предыдущая статьяРекомендации по обработке и регистрации ошибок в React
Следующая статьяМетоды лингвистического моделирования с использованием Python