LFK: TUI-навигатор Kubernetes с vim-биндами

Логотип LFK — терминальный навигатор Kubernetes

LFK — это терминальный интерфейс (TUI) для навигации по кластерам Kubernetes и управления ими, вдохновлённый yazi и ориентированный на работу с клавиатуры. Он организует ресурсы в трёхколоночный макет Миллера с иерархией на основе владельца (owner-based hierarchy).

Установка

Выберите подходящий способ для своей платформы:

# Homebrew (macOS / Linux)
brew install janosmiko/tap/lfk

# Scoop (Windows)
scoop bucket add janosmiko https://github.com/janosmiko/scoop-bucket && scoop install lfk

# Winget (Windows)
winget install janosmiko.lfk

# Chocolatey (Windows)
choco install lfk

# AUR (Arch)
yay -S lfk-bin

# APT (Debian / Ubuntu)
curl -1sLf 'https://dl.cloudsmith.io/public/janosmiko/lfk/setup.deb.sh' | sudo -E bash && sudo apt update && sudo apt install lfk

# DNF (Fedora / RHEL)
curl -1sLf 'https://dl.cloudsmith.io/public/janosmiko/lfk/setup.rpm.sh' | sudo -E bash && sudo dnf install lfk

# Go
go install github.com/janosmiko/lfk@latest

# Nix
nix run github:janosmiko/lfk

Запуск:

lfk
lfk --demo

