[Программирование, DevOps, Kubernetes] Kubevious — революционная панель управления Kubernetes (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
05-Июн-2021 18:32

Стандартная утилита для управления кластером Kubernetes (kubectl) — достаточно мощный инструмент администрирования, отладки и мониторинга. Но если вы хотите получить сводную информацию о кластере Kubernetes или работать с несколькими ресурсами одновременно, она уже не так эффективна.Сегодня существует большое количество графических панелей для управления Kubernetes, вероятно, вы уже используете одну из них. Например, это может быть стандартный Kubernetes Dashboard или панель управления и мониторинга, предоставляемая вашим облачным провайдером. Все эти инструменты очень похожи по методу группировки информации (простая иерархия для пространств имен / ресурсов) и не могут быть легко использованы для ответов на общие вопросы, касающиеся вашего кластера.В качестве примера предположим, что у вас большой кластер Kubernetes и вы хотите своевременно получать ответы на следующие вопросы:
  • Сможете ли вы быстро найти все Pods, для которых нет ограничений по ресурсам?
  • Сможете ли вы быстро найти все Role Bindings, которые не используются?
  • Сможете ли вы быстро определить, какое пространство имен утилизирует больше всего ресурсов в кластере?
  • Можете ли вы быстро определить, какие образы используют тег "latest"?
Столкнувшись с этими вопросами, администраторам кластера приходится делать выбор. Либо терять время, используяkubectl, либо создавать специальные сценарии или инструменты, которые исследуют кластер и пытаются найти эти конкретные проблемы.Было бы неплохо, если графический инструмент мог сразу же ответить на эти вопросы.Этот отсутствующий графический инструмент — Kubevious. Вы можете увидеть живую демонстрацию на https://demo.kubevious.io/, а посмотреть исходный код на https://github.com/kubevious/kubevious. Переосмысление возможностей Kubernetes DashboardKubevious — это революционная панель управления Kubernetes, которая намного функциональнее существующих аналогов. Она имеет множество интересных функций, но в этой статье мы сосредоточимся на описании мощного механизма правил, который позволяет вам находить и группировать ресурсы Kubernetes для решения поставленной задачи.
Kubevious dashboardKubevious имеет иерархическую структуру, которая будет вам знакома, поскольку он группирует объекты по пространству имен и группирует их в древовидной структуре непосредственно под пространством имен. Однако настоящее волшебство случается, когда вы понимаете, что Kubevious выполняет дополнительный анализ для каждого типа ресурса и «маркирует» его в соответствии со встроенными или настраиваемыми правилами.Например, вы без дополнительных настроек увидите значок «шпион» на объектах, которые имеют доступ к Kubernetes API за пределами их собственного пространства имен.
Spy ObjectsВозможность получить подобную информацию, особенно в больших кластерах, очень важна, так как значительно сокращает время, затрачиваемое на использование kubectl.В Kubevious также есть несколько других встроенных маркеров, которые могут вам пригодиться. В качестве примера вы можете легко найти неиспользуемые RoleBindings:
Unused Cluster role bindingsВы можете создавать собственные правила для решения других задач.Рассуждения о ресурсах KubernetesKubevious имеет собственный механизм правил, который позволяет находить ресурсы Kubernetes с указанными вами характеристиками. Редактор правил также является частью GUI:
Rule editorКаждое правило определяется на простом языке Kubik , синтаксис которого напоминает Javascript. Для каждого правила вы определяете тело правила (какой ресурс Kubernetes искать) вместе с маркером (что делать с затронутым ресурсом). Маркеры представляют собой комбинацию значка, имени и цвета, которую вы можете использовать для маркировки затронутых объектов.Уже существуют библиотеки правил, которые вы можете повторно использовать в своем кластере. Например, вы можете быстро найти модули без ограничений по ресурсам:
Pods without limits
for(var container of item.config.spec.containers)
{
  if (!container.resources.limit)
  {
    warning('No resource limit set');
  }
}
В качестве другого примера найдём пространство имен с ресурсами, которые потребляют более 40% ЦП или памяти.
select('Namespace')
    .filter(({item}) => {
        const cpu = item.getProperties('cluster-consumption').cpu;
        const memory = item.getProperties('cluster-consumption').memory;
        return (unit.percentage(cpu) >= 40) ||
                          (unit.percentage(memory) >= 40);
    })
Правила редактируются с помощью живого редактора из графического интерфейса пользователя и мгновенно сохраняются в самом кластере. Никаких дополнительных инструментов для управления правилами не требуется.Вы можете найти дополнительную информацию о Rule Engine в официальной документации.Перекрестные проверки и корреляции ресурсовДругая впечатляющая возможность Kubevious — это корреляция между различными ресурсами Kubernetes. После создания правила, которое соответствует определенному количеству ресурсов, вам не нужно вручную прокручивать область просмотра, пытаясь найти, какие из них подходят.GUI предоставляет вам информацию о том, какие ресурсы затронуты:
Affected resourcesПри нажатии на любой из затронутых ресурсов панель управления отобразит сведения об этом ресурсе.Эта возможность корреляции работает всегда, независимо от выбора объектов Kubevious. Таким образом, если Kubevious может обнаруживать связь между определенными ресурсами, вы сможете её увидеть на общей панели.
Shared resourcesЗаключениеМеханизм правил — это лишь одна из функций, предлагаемых Kubevious. Kubevious имеет несколько других интересных функций, таких как полнотекстовый поиск всех ресурсов кластера, а также машина времени для обнаружения изменений конфигурации. Если вы управляете большими кластерами и не хотите больше играть в вопросы с kubectl, то Kubevious легко установить и контролировать в своем кластере.Посетите сайт https://kubevious.io/ для получения дополнительной информации.
===========
Источник:
habr.com
===========

===========
Автор оригинала: Kostis Kapelonis
===========
Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_devops, #_kubernetes, #_kubernetes, #_devops, #_kubevious, #_utility (утилиты), #_devtool, #_utilities, #_dashboard, #_gui, #_blog_kompanii_timeweb (
Блог компании Timeweb
)
, #_programmirovanie (
Программирование
)
, #_devops, #_kubernetes
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 16:34
Часовой пояс: UTC + 5