• Guest
HabraHabr
  • Main
  • Users

  • Development
    • Programming
    • Information Security
    • Website development
    • JavaScript
    • Game development
    • Open source
    • Developed for Android
    • Machine learning
    • Abnormal programming
    • Java
    • Python
    • Development of mobile applications
    • Analysis and design of systems
    • .NET
    • Mathematics
    • Algorithms
    • C#
    • System Programming
    • C++
    • C
    • Go
    • PHP
    • Reverse engineering
    • Assembler
    • Development under Linux
    • Big Data
    • Rust
    • Cryptography
    • Entertaining problems
    • Testing of IT systems
    • Testing Web Services
    • HTML
    • Programming microcontrollers
    • API
    • High performance
    • Developed for iOS
    • CSS
    • Industrial Programming
    • Development under Windows
    • Image processing
    • Compilers
    • FPGA
    • Professional literature
    • OpenStreetMap
    • Google Chrome
    • Data Mining
    • PostgreSQL
    • Development of robotics
    • Visualization of data
    • Angular
    • ReactJS
    • Search technologies
    • Debugging
    • Test mobile applications
    • Browsers
    • Designing and refactoring
    • IT Standards
    • Solidity
    • Node.JS
    • Git
    • LaTeX
    • SQL
    • Haskell
    • Unreal Engine
    • Unity3D
    • Development for the Internet of things
    • Functional Programming
    • Amazon Web Services
    • Google Cloud Platform
    • Development under AR and VR
    • Assembly systems
    • Version control systems
    • Kotlin
    • R
    • CAD/CAM
    • Customer Optimization
    • Development of communication systems
    • Microsoft Azure
    • Perfect code
    • Atlassian
    • Visual Studio
    • NoSQL
    • Yii
    • Mono и Moonlight
    • Parallel Programming
    • Asterisk
    • Yandex API
    • WordPress
    • Sports programming
    • Lua
    • Microsoft SQL Server
    • Payment systems
    • TypeScript
    • Scala
    • Google API
    • Development of data transmission systems
    • XML
    • Regular expressions
    • Development under Tizen
    • Swift
    • MySQL
    • Geoinformation services
    • Global Positioning Systems
    • Qt
    • Dart
    • Django
    • Development for Office 365
    • Erlang/OTP
    • GPGPU
    • Eclipse
    • Maps API
    • Testing games
    • Browser Extensions
    • 1C-Bitrix
    • Development under e-commerce
    • Xamarin
    • Xcode
    • Development under Windows Phone
    • Semantics
    • CMS
    • VueJS
    • GitHub
    • Open data
    • Sphinx
    • Ruby on Rails
    • Ruby
    • Symfony
    • Drupal
    • Messaging Systems
    • CTF
    • SaaS / S+S
    • SharePoint
    • jQuery
    • Puppet
    • Firefox
    • Elm
    • MODX
    • Billing systems
    • Graphical shells
    • Kodobred
    • MongoDB
    • SCADA
    • Hadoop
    • Gradle
    • Clojure
    • F#
    • CoffeeScript
    • Matlab
    • Phalcon
    • Development under Sailfish OS
    • Magento
    • Elixir/Phoenix
    • Microsoft Edge
    • Layout of letters
    • Development for OS X
    • Forth
    • Smalltalk
    • Julia
    • Laravel
    • WebGL
    • Meteor.JS
    • Firebird/Interbase
    • SQLite
    • D
    • Mesh-networks
    • I2P
    • Derby.js
    • Emacs
    • Development under Bada
    • Mercurial
    • UML Design
    • Objective C
    • Fortran
    • Cocoa
    • Cobol
    • Apache Flex
    • Action Script
    • Joomla
    • IIS
    • Twitter API
    • Vkontakte API
    • Facebook API
    • Microsoft Access
    • PDF
    • Prolog
    • GTK+
    • LabVIEW
    • Brainfuck
    • Cubrid
    • Canvas
    • Doctrine ORM
    • Google App Engine
    • Twisted
    • XSLT
    • TDD
    • Small Basic
    • Kohana
    • Development for Java ME
    • LiveStreet
    • MooTools
    • Adobe Flash
    • GreaseMonkey
    • INFOLUST
    • Groovy & Grails
    • Lisp
    • Delphi
    • Zend Framework
    • ExtJS / Sencha Library
    • Internet Explorer
    • CodeIgniter
    • Silverlight
    • Google Web Toolkit
    • CakePHP
    • Safari
    • Opera
    • Microformats
    • Ajax
    • VIM
  • Administration
    • System administration
    • IT Infrastructure
    • *nix
    • Network technologies
    • DevOps
    • Server Administration
    • Cloud computing
    • Configuring Linux
    • Wireless technologies
    • Virtualization
    • Hosting
    • Data storage
    • Decentralized networks
    • Database Administration
    • Data Warehousing
    • Communication standards
    • PowerShell
    • Backup
    • Cisco
    • Nginx
    • Antivirus protection
    • DNS
    • Server Optimization
    • Data recovery
    • Apache
    • Spam and antispam
    • Data Compression
    • SAN
    • IPv6
    • Fidonet
    • IPTV
    • Shells
    • Administering domain names
  • Design
    • Interfaces
    • Web design
    • Working with sound
    • Usability
    • Graphic design
    • Design Games
    • Mobile App Design
    • Working with 3D-graphics
    • Typography
    • Working with video
    • Work with vector graphics
    • Accessibility
    • Prototyping
    • CGI (graphics)
    • Computer Animation
    • Working with icons
  • Control
    • Careers in the IT industry
    • Project management
    • Development Management
    • Personnel Management
    • Product Management
    • Start-up development
    • Managing the community
    • Service Desk
    • GTD
    • IT Terminology
    • Agile
    • Business Models
    • Legislation and IT-business
    • Sales management
    • CRM-systems
    • Product localization
    • ECM / EDS
    • Freelance
    • Venture investments
    • ERP-systems
    • Help Desk Software
    • Media management
    • Patenting
    • E-commerce management
    • Creative Commons
  • Marketing
    • Conferences
    • Promotion of games
    • Internet Marketing
    • Search Engine Optimization
    • Web Analytics
    • Monetize Web services
    • Content marketing
    • Monetization of IT systems
    • Monetize mobile apps
    • Mobile App Analytics
    • Growth Hacking
    • Branding
    • Monetize Games
    • Display ads
    • Contextual advertising
    • Increase Conversion Rate
  • Sundry
    • Reading room
    • Educational process in IT
    • Research and forecasts in IT
    • Finance in IT
    • Hakatonas
    • IT emigration
    • Education abroad
    • Lumber room
    • I'm on my way

