Инструменты DevOps: интерфейс Docketeer для Docker Desktop



Книга Инструменты DevOps: интерфейс Docketeer для Docker Desktop



В обзоре вы познакомитесь с удобным инструментом 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 и посмотрите официальный сайт!



516   0  

Comments

    Ничего не найдено.