Lens
Lens — графический клиент Kubernetes. Он подключается к API cluster через kubeconfig и показывает те же объекты, которые доступны через kubectl. Это удобный способ быстро увидеть связи workload, pods, events, logs и manifests, но не отдельный источник истины.
Как подключается
Lens читает kubeconfig из локальных файлов, в том числе из ~/.kube/, либо из явно добавленного файла. Доступ определяется credentials и RBAC из выбранного context.
Lens
→ kubeconfig context
→ Kubernetes API
→ RBAC
→ cluster objectsЕсли пользователь в kubeconfig имеет только read-only доступ, Lens не должен превращать его в администратора. Если передан admin kubeconfig, интерфейс получает административные возможности — поэтому такой файл нужно защищать как секрет.
Что проверяю первым
Перед работой смотрю:
- название cluster и context;
- namespace;
- доступную версию Kubernetes;
- состояние nodes;
- включены ли фильтры;
- под каким пользователем работает context.
Похожее имя окружения или оставшийся namespace — простой способ посмотреть или изменить не тот объект.
Мой маршрут при ошибке pod
- Открываю workload и проверяю desired/current/ready replicas.
- Перехожу к управляемому ReplicaSet или StatefulSet.
- Выбираю конкретный pod.
- Смотрю conditions и events.
- Проверяю каждый container, его restart count и last state.
- Читаю logs нужного контейнера.
- Сравниваю manifest, env, image и probes с рабочим pod.
Этот маршрут важнее самой кнопки в интерфейсе: он связывает симптом с controller, который создаёт pod.
Lens и kubectl
| Lens | kubectl |
|---|---|
| удобно исследовать связи объектов | удобно повторять точную команду |
| быстро переключает logs/events/manifest | результат легко сохранить в тикет или заметку |
| помогает увидеть общую картину | лучше подходит для скриптов и проверки гипотез |
| действие может быть скрыто за кнопкой | команда явно показывает изменение |
При серьёзной диагностике подтверждаю вывод CLI-командой. Так остаётся воспроизводимый шаг, который не зависит от версии интерфейса.
Метрики
Для отображения cluster metrics Lens использует Prometheus. Если графики пусты, это ещё не говорит, что CPU или память равны нулю. Проверяю:
- запущен ли Prometheus;
- обнаружил ли его Lens;
- есть ли доступ к service;
- поддерживаются ли запросы, которые использует Lens;
- совпадает ли интервал и выбранный объект.
Осторожно с изменениями
Из Lens можно удалить pod, изменить manifest, открыть shell или посмотреть Secret при достаточных правах. Перед действием проверяю context и понимаю, какой controller восстановит объект.
Удаление pod может временно убрать симптом, но:
- не меняет Deployment;
- теряет локальные данные контейнера;
- обрывает запросы;
- может скрыть предыдущие логи;
- не устраняет неверную конфигурацию.