Обзор графических интерфейсов для Kubernetes / Блог компании Флант / Хабр

Обзор графических интерфейсов для Kubernetes / Блог компании Флант / Хабр
Для полноценной работы с системой важно знание утилит командной строки: в случае с Kubernetes это kubectl. С другой стороны, хорошо спроектированные, продуманные графические интерфейсы могут выполнять большую часть обычных задач и открыть дополнительные возможности при эксплуатации систем.
В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).
Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:прошлой статье, однако — для полноты картины — релевантные опции из неё (K8Dash, Octant, Kubernetes Web View) включены в финальную таблицу.[/i]

1. Kubernetes Dashboard


Страница документации;
Репозиторий (8000+ звёзд GitHub);
Лицензия: Apache 2.0;
Вкратце: «Универсальный веб-интерфейс для кластеров Kubernetes. Он позволяет пользователям управлять приложениями, работающими в кластере, и устранять их неполадки, а также управлять самим кластером».

Это панель общего назначения, рассматриваемая авторами Kubernetes в официальной документации (хотя и не разворачиваемая по умолчанию). Она предназначена для нужд повседневной эксплуатации и отладки приложений в кластере. У себя мы её используем как полноценное легковесное визуальное средство, позволяющее предоставить разработчикам необходимый и достаточный доступ к кластеру. Её возможности покрывают все их потребности, что возникают в процессе использования кластера (в этой статье мы демонстрировали некоторые фичи панели). Как легко догадаться, это означает, что она удовлетворяет всем нашим требованиям, перечисленным выше.
Среди основных возможностей Kubernetes Dashboard:
Навигация: просмотр основных объектов K8s в разрезе пространств имен.
При наличии прав администратора панель показывает узлы, пространства имен и Persistent Volumes. По узлам доступна статистика по использованию памяти, процессора, выделение ресурсов, метрики, статус, события и т.п.
Просмотр приложений, развёрнутых в пространстве имен, по их типу (Deployment, StatefulSet и др.), связей между ними (ReplicaSet, Horizontal Pod Autoscaler), общей и персонализированной статистики и информации.
Просмотр сервисов и Ingress’ов, а также их связей с pod’ами и endpoint’ами.
Просмотр файловых объектов и хранилищ: Persistent Volume и Persistent Volume Claim.
Просмотр и редактирование ConfigMap и Secret.
Просмотр логов.
Доступ к командной строке в контейнерах.
Значимый недостаток (впрочем, не для нас)— нет поддержки мультикластерной работы. Проект активно развивается сообществом и поддерживает актуальные функции с выходом новых версий и спецификаций Kubernetes API: последняя версия панели — v2.0.1 от 22 мая 2020 г. — протестирована на совместимость с Kubernetes 1.18.