lfk использует ~/.kube/config и ~/.kube/config.d/*. Режим lfk --demo работает со встроенным фиктивным кластером — kubeconfig не нужен.

kubectl обязателен и должен быть настроен. helm и trivy опциональны — для управления Helm-релизами и сканирования уязвимостей образов.

docs/installation.md[docs/installation.md] описывает установку через Docker, NixOS и home-manager, готовые бинарные релизы, сборку из исходников и полный список опциональных зависимостей CLI.

Использование

# Запуск в конкретном контексте / пространстве имён
lfk --context my-cluster -n kube-system

# Использование определённого kubeconfig
lfk --kubeconfig /path/to/kubeconfig
KUBECONFIG=/path/to/config1:/path/to/config2 lfk

# Использование пользовательской директории kubeconfig (флаг можно указать несколько раз)
lfk --kubeconfig-dir /path/to/configs/
lfk --kubeconfig-dir /team-a/configs --kubeconfig-dir /team-b/configs
KUBECONFIG_DIR=/path/to/configs/ lfk
KUBECONFIG_DIR=/team-a/configs:/team-b/configs lfk

docs/usage.md[docs/usage.md#command-line-flags] содержит полный справочник по CLI и параметры тонкой настройки времени выполнения: захват мыши, режим без цвета, режим только для чтения, интервал watch-режима, кэш обнаружения и ленивую загрузку Secret.

Поддержать проект

LFK распространяется под лицензией Apache-2.0 и остаётся бесплатным. Я разрабатываю его в свободное время, а инструменты, задействованные в разработке, бесплатными не являются.

Используете LFK на работе? Попросите команду спонсировать проект. Для компании это незаметная статья расходов, для частного лица — ощутимая. Большинство кластеров, с которыми работает LFK, — корпоративные.

Спонсорство покрывает лицензии на IDE и ИИ-ассистенты, используемые в разработке. Чем больше поддержки — тем больше часов можно вложить в LFK.

Деньги — не единственный способ помочь. Поставьте звезду репозиторию, заведите толковый баг-репорт или расскажите о проекте коллеге, который живёт в kubectl.

Хостинг пакетного репозитория любезно предоставлен Cloudsmith — сервисом управления пакетами, который хранит и раздаёт пакеты в различных форматах.

Скриншоты

Демо

Анимированная демонстрация работы LFK

Темы оформления

Варианты цветовых тем LFK

Проводник

Функция

Pods

image::/media/73/73f845c0391de65460302801bd6e131e7563a0f8382ee4cc7e863b51b008aba3.webp[Список подов в LFK,1600,967]

Pods на весь экран

image::/media/2e/2e5083660941156d834940e792b4cc0c042fd47de203effe4528048bfbcbd8f0.webp[Список подов в полноэкранном режиме,1600,969]

Меню действий пода

image::/media/19/19b477ca6dc826a01c9ca6ea085ccf0f98f43574a158f508f76a3b7958bf6575.webp[Меню действий для пода,1600,1072]

Дашборд кластера

image::/media/dd/dde63fbc87e0d372489ed7d57f151e38dd484989c1f2858e8cbe9cd47f7f66ba.webp[Дашборд кластера,1600,967]

Object Explorer

image::/media/38/38274af9882fd6176ab64ecfffc878b135527f4802a08b440cd54d41ea6de6a1.webp[Обзор объекта кластера,1600,967]

API Explorer

image::/media/68/686023fbc4243b0c8de16a463fbe04b9c26993260c8fc09c3db71228869be407.webp[Обзор API-схемы ресурса,1600,967]

Просмотрщики

Функция

YAML Viewer

image::/media/bd/bd35e6f387bee4d8bca9c50f7bbe001914b3483668df7d800e7951ffa4e9b9f0.webp[Просмотрщик YAML,1600,967]

Log Viewer

image::/media/ca/cad7b1bb99e77a9de185e493d04b6d8891ba1101e206891b4f5a627115054fb1.webp[Просмотрщик логов,1600,968]

Log Top

image::/media/b1/b1667de37ff2b22a7221894c5e0a8726330a58d8266d7df9bc003e1456e12828.webp[Агрегированная таблица метрик логов,1600,968]

Интеграции

Функция

Интеграция с Helm

image::/media/2e/2e8a16cf110290e0120065e318872ee25d4f7deb294f91a1c7a7ef65fe1386c0.webp[Управление Helm-релизами,1600,967]

Интеграция с ArgoCD

image::/media/7d/7d590b843bc2c86cf03b828beeba084d71cdae28be627eb2537c2c0ec97e9f90.webp[Управление приложениями ArgoCD,1600,967]

Настройка AutoSync в ArgoCD

image::/media/61/6172b17105c792f6c3c1a7050194b33bc3ef148293c5aa1b73642c83c08f436d.png[Настройка автосинхронизации ArgoCD,840,562]

Интеграция с Trivy

image::/media/87/87849f3442e1cc6502af23278d38ebad38ab4502d5ebc78b5fe4040545be124a.webp[Сканирование уязвимостей через Trivy,1600,967]

Анализ

Функция

Дашборд безопасности

image::/media/8c/8ccf98081b2c1af103d94d7082ba6194a681062e7c2684d935721b121e88418d.webp[Встроенная эвристика безопасности,1600,967]

Crash Investigator

image::/media/5b/5b230bcff518700ca37e26c79f4ef1ec19e0e027993c170bda1806f15f6b171e.webp[Инструмент расследования падений подов,1600,967]

Анализ запуска пода

image::/media/7a/7a98df00c6b7fc1016b652e45a5e94954fa75dde95ba371419c15c6adaf778c9.webp[Анализ времени запуска пода,1600,1072]

Браузер RBAC-разрешений Can-I

image::/media/c4/c4f6b836e86d72d304146bed91fa53e84a43ac3b8c7f66af1a4af7b3f41c687f.png[Просмотр RBAC-разрешений через can-i,3224,1812]

Рабочее пространство

Функция

Редактор меток и аннотаций

image::/media/fd/fd7d70b68ac3cc00e6b48b2456febb53302c5ed9fd9df175051002e14c538253.webp[Редактор меток и аннотаций ресурса,1600,967]

Быстрые фильтры

image::/media/2e/2e4fdd994d858b4d14391e9d646dabfd8b74ab79e838716e51e30e1634f27213.webp[Панель быстрых фильтров,1600,1252]

Видимость и порядок колонок

image::/media/94/94de6f475cb1dec7df8f39c5fd243e8932bdee040493087dec36dda2904e6108.webp[Настройка отображения и порядка колонок,1600,969]

Закладки

image::/media/70/70e0718e969622b3e477ab9416ac35b70457015d4c1358f4f5e49feeca19e43d.webp[Управление закладками ресурсов,1600,967]

Поддержка нескольких вкладок

image::/media/a2/a2556ab538d9b15429ac6f6cbb3ca54fdafbfc72d15ee409bb6669b85b064926.webp[Многовкладочный интерфейс,1600,968]

Объединённый вид

image::/media/78/78f1833741b3b95c38741341fd1e1590eaf99198619933817b15d7671a2c16bc.webp[Объединённый вид нескольких кластеров,1600,968]

Управление локальными кластерами

image::/media/da/dad9cf48bc04f3f406fd6d75f919599ca7a97e3fffa5a7c912740460032b066f.webp[Управление локальными кластерами,1600,968]

Функциональность

Навигация

  • Трёхколоночный макет Миллера: родительский уровень, текущий, предпросмотр

  • Иерархия на основе владельца: Кластеры → Типы ресурсов → Ресурсы → Дочерние ресурсы → Контейнеры

  • Переход к владельцу ресурса по o, назад — по Backspace

  • Телепортация между уровнями по 0 / 1 / 2

  • Переключение макета по F, развёртывание и свёртывание групп по z

  • Vim-бинды по всему интерфейсу, поддающиеся переназначению, включая аккорды Ctrl+Shift: docs/keybindings.md[keybindings.md#ctrlshift-chords]

  • Клик мышью, прокрутка и Ctrl+Option+Y для отпускания захвата: docs/usage.md[usage.md#mouse-support]

Список типов ресурсов

  • Группы: Dashboards, Workloads, Networking, Config, Storage, ArgoCD, Helm, Access Control, Cluster, Custom Resources

  • Обнаруженные CRD, сгруппированные по API-группе, например argoproj.io, longhorn.io

  • Закрепить тип по p: docs/keybindings.md[keybindings.md#navigation]

  • Закрепить сводный дашборд типа по x: docs/config-reference.md[config-reference.md#top-level-fields]

  • Скрыть или показать отдельный тип по x, раскрыть скрытые по H: docs/config-reference.md[config-reference.md#top-level-fields]

  • Редко используемые типы (внутренности CSI, вебхуки, APF, leases) скрыты до нажатия H: docs/config-reference.md[config-reference.md#top-level-fields]

  • Полоса сводки статусов под выбранным типом: docs/features.md[features.md#list-status-summary]

Кластеры и контексты

  • Многовкладочное рабочее пространство по t / ] / [: docs/keybindings.md[keybindings.md#tabs]

  • Объединённый kubeconfig из ~/.kube/config, ~/.kube/config.d/* и KUBECONFIG_DIR: docs/usage.md[usage.md#kubeconfig-directory]

  • Объединённый вид нескольких кластеров в одной таблице: docs/union-context.md[union-context.md]

  • Дашборд кластера при входе в контекст: docs/config-reference.md[config-reference.md#top-level-fields]

  • Мониторинговый дашборд с алертами Prometheus и Alertmanager, @: docs/config-reference.md[config-reference.md#monitoring]

  • Локальные кластеры kind, k3d и minikube по Ctrl+N: docs/keybindings.md[keybindings.md#local-clusters-manager]

  • Именованные сессии по C: docs/keybindings.md[keybindings.md#named-sessions]

  • Восстановление контекста, пространства имён, фильтра и позиции курсора при запуске: docs/config-reference.md[config-reference.md#session-persistence]

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

  • Режим только для чтения через --read-only или Ctrl+R: docs/usage.md[usage.md#read-only-mode]

  • Действия, запрещённые RBAC, не появляются в меню: docs/usage.md[usage.md#permission-aware-actions]

  • Дашборд безопасности и метки SEC от Trivy, Kyverno, Kubescape, Falco, Gatekeeper и трёх встроенных сканеров: docs/security.md[security.md]

  • Выбор каскадности при удалении, Tab циклически переключает Background / Foreground / Orphan / None: docs/keybindings.md[keybindings.md#delete-confirm-dialog]

  • Строки Scope, Availability и Risk в диалогах удаления, дрейна и масштабирования: docs/keybindings.md[keybindings.md#delete-confirm-dialog]

  • Браузер RBAC по U, обратный поиск по Tab: docs/keybindings.md[keybindings.md#can-i-browser]

Действия с ресурсами

  • Меню действий x: логи, exec, attach, debug, scale, restart, delete, describe, edit, events, port-forward, сканирование уязвимостей, изменение размера PVC: docs/keybindings.md[keybindings.md#action-menu-items]

  • Множественный выбор по Space, диапазонный — по Ctrl+Space, затем массовое удаление, масштабирование или перезапуск: docs/keybindings.md[keybindings.md#multi-selection]

  • Пользовательские shell-действия для каждого типа ресурсов: docs/config-reference.md[config-reference.md#custom-actions]

  • Проброс портов; активные форварды отображаются в группе Networking: docs/keybindings.md[keybindings.md#action-menu-items]

  • Советник по оптимизации ресурсов (Right-sizing Advisor) по xz: docs/features.md[features.md#right-sizing-advisor], клавиши в docs/keybindings.md[keybindings.md#right-sizing-advisor]

  • Визуализатор сетевых политик по xN, с поддержкой Cilium: docs/keybindings.md[keybindings.md#network-policy-visualizer]

  • Захват трафика по c на поде или сервисе: docs/usage.md[usage.md#traffic-capture]

Поиск

  • Фильтрация по f, поиск по /, режимы: подстрока, регулярное выражение, нечёткий и точный поиск

  • Краткие переходы: pvc, hpa, deploy и другие: docs/config-reference.md[config-reference.md#abbreviations]

  • Командная строка : для переходов к ресурсам, встроенных команд, kubectl и shell: docs/commands.md[commands.md], автодополнение в docs/features.md[features.md#command-bar-autocomplete]

  • Пресеты быстрых фильтров по .: docs/config-reference.md[config-reference.md#filter-presets]

  • Сортировка по > / < / = / -, запоминается для каждого типа ресурса: docs/keybindings.md[keybindings.md#sorting]

  • Закладки по m<слот> и '<слот>: docs/keybindings.md[keybindings.md#bookmarks]

  • Обнаружение осиротевших ресурсов по Shift+Z для 11 видов ресурсов: docs/usage.md[usage.md#orphan-detection]

Просмотрщики

  • YAML-предпросмотр в правой колонке, сводка деталей по Shift+P

  • Полноэкранный YAML Viewer с поиском, сворачиванием и редактированием на месте: docs/keybindings.md[keybindings.md#yaml-view]

  • Авторство изменений полей (field-manager blame) по m, правки помечаются lfk:<os-user>: docs/config-reference.md[config-reference.md#top-level-fields]

  • Боковая панель со схемой поля по Ctrl+K: docs/features.md[features.md#schema-side-pane]

  • Object Explorer по O для живого объекта: docs/keybindings.md[keybindings.md#object-explorer]

  • API Explorer по I для схемы ресурса: docs/keybindings.md[keybindings.md#api-explorer]

  • Describe по v, карта зависимостей по M, события по V с переключателями «только предупреждения» и группировки: docs/keybindings.md[keybindings.md#actions]

Логи и оболочки

  • Живой предпросмотр логов по L, полноэкранный просмотрщик по Ctrl+L: docs/keybindings.md[keybindings.md#log-viewer]

  • Текстовый фильтр f, фильтр по уровню важности i / o, структурированный предпросмотр P: docs/keybindings.md[keybindings.md#log-viewer]

  • Log Top агрегирует логи доступа в таблицу метрик, T: docs/keybindings.md[keybindings.md#log-top]

  • Crash Investigator по xI: docs/keybindings.md[keybindings.md#crash-investigator-overlay]

  • Встроенный терминал для exec и shell, Ctrl+T циклически переключает режим: docs/features.md[features.md#embedded-terminal]

  • Node shell по xs: docs/usage.md[usage.md#node-shell]

Создание и копирование

  • Шаблоны ресурсов по a — встроенные и пользовательские: docs/features.md[features.md#resource-templates]

  • Экспорт живого объекта как шаблона по xT: docs/features.md[features.md#export-as-template]

  • Копирование имени y, меню копирования Y, отдельного поля Ctrl+Y: docs/keybindings.md[keybindings.md#clipboard]

  • Применение манифеста из буфера обмена по Ctrl+P: docs/keybindings.md[keybindings.md#clipboard]

  • Сохранение выбранного манифеста в файл по W

  • Декодирование Secret по Ctrl+S, редактирование в раскодированном виде по e: docs/keybindings.md[keybindings.md#secret-actions]

  • Поиск и удаление finalizer по Ctrl+G

Интеграции

  • Argo CD: просмотр приложений, синхронизация, остановка, обновление: docs/features.md[features.md#argo-cd]

  • Argo Workflows: приостановка, возобновление, остановка, повторная отправка, запуск из шаблона: docs/features.md[features.md#argo-workflows]

  • Helm: просмотр релизов, значений, diff, обновление, откат, удаление: docs/keybindings.md[keybindings.md#helm-release-actions]

  • Оверлей масштабирования HPA по S: docs/keybindings.md[keybindings.md#horizontalpodautoscaler-actions]

  • KEDA: приостановка и возобновление ScaledObjects и ScaledJobs: docs/features.md[features.md#keda]

  • External Secrets: принудительное обновление: docs/features.md[features.md#external-secrets]

  • Обнаружение CRD, сгруппированных по API-группе

Внешний вид

  • Более 460 встроенных цветовых схем из ghostty themes, переключение на лету по T: docs/config-reference.md[config-reference.md#color-schemes]

  • Автоматическое переключение между тёмной и светлой темой в зависимости от системных настроек: docs/config-reference.md[config-reference.md#auto-darklight-mode]

  • Настраиваемые цвета темы, по умолчанию Tokyonight: docs/config-reference.md[config-reference.md#theme]

  • Режимы иконок: auto, unicode, nerdfont, simple, emoji, none: docs/config-reference.md[config-reference.md#icon-mode-auto-detection]

  • Цветовая индикация статуса в строках и в printer-колонках CRD: docs/features.md[features.md#status-colors]

  • Тонирование строки статусом при скрытой колонке Status: docs/config-reference.md[config-reference.md#row-status-tint]

  • Прозрачный фон: docs/config-reference.md[config-reference.md#appearance]

Таблицы и метрики

  • Видимость и порядок колонок по ,, запоминается для каждого типа ресурса: docs/keybindings.md[keybindings.md#column-toggle-overlay]

  • Настраиваемые колонки глобально, для конкретного типа ресурса и для конкретного кластера: docs/config-reference.md[config-reference.md#views]

  • Столбики CPU и памяти на дашборде кластера: docs/features.md[features.md#resource-usage-metrics]

  • Колонка аптайма ноды: docs/config-reference.md[config-reference.md#node-uptime-column]

  • Дашборд квот ресурсов пространства имён по Q

  • Режим автообновления watch по w: docs/usage.md[usage.md#watch-mode-interval]

  • Спарклайны CPU и MEM из истории Prometheus по ~: docs/keybindings.md[keybindings.md#modes-and-settings]

  • Случайные подсказки при запуске: docs/config-reference.md[config-reference.md#top-level-fields]

Иерархия навигации

Clusters (kubeconfig contexts)
  +-- Resource Types (grouped: Workloads, Networking, Config, Storage, ArgoCD, Helm, ...)
        +-- Resources (e.g., individual Deployments)
              +-- Owned Resources (Pods via ownerReferences, Jobs for CronJobs, etc.)
                    +-- Containers (for Pods)

Пространства имён не являются отдельным уровнем навигации. Текущее пространство имён отображается в правом верхнем углу. Нажмите \, чтобы открыть селектор с фильтрацией по мере ввода. По умолчанию включён режим всех пространств имён; A переключает его.

Внутри селектора пространств имён:

Клавиша Действие

Space

Включить пространство имён

Tab

Исключить пространство имён (показывает все, кроме отмеченных; они отображаются с префиксом !)

A

Сбросить в режим всех пространств имён

R

Обновить список из кластера

.

Быстрая фильтрация по пространству имён ресурса за оверлеем

Разрешение владельца

  • Deployments показывают свои поды (через ReplicaSets, сглаженно)

  • StatefulSets / DaemonSets / Jobs показывают поды напрямую

  • CronJobs показывают свои Job-ы

  • Services показывают поды, соответствующие селектору сервиса

  • Приложения ArgoCD показывают управляемые ресурсы (из status или по обнаружению метки)

  • Helm Releases показывают управляемые ресурсы (через метку app.kubernetes.io/instance)

  • Pods показывают свои контейнеры

  • ConfigMaps / Secrets / Ingresses / PVCs показывают предпросмотр деталей (без дочерних элементов)

Клавиши

docs/keybindings.md[docs/keybindings.md] — полный справочник, включая YAML View, Log Viewer, describe, diff, режим exec и все подрежимы. Нажмите F1 в приложении для экрана справки, ? — для панели which-key с доступными действиями.

Перемещение

Клавиша Действие

h / l

Родительский уровень / войти в выбранный элемент

j / k

Курсор вниз / вверх

gg / G

Начало / конец списка

Ctrl+D / Ctrl+U

Прокрутка на полстраницы вниз / вверх

Ctrl+F / Ctrl+B

Прокрутка на страницу вниз / вверх

J / K

Прокрутка панели предпросмотра вниз / вверх

Enter

Полноэкранный YAML или переход внутрь

Переходы

Клавиша Действие

0 / 1 / 2

Уровень кластеров / типов ресурсов / ресурсов, в обоих направлениях

o

Владелец или контроллер выбранного ресурса

Backspace

Назад по истории телепортации

g + клавиша

Перейти к типу ресурса (g открывает всплывающую подсказку which-key)

m<слот> / '<слот>

Установить / перейти к закладке (строчные — с учётом контекста, прописные — без)

\ / A

Селектор пространств имён / переключить режим всех пространств имён

g\

Предыдущее пространство имён

Список типов ресурсов

Клавиша Действие

z

Развернуть или свернуть все группы (в представлении Events: переключить группировку)

p

Закрепить или открепить выбранный тип

x

Закрепить, скрыть или показать выбранный тип

H

Показать редко используемые и скрытые типы

Поиск и фильтрация

Клавиша Действие

f

Фильтровать элементы в текущем представлении

/

Поиск с переходом к совпадению

n / N

Следующее / предыдущее совпадение

.

Пресеты быстрых фильтров

,

Видимость и порядок колонок

> / < / = / -

Сортировать по следующей / предыдущей колонке, сменить направление, сбросить

Представления

Клавиша Действие

F1 / ?

Экран справки / панель which-key

P

Сводка деталей или предпросмотр YAML

M

Карта зависимостей ресурса

F

Переключение макета: скрыть боковую панель, полный экран, восстановить

I / O

API Explorer / Object Explorer

Ctrl+K

Боковая панель схемы для поля под курсором

U

Браузер RBAC-разрешений (can-i)

Действия

Клавиша Действие

x

Меню действий (логи, exec, describe, edit, delete, scale, port-forward)

v / L / Ctrl+L

Describe / живой предпросмотр логов / полноэкранный Log Viewer

D / X

Удалить / принудительно удалить

y / Y / Ctrl+Y

Копировать имя / меню копирования / скопировать отдельное поле

Ctrl+P / W

Применить из буфера обмена / сохранить манифест в файл

Space

Переключить множественный выбор (массовые действия через x)

Ctrl+S / Ctrl+G

Видимость значений Secret / поиск и удаление finalizer

Инструменты

Клавиша Действие

:

Командная строка (переходы к ресурсам, встроенные команды, kubectl, shell)

T

Выбор темы

@ / Q

Дашборд кластера или мониторинга / квоты пространств имён

w

Watch-режим (автообновление)

Ctrl+T

Переключить режим терминала (pty / exec / mux)

Ctrl+R

Режим только для чтения

!

Журнал ошибок

t / ] / [ / } / {

Новая вкладка / следующая / предыдущая / переместить вправо / переместить влево

Во всех представлениях (YAML, логи, describe, diff, exec) работает vim-навигация: j/k, gg/G, Ctrl+D/Ctrl+U, поиск /, визуальное выделение v/V/Ctrl+V.

docs/commands.md[docs/commands.md] — справочник по командной строке: встроенные команды, выполнение shell и kubectl, переходы к ресурсам.

Конфигурация

  1. Создайте файл ~/.config/lfk/config.yaml.

  2. Укажите только те параметры, которые хотите изменить. Остальные сохранят значения по умолчанию.

  3. Нажмите T в приложении для просмотра тем, затем впишите выбранное название в colorscheme.

# Color scheme. "dark:X,light:Y" switches with the OS appearance.
colorscheme: "dark:catppuccin-mocha,light:catppuccin-latte"

# Use the terminal's own background
transparent_background: true

# auto, unicode, nerdfont, simple, emoji, or none. LFK_ICONS overrides it.
icons: auto

# Disable mouse capture (allows native terminal text selection)
mouse: false

# Keybinding overrides
keybindings:
  logs: "ctrl+l"
  toggle_preview_logs: "L"
  describe: "v"
  delete: "D"

# Search abbreviations
abbreviations:
  myapp: myapplications

docs/config-reference.md[docs/config-reference.md] — полный справочник по конфигурации, docs/config-example.yaml[docs/config-example.yaml] — комментированный пример со всеми полями.

Режимы поиска

Каждый поисковый и фильтрующий ввод автоматически определяет режим по строке запроса:

Режим Синтаксис Пример

Подстрока

обычный текст

nginx

Регулярное выражение

определяется автоматически

err[0-9]+

Нечёткий поиск

префикс ~

~deplymnt

Точное совпадение

префикс \

\err.*

Все режимы поддерживают вставку текста (Cmd+V на macOS, Ctrl+Shift+V на Linux). При многострочной вставке появляется диалог подтверждения.

Up / Down вызывают предыдущие запросы. Поле / и f используют общую историю, в то время как Log Viewer / и командная строка : ведут собственные. Все три истории сохраняются между перезапусками в $XDG_STATE_HOME/lfk/: docs/keybindings.md[keybindings.md#log-viewer].

Советы и приёмы

Навигация

  • Нажмите o на ресурсе, чтобы перейти к его владельцу (Pod → Deployment), затем Backspace — вернуться назад

  • Телепортируйтесь между уровнями по 0 / 1 / 2 (кластеры / типы ресурсов / ресурсы). 1 и 2 возвращают вас к тому представлению, которое вы покинули, в разрезе каждого кластера

  • Переходите прямо к нужному типу ресурса из любого места: :pod, :dep, :pvc

  • Ставьте закладку по m<буква>, возвращайтесь по '<буква> — вместе с сохранёнными пространством имён и фильтром

  • Закрепляйте нужные типы ресурсов по p и скрывайте шумные через x — оба параметра запоминаются для каждого кластера

  • Хотите видеть всё, кроме нескольких пространств имён? В селекторе \ нажмите Tab, чтобы исключить пространства имён вместо их выбора

  • Посмотрите, как ресурс связан со всем остальным, по M (карта зависимостей)

Поиск

  • Опечатки в поиске не страшны: /~deplymnt нечётко найдёт deployments

  • Нажмите Tab внутри / или f, чтобы расширить поиск на метки, аннотации, finalizer и другие значения колонок

  • Вызывайте предыдущие запросы по Up / Down в /, f и командной строке :

  • Нажмите . для пресетов быстрых фильтров, например только падающие поды

  • Ищите неиспользуемые ConfigMaps, Secrets, PVCs и другие ресурсы по Shift+Z (обнаружение осиротевших ресурсов)

  • Сортируйте по любой колонке по > / <, меняйте направление по =, сбрасывайте по -

  • Проверяйте сработавшие алерты Prometheus или Alertmanager по @, квоты пространств имён — по Q

Логи

  • Просматривайте логи пода или деплоймента по L, открывайте полноэкранный просмотрщик по Ctrl+L

  • Сделайте шумные логи читаемыми с P: структурированный предпросмотр разбирает строки JSON, logfmt, klog, zap, nginx, envoy, Java и postgres

  • Сохраняйте логи в файл по S (загруженные строки) или Ctrl+S (полная история) — путь попадает в буфер обмена

  • Переключайте поды или фильтруйте контейнеры прямо в Log Viewer: нажмите \

  • Расследуйте падающий в цикле под через xI: история перезапусков, события, предыдущие логи и describe в одном представлении с вкладками

Инспекция

  • Изучайте живой объект любого ресурса по O: r ищет ключи рекурсивно, T раскрывает ASCII-дерево, y копирует путь к полю

  • Забудьте о kubectl explainI открывает API Explorer, n / N автоматически погружаются во вложенные поля

  • В YAML Viewer нажмите O на строке, чтобы открыть Object Explorer для этого атрибута, или I — чтобы посмотреть его схему

  • Ctrl+K открывает боковую панель с описанием схемы поля под курсором и синхронно следует за ним при перемещении

  • Сворачивайте разделы YAML по z (Z сворачивает всё), редактируйте ресурс в $EDITOR по Ctrl+E

  • Воспроизводите историю событий ресурса в виде временной шкалы по V

  • Все просмотрщики понимают vim: счётчики (100j, 42G, 5n), визуальное выделение (v / V / Ctrl+V) и текстовые объекты (viw)

Действия

  • Множественный выбор по Space (диапазонный — по Ctrl+Space), затем массовое удаление, масштабирование или перезапуск через x

  • Декодируйте значения Secret в предпросмотре по Ctrl+S или редактируйте их в раскодированном виде по e

  • Копируйте имя ресурса по y, нажмите Y, чтобы скопировать как YAML, JSON или таблицу

  • Применяйте манифест прямо из буфера обмена по Ctrl+P

  • Сохраняйте выбранный манифест ресурса в файл по W

  • Ресурс завис в состоянии Terminating? Ctrl+G найдёт его finalizer и удалит их

  • Откройте хост Ingress или localhost URL активного проброса портов по Ctrl+O. На Service запускает проброс и сразу открывает его

  • Выполняйте kubectl, не выходя из lfk (:k get pods -o wide), или любую shell-команду (:! curl …​)

Работа с кластером

  • Заблокируйте сессию от деструктивных действий по Ctrl+R (режим только для чтения)

  • Поднимите одноразовый кластер kind, k3d или minikube по Ctrl+N в списке кластеров

  • Захватывайте сетевой трафик пода по c: живая расшифровка и экспорт в pcap

  • Переверните вопрос RBAC: в браузере Can-I (U) Tab открывает Who-Can — список всех субъектов, которым разрешено выполнять действие над ресурсом

  • Получайте рекомендации по ресурсам для каждого контейнера по xz (Right-sizing Advisor, на основе VPA или Prometheus при наличии, см. docs/features.md[features.md#right-sizing-advisor])

  • Следите за развёртыванием приложения ArgoCD волна за волной: xW открывает временную шкалу Sync Wave

  • Меняйте оформление без перезапуска: T живо показывает 460+ тем

  • Ждёте завершения rollout? :nyan и :kubetris — настоящие команды

Участие в разработке

См. CONTRIBUTING.md[CONTRIBUTING.md]: требования, настройка окружения разработки, команды сборки и тестирования, структура проекта и процесс pull request.

Лицензия

Apache License 2.0, см. LICENSE[LICENSE].

© 2026 meganuke