![](https://habrastorage.org/getpro/habr/upload_files/749/a2b/cd7/749a2bcd7869138bcfaac95a55d573f5.jpg)
Управление кластером 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.
![](https://habrastorage.org/getpro/habr/upload_files/b5f/c87/c49/b5fc87c49beac0e3fb54b437acb2be72.png)
Подключение к кластеру Kubernetes осуществляется при помощи конфигурационного файла кластера, который по умолчанию находится в директории /home/<имя_пользователя>/.kube и называется config.
Чтобы добавить файл с конфигом, необходимо нажать на синюю кнопку со знаком «плюс» которая находиться справа снизу. Далее следует выбрать директорию, где хранится файл, и нажать на кнопку sync. После этого кластер отобразится в главном меню в самом конце списка.
При подключении к кластеру Kubernetes, Lens использует собственный прокси-сервер - Lens K8S Proxy.
![](https://habrastorage.org/getpro/habr/upload_files/df8/ac4/4b0/df8ac44b0637defa90ea5408d76bd8b3.png)
После перехода на страницу кластера отображается главная страница с метриками Prometheus. Если метрики Prometheus у вас не используются или не настроены, то будет отображаться надпись Metrics are not available.
![](https://habrastorage.org/getpro/habr/upload_files/bfc/470/050/bfc470050a50018c258b947b9a453de0.png)
Слева находится меню в котором перечислены все компоненты кластера – Nodes, Workloads, Config, Networks, Storage, Namespaces:
![](https://habrastorage.org/getpro/habr/upload_files/a85/29f/8df/a8529f8df05905eb2d2341c7f850da13.png)
Также предусмотрены отдельные разделы для просмотров событий (Events), для работы с Helm чартами (Helm) и работы с политиками доступа (Access Control).
Для просмотра информации о нодах кластера необходимо перейти в раздел Nodes:
![](https://habrastorage.org/getpro/habr/upload_files/aae/649/ce0/aae649ce078dfc749467cb6ea2272637.png)
Для отображения секретов (Secrets) необходимо перейти в раздел Config и выбрать параметр Secrets:
![](https://habrastorage.org/getpro/habr/upload_files/7d6/469/c6d/7d6469c6dd4ae4c3dddbd7d80f3f2448.png)
Чтобы просмотреть все доступные типы сетей (Service), необходимо перейти в раздел Network и выбрать параметр Services:
![](https://habrastorage.org/getpro/habr/upload_files/1b9/67b/5f6/1b967b5f640c17dc1c8100543e495e51.png)
Для отображения всех доступных namespace в кластере необходимо перейти в раздел Namespaces:
![](https://habrastorage.org/getpro/habr/upload_files/0d5/714/569/0d571456969df4355c2d8bb22b1e449f.png)
Все перечисленные выше объекты можно редактировать путем нажатия на них. В появившемся окне справа сверху будут доступны кнопки для редактирования и удаления объекта:
![](https://habrastorage.org/getpro/habr/upload_files/4ab/a23/872/4aba2387278c513ec46bd1a14ff6391c.png)
Чтобы найти информацию о подах а также отобразить все доступные Deployments, Daemon Sets, Stateful Sets, Replica Sets, Jobs и Cron Jobs необходимо раскрыть раздел Workloads и перейти в пункт Overview:
![](https://habrastorage.org/getpro/habr/upload_files/f48/ae9/9bf/f48ae99bf070fe6633b9d5b87d91b161.png)
Отобразим список всех подов в системе, перейдя в пункт Pods:
![](https://habrastorage.org/getpro/habr/upload_files/24f/d5d/c5c/24fd5dc5cf78cc8a5d56bd4d853cb75b.png)
Чтобы выбрать необходимый namespace, необходимо найти его в выпадающем списке, который находится справа сверху. По умолчанию отображаются все поды, которые находятся в namespace с именем default.
Чтобы отобразить информацию о поде (эквивалент команды kubectl describe pod), достаточно щелкнуть по имени пода. Откроется дополнительное окно, в котором будет отображена вся информация о поде, включая его полное имя, namespace, labels, статус пода и т. д.:
![](https://habrastorage.org/getpro/habr/upload_files/ae1/a21/4c8/ae1a214c8ffaefc92477e78a6ba47b89.png)
В правом верхнем углу будут находиться кнопки с дополнительными действиями, такими как подключение к оболочке пода, просмотр логов пода, редактирование конфига и удаление пода.
![](https://habrastorage.org/getpro/habr/upload_files/7c8/112/445/7c8112445ab25684b0159bb7637f5fb8.png)
Для того что попасть внутрь контейнера, необходимо выбрать опцию Pod Shell. После этого внизу отобразится интерфейс командной строки, а также запустится сама оболочка внутри контейнера (команда kubectl exec -i -t):
![](https://habrastorage.org/getpro/habr/upload_files/16f/d61/23a/16fd6123aae47154438e9c99c382831d.png)
Для просмотра логов пода выберите опцию Pod Logs (эквивалент команды kubectl logs). Логи также будут отображены в терминале, который появится снизу:
![](https://habrastorage.org/getpro/habr/upload_files/a3a/b9a/991/a3ab9a991893b81c1a339de3aa6f67ee.png)
А чтобы отредактировать конфигурационный файл пода, воспользуйтесь опцией Edit (эквивалент команды kubectl edit), которая отобразит терминал — в нем можно вносить необходимые правки:
![](https://habrastorage.org/getpro/habr/upload_files/64b/450/fed/64b450fedaf8d37b5ca7e8ee31eec487.png)
Для сохранения изменений необходимо нажать на кнопку Save & Close. Изменения не будут применены до перезагрузки пода. Чтобы выполнить перезагрузку, перейдите в меню Workloads, далее выберите раздел Deployments. Найдите нужный deployment и кликните по нему. В появившемся окне, справа сверху нажмите на кнопку Restart:
![](https://habrastorage.org/getpro/habr/upload_files/64a/352/276/64a352276ad99dbaa5d4dbb9cde26515.png)
Для просмотра всех доступных событий в кластере следует перейти в раздел Events:
![](https://habrastorage.org/getpro/habr/upload_files/728/ff6/a18/728ff6a18762d152ccdd354ea91c5ed9.png)
Для просмотра более подробной информации о событии необходимо просто по нему щелкнуть:
![](https://habrastorage.org/getpro/habr/upload_files/0f5/d7a/d04/0f5d7ad041917014c82bfc36f70599fd.png)
Также в Lens предусмотрена работа с чартами Helm. Для этого существует отдельная вкладка с именем Helm:
![](https://habrastorage.org/getpro/habr/upload_files/5f4/68d/aba/5f468dabab5339529e883c2ff6e69628.png)
В списке представлены только самые популярные чарты. Для установки необходимо кликнуть по нужному чарту и в открывшемся меню нажать на кнопку Install. Также в этом окне будет представлена вся основная информация о чарте:
![](https://habrastorage.org/getpro/habr/upload_files/249/0da/4fc/2490da4fcc4b0b5c451bb6e06763fe55.png)
Подводя итоги, можно сказать, что программа Lens идеально подходит для управления кластером Kubernetes. Весь процесс управления происходит из графического интерфейса. При этом доступны все функции управления – от просмотра объектов до перезапуска подов, создания объектов и редактирования конфигурационных файлов.