2. Lens


Сайт;
Презентация;
Репозиторий (~4800 звёзд GitHub);
Лицензия: MIT;
Вкратце: «Kubernetes IDE».

Проект позиционируется как полноценная интегрированная среда разработки (IDE) для Kubernetes. Причем она оптимизирована для работы со множеством кластеров и большим количеством запущенных в них pod’ов (протестировано на 25 тысячах pod’ов).
Основные особенности/возможности Lens:
Автономное приложение, не требующее установки чего-либо внутри кластера (точнее, для получения всех метрик потребуется Prometheus, но для этого можно использовать и уже существующую инсталляцию). «Основная» же инсталляция производится на персональный компьютер под управлением Linux, macOS или Windows.
Мультикластерное управление (поддерживаются сотни кластеров).
Визуализация состояния кластера в реальном времени.
Графики использования ресурсов и тенденции с историей на основе встроенного Prometheus.
Доступ к командной строке контейнеров и на узлах кластера.
Полная поддержка Kubernetes RBAC.
Актуальный релиз — 3.5.0 от 16 июня 2020 г. Изначальная версия была создана в компании Kontena, а на сегодняшний день вся интеллектуальная собственность передана в специальную организацию Lakend Labs, называемую «объединением cloud native-гиков и технологов», что отвечают за «сохранение и доступность Open Source-ПО и продуктов Kontena».
Lens — второй по популярности проект на GitHub из категории GUI для Kubernetes, «проигрывающий» только собственно Kubernets Dashboard. Все остальные Open Source-решения не из категории CLI* значительно уступают в популярности.
* См. про K9s в бонусной части обзора.

3. Kubernetic


Сайт;
Демонстрация;
Репозиторий (только документация) (200+ звёзд GitHub);
Лицензия: проприетарная;
Вкратце: «Управление кластером, сделанное просто».

