Управление кластером Kubernetes чаще всего осуществляется при помощи командной строки и утилиты kubectl. Однако, кроме этого распространенного способа, есть и другие. Например, с помощью программы Lens.
Lens — программное обеспечение, которое позволяет полноценно управлять кластером Kubernetes через графический интерфейс пользователя — GUI (graphical user interface).
В качестве плюсов Lens можно выделить следующие особенности:
Бесплатный продукт с открытым исходным кодом.
Поддержка всех основных типов кластеров на bare metal, on-premise, cloud computing (облачные решения), public clouds.
Доступен весь набор функций для управления кластером и всеми его объектами — управление подами, namespace, deployment, service и т. д.
Разработчиком программы является американская компания Mirantis, специализирующаяся на на разработке программного обеспечения для облачных вычислений с открытым исходным кодом. Исходный код программы выложен на GitHub.
Те, кому требуется работать в команде, могут воспользоваться платными тарифами. Главная особенность платного тарифа — наличие функции Team Management, которая представляет собой пространство для команд с возможностью организации совместной работы и централизованного доступа к кластеру. При этом набор функций одинаков как для платной версии, так и для бесплатной.
Установить Lens можно на любую операционную систему – Windows, macOS, Linux. Пользоваться программой могут только зарегистрированные пользователи. При первом запуске необходимо создать учетную запись на официальном сайте Lens или авторизоваться при помощи GitHub/Google.
Подключение к кластеру Kubernetes осуществляется при помощи конфигурационного файла кластера, который по умолчанию находится в директории /home/<имя_пользователя>/.kube и называется config.
Чтобы добавить файл с конфигом, необходимо нажать на синюю кнопку со знаком «плюс» которая находиться справа снизу. Далее следует выбрать директорию, где хранится файл, и нажать на кнопку sync. После этого кластер отобразится в главном меню в самом конце списка.
При подключении к кластеру Kubernetes, Lens использует собственный прокси-сервер - Lens K8S Proxy.
После перехода на страницу кластера отображается главная страница с метриками Prometheus. Если метрики Prometheus у вас не используются или не настроены, то будет отображаться надпись Metrics are not available.
Слева находится меню в котором перечислены все компоненты кластера – Nodes, Workloads, Config, Networks, Storage, Namespaces:
Также предусмотрены отдельные разделы для просмотров событий (Events), для работы с Helm чартами (Helm) и работы с политиками доступа (Access Control).
Для просмотра информации о нодах кластера необходимо перейти в раздел Nodes:
Для отображения секретов (Secrets) необходимо перейти в раздел Config и выбрать параметр Secrets:
Чтобы просмотреть все доступные типы сетей (Service), необходимо перейти в раздел Network и выбрать параметр Services:
Для отображения всех доступных namespace в кластере необходимо перейти в раздел Namespaces:
Все перечисленные выше объекты можно редактировать путем нажатия на них. В появившемся окне справа сверху будут доступны кнопки для редактирования и удаления объекта:
Чтобы найти информацию о подах а также отобразить все доступные Deployments, Daemon Sets, Stateful Sets, Replica Sets, Jobs и Cron Jobs необходимо раскрыть раздел Workloads и перейти в пункт Overview:
Отобразим список всех подов в системе, перейдя в пункт Pods:
Чтобы выбрать необходимый namespace, необходимо найти его в выпадающем списке, который находится справа сверху. По умолчанию отображаются все поды, которые находятся в namespace с именем default.
Чтобы отобразить информацию о поде (эквивалент команды kubectl describe pod), достаточно щелкнуть по имени пода. Откроется дополнительное окно, в котором будет отображена вся информация о поде, включая его полное имя, namespace, labels, статус пода и т. д.:
В правом верхнем углу будут находиться кнопки с дополнительными действиями, такими как подключение к оболочке пода, просмотр логов пода, редактирование конфига и удаление пода.
Для того что попасть внутрь контейнера, необходимо выбрать опцию Pod Shell. После этого внизу отобразится интерфейс командной строки, а также запустится сама оболочка внутри контейнера (команда kubectl exec -i -t):
Для просмотра логов пода выберите опцию Pod Logs (эквивалент команды kubectl logs). Логи также будут отображены в терминале, который появится снизу:
А чтобы отредактировать конфигурационный файл пода, воспользуйтесь опцией Edit (эквивалент команды kubectl edit), которая отобразит терминал — в нем можно вносить необходимые правки:
Для сохранения изменений необходимо нажать на кнопку Save & Close. Изменения не будут применены до перезагрузки пода. Чтобы выполнить перезагрузку, перейдите в меню Workloads, далее выберите раздел Deployments. Найдите нужный deployment и кликните по нему. В появившемся окне, справа сверху нажмите на кнопку Restart:
Для просмотра всех доступных событий в кластере следует перейти в раздел Events:
Для просмотра более подробной информации о событии необходимо просто по нему щелкнуть:
Также в Lens предусмотрена работа с чартами Helm. Для этого существует отдельная вкладка с именем Helm:
В списке представлены только самые популярные чарты. Для установки необходимо кликнуть по нужному чарту и в открывшемся меню нажать на кнопку Install. Также в этом окне будет представлена вся основная информация о чарте:
Подводя итоги, можно сказать, что программа Lens идеально подходит для управления кластером Kubernetes. Весь процесс управления происходит из графического интерфейса. При этом доступны все функции управления – от просмотра объектов до перезапуска подов, создания объектов и редактирования конфигурационных файлов.
Комментарии (6)
skygtr99113
20.07.2022 07:11Я не знаю почему не стоит использовать. На работе офлайн кластер. Конфиг подхватывает через раз. А когда и сработало, то видоизменяет его, почему-то. Приложение в принципе не должно менять конфигурацию без явных подтверждений пользователя. Ну да ладно. Плохо, что после этого kubectl перестает работать. У меня дебиан 11 и программа запускается 30-40 секунд. Это очень долго
select26
20.07.2022 19:20Вся конфигурация из кода в любом случае. Иначе зачем куб?
А визуализация через Prom -> Grafana etc.
Зачем он вообще? Непонятно.
Наверное опять для тех, кому документацию читать неохота.
ColdPhoenix
Откатил на старую версию, как они добавили обязательную авторизацию, люди на гитхабе уже даже просят премиум оффлайн версию хотя бы.
GT_Volk
Многим в сообществе не по душе эта их новая "фича" уже есть очищенные от обязательной регистрации, и описания способов ее скипнуть. Для себя выбрал самый просто способ:
UltraMax
Спасибо, взял на заметку1
Немного смущает внизу надпись, что Lens is not connected with your Lens id, но зато иконка в трее нормально видна, а не как у OpenLens такого же цвета, как и сам трей (темая) из за чего там тупо пустое место