Freelens — бесплатная среда разработки Kubernetes IDE

от virtualizationhowto
0 Комментарии 40 просмотров 6 мин на чтение

Я уже несколько лет экспериментирую с различными IDE-решениями для Kubernetes, и, честно говоря, существует множество отличных вариантов для работы с Kubernetes. За последние годы я писал о таких решениях, как Open Lens и Lens, и демонстрировал их. Моим новым фаворитом стал Aptakube. Однако Freelens — еще одно отличное решение, о котором стоит знать. Оно возрождает бесплатный и открытый инструмент в стиле «Lens» для работы с Kubernetes.

Что такое Freelens?

Lens — это известный инструмент от Mirantis. Это платный продукт, предлагающий удобный интерфейс и множество функций. OpenLens был бесплатной и открытой версией Lens, которую поддерживал сам проект Lens. Однако вскоре стало ясно, что поддержка прекратится, и так и произошло. Lens перестал обновлять код в свободном репозитории, и доступ к нему был потерян.

И вот появился Freelens. Это IDE для рабочего стола на основе TypeScript, которая предлагает почти все функции Lens (и даже несколько новых) без проприетарных лицензий. Freelens предоставляет бинарные установщики для macOS (Intel + Apple Silicon), Windows (x64 + Arm64).

Дашборд рабочих нагрузок в FreelensДашборд рабочих нагрузок в Freelens
Дашборд рабочих нагрузок в Freelens

А также практически все популярные форматы пакетов для Linux: от AppImage до Flatpak, Snap, DEB и RPM. Так что вы можете установить его прямо на свою рабочую станцию или в виртуальную машину в лаборатории.

Официальный репозиторий на GitHub можно найти здесь:

Возможности

Freelens включает в себя kubectl v1.33, Helm v3.18 и собственный легковесный Go-прокси. Это означает, что он работает даже на ноутбуках без установленного инструментария. Текущий релиз v1.3.2 (9 июня 2025 года) сосредоточен на стабильности и исправлении уязвимостей (CVE).

Он обновляет Electron до Chrome 134, а также добавляет удобные функции, такие как постоянные терминалы и более чистый вывод YAML. Также есть автоматический перезапуск прокси, если выбранный порт занят.

Если вернуться к v1.3.1, то можно увидеть, что таблицы подов теперь включают колонки с текущей загрузкой CPU и памяти, запросы на удаление пространств имен, улучшенную сортировку ключей во встроенном редакторе и возможность закрепления адреса для перенаправления портов. Все эти функции полезны, например, для демонстрации сервиса только на localhost.

В более ранних версиях были добавлены:

  • Возможность освобождения узлов для кластеров 1.31+.
  • Доступ к оболочке для узлов Windows и Bottlerocket.
  • Автоопределение Helm-репозиториев.

Теперь приложение выглядит достаточно зрелым, чтобы заменить Lens в повседневных задачах.

Расширения

Одна из крутых особенностей таких приложений — это возможность расширения функциональности через плагины. Freelens использует архитектуру плагинов, похожую на VS Code. Расширения — это просто tarball-файлы, скомпилированные с помощью pnpm и загружаемые в GUI.

Хороший пример — расширение FluxCD dashboard, которое отображает ресурсы GitOps (HelmReleases, Kustomizations и т. д.) прямо в боковой панели кластера. Из одной панели можно выполнять сверку, приостанавливать, возобновлять или изучать историю событий без использования CLI.

Другие расширения добавляют:

  • Меню подов на уровне узлов.
  • Интерфейсы для ArgoCD.
  • Инспекторы для пользовательских CRD.

Поскольку расширения работают внутри Electron-песочницы, они не требуют CRD на стороне кластера или дополнительных прав RBAC — вам нужны только права на чтение/запись в вашем kubeconfig, что важно для безопасности.

Установка Freelens на рабочую станцию

macOS

  1. Выберите DMG или PKG, соответствующий вашему процессору.
  2. Откройте образ, перетащите Freelens в папку «Программы» и запустите.
  3. При запросе вставьте ваш ~/.kube/config или импортируйте несколько файлов для мультикластерного режима.

Windows

  • Скачайте подписанный MSI или EXE.
  • Установщик поместит Freelens в Program Files и создаст ярлык на рабочем столе.
  • Пользователи WinGet могут просто выполнить winget install freelens.

Linux

Пакетные менеджеры Fedora, Debian 12+, Ubuntu 22.04+, Arch (AUR) и Flatpak содержат актуальные сборки. Для неизменяемых дистрибутивов (или для удобства) скачайте AppImage, выполните chmod +x и запустите его портативно.

Первое знакомство

При запуске Freelens сканирует контексты вашего kubeconfig и создает «панель быстрого доступа» для переключения между кластерами. Каждый кластер открывается в своей вкладке с:

  • Общим обзором — Узлы, пространства имен, CRD и состояние в реальном времени.
  • Рабочими нагрузками — Deployments, DaemonSets, StatefulSets и Jobs с сортируемым статусом подов.
  • Сетью — Services, Ingress, NetworkPolicies.
  • Хранилищем — PVC, VolumeSnapshots и объекты CSI.
  • Helm-релизами — Прямое обновление или откат чартов.
  • Логами и оболочкой — Просмотр логов и доступ к bash/zsh прямо в приложении.
