GUI management Lens
Last updated
Last updated
https://habr.com/ru/companies/first/articles/677420/
https://github.com/MuhammedKalkan/OpenLens
Управление кластером 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. Весь процесс управления происходит из графического интерфейса. При этом доступны все функции управления – от просмотра объектов до перезапуска подов, создания объектов и редактирования конфигурационных файлов.