Это проприетарное приложение, которое устанавливается на персональный компьютер (поддерживаются Linux, macOS, Windows). Его авторы обещают полную замену утилиты командной строки, а вместе с ним — отсутствие необходимости запоминать команды и даже десятикратное увеличение скорости работы.
Одной из интересных особенностей инструмента является встроенная поддержка Helm-чартов, а одним из недостатков — отсутствие метрик производительности приложений.
Главные фичи Kubernetic:
Удобное отображение состояния кластера. Один экран для просмотра всех связанных объектов кластера и их зависимостей; красное/зеленое состояние готовности для всех объектов; режим просмотра состояния кластера с обновлением статуса в реальном времени.
Кнопки быстрого действия для удаления и масштабирования приложения.
Поддержка мультикластерной работы.
Простая работа с пространствами имен.
Поддержка Helm-чартов и репозиториев Helm (в том числе, приватных). Установка и управление чартами в веб-интерфейсе.
Актуальная стоимость продукта — разовый платеж в размере 30 евро за его использование одним человеком для любого числа пространств имён и кластеров.

4. Kubevious


Сайт;
Презентация;
Репозиторий (~500 звёзд GitHub);
Лицензия: Apache 2.0
Вкратце: «Kubevious делает кластеры Kubernetes, конфигурацию приложений и просмотр их состояния безопасным и простым для понимания».

Идея проекта в создании инструмента, предназначенного для анализа и отладки конфигураций приложений, развёрнутых в кластере. Авторы сосредоточились в первую очередь на реализации этих фич, оставив более общие вещи на потом.
Основные особенности и функции Kubevious:
Визуализация кластера способом, ориентированным на приложения: взаимосвязанные объекты в интерфейсе группируются, выстраиваясь в иерархию.
Наглядное отображение зависимостей в конфигурациях и каскадных последствий их изменений.
Отображение ошибок конфигурирования кластера: неправильное использование меток, пропущенные порты и т.п. (К слову, если вам интересна эта фича, обратите внимание на Polaris, о котором мы уже писали.)
В дополнение к предыдущему пункту — доступно обнаружение потенциально опасных контейнеров, т.е. имеющих слишком большие привилегии (атрибуты hostPID, hostNetwork, hostIPC, монтирование docker.sock и тому подобное).
Продвинутая система поиска по кластеру (не только по названиям объектов, но и по их свойствам).
Инструменты для планирования мощностей и оптимизации ресурсов.
Встроенная «машина времени» (возможность видеть произошедшие ранее изменения конфигурации объектов).
Управление RBAC при помощи сводной взаимосвязанной таблицы из Roles, RoleBindings, ServiceAccounts.
Работает только с одним кластером.

У проекта совсем короткая история (первый релиз состоялся 11 февраля 2020 г.) и как будто бы наметился период то ли стабилизации, то ли замедления в развитии. Если предыдущие версии выпускались часто, то последний релиз (v0.5 от 15 апреля 2020 г.) отстал от начального темпа разработки. Наверное, это связано с небольшим числом контрибьюторов: в истории репозитория их всего 4, а вся фактическая работа ведётся одним человеком.

5. Kubewise


  • Страница проекта;

  • Лицензия: проприетарная (станет Open Source);

  • Вкратце: «Простой мультиплатформенный клиент для Kubernetes».