24 июня 2025, 08:41:3424 июня 2025, 08:41:34
Первый запуск Freelens

Просмотр рабочих нагрузок.

Подключение к кластеру KubernetesПодключение к кластеру Kubernetes
Подключение к кластеру Kubernetes

Все таблицы поддерживают нечеткий поиск и фильтрацию по столбцам, так что поиск «nginx» больше не требует танцев с kubectl get. Правый клик открывает контекстное меню для масштабирования, блокировки узлов, выполнения команд или редактирования YAML. Поскольку Freelens включает Nerd Fonts, иконки ресурсов корректно отображаются на мониторах с высоким DPI — больше никаких вопросительных знаков.

Поиск ресурсов в FreelensПоиск ресурсов в Freelens
Поиск ресурсов в Freelens

Мультикластерные панели и рабочие пространства

Если у вас распределенная лаборатория с виртуальными машинами Proxmox, EKS и, возможно, MicroK8s на периферии, Freelens группирует кластеры в рабочие пространства. Представьте их как визуальные kube-контексты. Вы можете изменить одну запись в kubeconfig, и рабочее пространство обновится везде. Панели быстрого доступа под основной панелью инструментов позволяют добавлять избранные пространства имен или рабочие нагрузки. Это идеально, когда вам нужен быстрый обзор продакшена и разработки.

Добавление в панель быстрого доступа в FreelensДобавление в панель быстрого доступа в Freelens
Добавление в панель быстрого доступа в Freelens

Безопасность

Безопасность решения выглядит очень хорошо. Недавние обновления перевели код на Electron 35, который включает усиленную песочницу и обновленный V8 от Chrome. Это устраняет недавние уязвимости, такие как CVE-2025-5419 и CVE-2025-4664. Freelens также учитывает RBAC Kubernetes. Ваши разрешения никогда не превышают учетные данные в вашем конфиге. Сессии терминала запускаются через встроенный прокси, поэтому внешние скрипты не копируются в поды. Это то, что раньше вызывало вопросы в решении Lens.

Сравнение Freelens и Lens в 2025 году

Возможность Freelens 1.3 Lens 6.x (Community) Комментарий
Лицензия Apache 2 Смешанная (GPL + коммерческие дополнения) Freelens полностью открыт.
Встроенный kubectl/helm Да Нет (требуется установка на хост) Нулевая настройка отлично подходит для новых ноутбуков.
Расширения Да (FluxCD, Argo, помощники CRD) Да (Магазин, многие платные) Дополнения Freelens бесплатны.
Доступ к оболочке узла Linux, Bottlerocket и Windows Только Linux Избавляет от необходимости использовать RDP для узлов Windows.
Интерфейс перенаправления портов Привязка любого локального адреса Только localhost Freelens более гибкий для демонстраций.
Частота выпуска Ежемесячно с исправлением CVE Нерегулярно v1.3.x — пятое обновление с февраля.

Для домашних лабораторий, DevOps-инженеров и всех, кто предпочитает бесплатные инструменты, а также для предприятий, опасающихся роста цен на подписки, Freelens выглядит отличным решением.

Практическое применение в домашней лаборатории

  • Изучение GitOps — Используйте расширение FluxCD вместе с приватным репозиторием Flux и наблюдайте за сверкой без отслеживания контроллеров.
  • Флот периферийных кластеров — Используйте панели быстрого доступа для закрепления кластеров на базе Pi (K3s) или Talos рядом с основными рабочими нагрузками Proxmox.
  • Демо-день — Поделитесь экраном, кликните правой кнопкой и масштабируйте Deployment, пока дашборды Grafana обновляются в соседней вкладке браузера. Без риска опечаток в kubectl.
  • Диагностика — Отфильтруйте поды по «CrashLoopBackOff», откройте редактор YAML и исправьте переменные окружения на лету, все в одном окне.

Планы и сообщество

Разработчики намекают на:

  • Наложение метрик Prometheus для узлов и рабочих нагрузок.
  • Мастер встроенного OIDC-провайдера для легкой интеграции с IDP.
  • Браузер OCI-реестра Helm.

Запросы функций и отчеты об ошибках находятся в GitHub Discussions. Также есть канал Discord, где обсуждаются релизы. С 2+ тысячами звезд на GitHub за первый год проект набирает обороты, а ночные сборки позволяют тестировать новые функции до официальных релизов.

Заключение

Freelens напоминает Lens образца 2021 года — легкий, бесплатный и развиваемый сообществом как открытый проект. Если вы используете Kubernetes в домашней лаборатории (или следите за кластерами на работе) и хотите бесплатный GUI, попробуйте Freelens. Направьте его на ваш kubeconfig, установите расширение FluxCD, если вам нравится GitOps, и наслаждайтесь чистым, современным интерфейсом, который соответствует актуальным версиям Kubernetes и не требует подписки.

Даже просто подбор, перевод и оформление статей требуют времени. А самостоятельный обзор устройств требует еще и финансовых вложений. Если Вы хотите больше обзоров, Вы можете помочь автору.

Вам может понравиться

Оставить комментарий