> For the complete documentation index, see [llms.txt](https://book.konstantinsecurity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.konstantinsecurity.com/readme/architect/kubernetes/gui-management-lens.md).

# GUI management Lens

<https://habr.com/ru/companies/first/articles/677420/>

<https://github.com/MuhammedKalkan/OpenLens>

![](/files/tvOp0b7BvXdcAJO7WI7B)

Управление кластером Kubernetes чаще всего осуществляется при помощи командной строки и утилиты kubectl. Однако, кроме этого распространенного способа, есть и другие. Например, с помощью программы Lens.

Lens — программное обеспечение, которое позволяет полноценно управлять кластером Kubernetes через графический интерфейс пользователя — GUI (graphical user interface).

В качестве плюсов Lens можно выделить следующие особенности:

1. Бесплатный продукт с открытым исходным кодом.
2. Поддержка всех основных типов кластеров на bare metal, on-premise, cloud computing (облачные решения), public clouds.
3. Доступен весь набор функций для управления кластером и всеми его объектами — управление подами, namespace, deployment, service и т. д.

Разработчиком программы является американская компания Mirantis, специализирующаяся на на разработке программного обеспечения для облачных вычислений с открытым исходным кодом. Исходный код программы выложен на [GitHub](https://github.com/lensapp/lens).

Те, кому требуется работать в команде, могут воспользоваться платными тарифами. Главная особенность платного тарифа — наличие функции Team Management, которая представляет собой пространство для команд с возможностью организации совместной работы и централизованного доступа к кластеру. При этом набор функций одинаков как для платной версии, так и для бесплатной.

[Установить Lens](https://k8slens.dev/) можно на любую операционную систему – Windows, macOS, Linux. Пользоваться программой могут только зарегистрированные пользователи. При первом запуске необходимо создать учетную запись на официальном сайте Lens или авторизоваться при помощи GitHub/Google.

![](/files/hqSTM1q007L8wLMONZ1q)

Подключение к кластеру Kubernetes осуществляется при помощи конфигурационного файла кластера, который по умолчанию находится в директории **/home/<имя\_пользователя>/.kube** и называется **config**.

Чтобы добавить файл с конфигом, необходимо нажать на синюю кнопку со знаком «плюс» которая находиться справа снизу. Далее следует выбрать директорию, где хранится файл, и нажать на кнопку **sync**. После этого кластер отобразится в главном меню в самом конце списка.

При подключении к кластеру Kubernetes, Lens использует собственный прокси-сервер - **Lens K8S Proxy**.

![](/files/rC2QrP7vXc8O8ykAwJel)

После перехода на страницу кластера отображается главная страница с метриками **Prometheus**. Если метрики Prometheus у вас не используются или не настроены, то будет отображаться надпись **Metrics are not available**.

![](/files/jkqndCYadGrfA2EFVsRu)

Слева находится меню в котором перечислены все компоненты кластера – Nodes, Workloads, Config, Networks, Storage, Namespaces:

![](/files/sOnbBILdatWvh6cqTTPf)

Также предусмотрены отдельные разделы для просмотров событий (Events), для работы с Helm чартами (Helm) и работы с политиками доступа (Access Control).

Для просмотра информации о нодах кластера необходимо перейти в раздел **Nodes**:

![](/files/EFnslYRs7fcYNXGgfIkk)

Для отображения секретов (Secrets) необходимо перейти в раздел **Config** и выбрать параметр **Secrets**:

![](/files/hUBn2eD2teA9CSCP6yYV)

Чтобы просмотреть все доступные типы сетей (Service), необходимо перейти в раздел **Network** и выбрать параметр **Services**:

![](/files/fbGkTgURrTXSQ1i0QlD3)

Для отображения всех доступных namespace в кластере необходимо перейти в раздел **Namespaces**:

![](/files/otmUetgHZh9AUtNxXgOR)

Все перечисленные выше объекты можно редактировать путем нажатия на них. В появившемся окне справа сверху будут доступны кнопки для редактирования и удаления объекта:

![](/files/CGDeNtcowOnPSNMIK4Ix)

Чтобы найти информацию о подах а также отобразить все доступные Deployments, Daemon Sets, Stateful Sets, Replica Sets, Jobs и Cron Jobs необходимо раскрыть раздел **Workloads** и перейти в пункт **Overview**:

![](/files/HO0RcghKop4JwsBS8esG)

Отобразим список всех подов в системе, перейдя в пункт **Pods**:

![](/files/lc5DLuRStN7c13YrBTDF)

Чтобы выбрать необходимый namespace, необходимо найти его в выпадающем списке, который находится справа сверху. По умолчанию отображаются все поды, которые находятся в namespace с именем default.

Чтобы отобразить информацию о поде (эквивалент команды kubectl describe pod), достаточно щелкнуть по имени пода. Откроется дополнительное окно, в котором будет отображена вся информация о поде, включая его полное имя, namespace, labels, статус пода и т. д.:

![](/files/2HiRr3MPyIrYbbTyrF7S)

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

![](/files/0IBmjShjjhu8N56jzWjm)

Для того что попасть внутрь контейнера, необходимо выбрать опцию **Pod Shell**. После этого внизу отобразится интерфейс командной строки, а также запустится сама оболочка внутри контейнера (команда kubectl exec -i -t):

![](/files/e0rWhCbCxuzXmUpDpYVR)

Для просмотра логов пода выберите опцию **Pod Logs** (эквивалент команды kubectl logs). Логи также будут отображены в терминале, который появится снизу:

![](/files/VwZeh7Ev6Xq0qhXelio2)

А чтобы отредактировать конфигурационный файл пода, воспользуйтесь опцией Edit (эквивалент команды kubectl edit), которая отобразит терминал — в нем можно вносить необходимые правки:

![](/files/Nk455u0Ujn5X3O3yDS68)

Для сохранения изменений необходимо нажать на кнопку **Save & Close**. Изменения не будут применены до перезагрузки пода. Чтобы выполнить перезагрузку, перейдите в меню **Workloads**, далее выберите раздел **Deployments**. Найдите нужный deployment и кликните по нему. В появившемся окне, справа сверху нажмите на кнопку **Restart**:

![](/files/VhzSnLVAqCEE5PvERny4)

Для просмотра всех доступных событий в кластере следует перейти в раздел **Events**:

![](/files/gyyxzJXvrtF8n5tYbwWT)

Для просмотра более подробной информации о событии необходимо просто по нему щелкнуть:

![](/files/59YNamxLCC8JCg9nsvEB)

Также в Lens предусмотрена работа с чартами Helm. Для этого существует отдельная вкладка с именем **Helm**:

![](/files/hcb50ZUjnJAqZXcVQz5w)

В списке представлены только самые популярные чарты. Для установки необходимо кликнуть по нужному чарту и в открывшемся меню нажать на кнопку **Install**. Также в этом окне будет представлена вся основная информация о чарте:

![](/files/7oP1oaUl2T66uZ5tnNWO)

Подводя итоги, можно сказать, что программа Lens идеально подходит для управления кластером Kubernetes. Весь процесс управления происходит из графического интерфейса. При этом доступны все функции управления – от просмотра объектов до перезапуска подов, создания объектов и редактирования конфигурационных файлов.