Новый продукт от компании VMware, изначально созданный в рамках внутреннего хакатона (в июне 2019 года). Устанавливается на персональный компьютер, работает на базе Electron (поддерживаются Linux, macOS и Windows) и требует kubectl не ниже v1.14.0.
Основные возможности Kubewise:
  • Взаимодействие в интерфейсе с самыми часто используемыми сущностями Kubernetes: узлами, пространствами имен и т.п.

  • Поддержка нескольких файлов kubeconfig для разных кластеров.

  • Терминал с возможностью установки переменной окружения KUBECONFIG.
    Генерация кастомных файлов kubeconfig для заданного пространства имен.
    Расширенные возможности безопасности (RBAC, пароли, service accounts).
    Пока что у проекта всего один релиз — версия 1.1.0 от 26 ноября 2019 года. Причем авторы планировали сразу выпустить его как Open Source, однако из-за внутренних проблем (не связанных с техническими вопросами) не смогли этого сделать. По состоянию на май 2020, авторы работают над следующим релизом и одновременно с ним должны инициировать процесс открытия кода.

    Бонус


    1. Portainer on Kubernetes в бета-версии


    Сайт;
    Репозиторий (~100 звёзд GitHub);
    Лицензия: Zlib(?) (такая у родительского проекта).
    Проект от команды Portainer, разработавшей одноимённый популярный интерфейс для работы с Docker. Поскольку проект находится на ранней стадии разработки (первая и единственная бета-версия вышла 16 апреля 2020 г.), мы не стали оценивать его функции. Однако, возможно, он многих заинтересует: если это про вас — следите за развитием.

    2. IcePanel


    Сайт;
    Лицензия: проприетарная;
    Вкратце: «Визуальный редактор Kubernetes».

    Это молодое десктоп-приложение призвано визуализировать ресурсы Kubernetes в реальном времени и управлять ими с простым интерфейсом в духе drag & drop. Из объектов в настоящий момент поддерживаются Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap и Secret. В скором времени обещают добавить поддержку Helm. Главные недостатки — закрытость кода (ожидается его открытие «в каком-то виде») и отсутствие поддержки Linux (пока доступны только версии для Windows и macOS, хотя это тоже скорее всего лишь вопрос времени).

    3. k9s


    Сайт;
    Демонстрация;
    Репозиторий (~7700 звёзд GitHub);
    Лицензия: Apache 2.0;
    Вкратце: «Консольный интерфейс для Kubernetes, позволяющий стильно управлять кластером».

    Утилита оказалась лишь в бонусной части обзора по той причине, что предлагает консольный GUI. Однако авторы буквально выжали максимум из терминала, предлагая не только удобный интерфейс, но и 6 предопределённых тем оформления, и развитую систему клавиатурных сочетаний, и алиасов для команд. Их основательный подход не ограничился внешним видом: возможности k9s приятно впечатляют: управление ресурсами, отображение состояния кластера, вывод ресурсов в иерархическом представлении с зависимостями, просмотр логов, поддержка RBAC, расширение возможностей через плагины… Всё это пришлось по нраву широкому K8s-сообществу: количество GitHub-звёзд проекта практически не уступает официальному Kubernetes Dashboard!

    4. Панели управления приложениями


    И в завершении обзора — отдельная мини-категория. В неё попали два веб-интерфейса, предназначенные не для комплексного управления Kubernetes-кластерами, а для управления тем, что в них разворачивается.
    Как известно, одним из самых зрелых и распространённых средств для деплоя комплексных приложений в Kubernetes является Helm. За период его существования накопилось множество пакетов (Helm charts) для простого развёртывания многих популярных приложений. Поэтому вполне логично и появление соответствующих визуальных средств, позволяющих управлять жизненным циклом чартов.

    4.1. Monocular


    Репозиторий (1300+ звёзд GitHub);
    Лицензия: Apache 2.0;
    Вкратце: «Веб-приложение для поиска и обнаружения Helm-чартов во множестве репозиториев. Служит основой для проекта Helm hub».

    Эта разработка от авторов Helm устанавливается в Kubernetes и работает в пределах одного кластера, выполняя поставленную задачу. Однако в настоящее время проект не почти не развивается. Его основное предназначение — поддержка существования Helm Hub. Для других нужд авторы рекомендуют Kubeapps (см. дальше) или Red Hat Automation Broker (часть OpenShift, но уже тоже не развивается).

    4.2. Kubeapps


    Сайт;
    Презентация;
    Репозиторий (~2100 звёзд GitHub);
    Лицензия: Apache 2.0
    Вкратце: «Ваша панель приложений для Kubernetes».

    Продукт от Bitnami, который тоже устанавливается в кластер Kubernetes, но отличается от Monocular изначальным фокусом на работу с приватными репозиториями.
    Ключевые функции и особенности Kubeapps:
    Просмотр и установка Helm chart’ов из репозиториев.
    Проверка, обновление и удаление приложений на базе Helm, установленных в кластере.
    Поддержка работы с кастомными и частными репозиториями чартов (поддерживает ChartMuseum и JFrog Artifactory).
    Просмотр и работа с внешними сервисами — из Service Catalog и Service Brokers.
    Публикация установленных приложений при помощи механизма Service Catalog Bindings.
    Поддержка аутентификации и разделения прав при помощи RBAC.
    Завершая «бонусную» часть, стоит упомянуть о Kubernetes-дистрибутивы (например, известный всем OpenShift или куда менее популярный Kubesphere). Графический интерфейс в них может быть очень продвинутым, однако идёт как часть интегрированного стека большой системы. Поэтому рассматривать такие GUI-реализации в отдельности от самих дистрибутивов мы не стали.

    Итоговая таблица


    Ниже приведена сводная таблица, в которой мы постарались свести и агрегировать основные возможности существующих визуальных интерфейсов для облегчения сравнения:

    (Онлайн-версия таблицы доступна в Google Docs
    .)

    Заключение


    Графические интерфейсы для Kubernetes — довольно специфичная и молодая ниша. Однако она развиваюется весьма активно: уже можно найти как достаточно зрелые решения, так и совсем молодые, которым еще есть куда расти. Они ориентируются на разные варианты применения, предлагая функции и внешний вид практически на любой вкус. Надеемся, что этот обзор поможет подобрать инструмент, наилучшим образом покрывающий текущие потребности.

    P.S.


    Читайте также в нашем блоге:
    «Анонс веб-интерфейса Kubernetes Web View (и краткий обзор других web UI для Kubernetes)»;
    «Интеграция Kubernetes Dashboard и пользователей GitLab»;
    «Представлен Polaris для поддержания кластеров Kubernetes в здоровом состоянии»;
    «kubebox и другие консольные оболочки для Kubernetes».

It may be interesting

  • Comments
  • About article
  • Similar news
Qaz 23 November 2020 21:47
А как же Rancher?

hithinrupt

Author

18-06-2020, 12:53

Publication Date

Administration / DevOps

Category
  • Comments: 1
  • Views: 660
PuppetConf 2016. Kubernetes для
PuppetConf 2016. Kubernetes для
Изучаем Kubernetes: базовая программа
Представляем
PuppetConf 2016. Kubernetes для
Лучшие практики Kubernetes. Маппинг
Write a comment
Name:*
E-Mail:


Comments
I really loved reading your blog. It was very well authored and easy to undertand. Unlike additional blogs I have read which are really not tht good. I also found your posts very interesting. In fact after reading. I had to go show it to my friend and he ejoyed it as well!seo toronto



Hey what a brilliant post I have come across and believe me I have been searching out for this similar kind of post for past a week and hardly came across this. Thank you very much and will look for more postings from you. [Url = https: //mtsoul.net] 먹튀 검증 [/ url]

Today, 16:41

raymond weber

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.먹튀검증

Today, 15:58

raymond weber

You understand your projects stand out of the crowd. There is something unique about them. It seems to me all of them are brilliant.https://mtsoul.net

Today, 13:58

raymond weber

I wish more authors of this type of content would take the time you did to research and write so well. I am very impressed with your vision and insight.메이저사이트

Today, 13:47

raymond weber

Nice to be visiting  your blog once more, it has been months for me. Well this article that ive  been waited for therefore long. i want this article to finish my assignment  within the faculty, and it has same topic together with your article. Thanks,  nice share.  gogo  anime
Today, 12:00

Legend SEO

Adv
Website for web developers. New scripts, best ideas, programming tips. How to write a script for you here, we have a lot of information about various programming languages. You are a webmaster or a beginner programmer, it does not matter, useful articles will help to make your favorite business faster.

Login

Registration Forgot password