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 — сервисом управления пакетами, который хранит и раздаёт пакеты в различных форматах.
Скриншоты
Демо
Темы оформления
Проводник
| Функция | |
|---|---|
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) по
x→z: docs/features.md[features.md#right-sizing-advisor], клавиши в docs/keybindings.md[keybindings.md#right-sizing-advisor] -
Визуализатор сетевых политик по
x→N, с поддержкой 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 по
x→I: docs/keybindings.md[keybindings.md#crash-investigator-overlay] -
Встроенный терминал для exec и shell,
Ctrl+Tциклически переключает режим: docs/features.md[features.md#embedded-terminal] -
Node shell по
x→s: docs/usage.md[usage.md#node-shell]
Создание и копирование
-
Шаблоны ресурсов по
a— встроенные и пользовательские: docs/features.md[features.md#resource-templates] -
Экспорт живого объекта как шаблона по
x→T: 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 переключает его.
Внутри селектора пространств имён:
| Клавиша | Действие |
|---|---|
|
Включить пространство имён |
|
Исключить пространство имён (показывает все, кроме отмеченных; они отображаются с префиксом |
|
Сбросить в режим всех пространств имён |
|
Обновить список из кластера |
|
Быстрая фильтрация по пространству имён ресурса за оверлеем |
Разрешение владельца
-
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 с доступными действиями.
Перемещение
| Клавиша | Действие |
|---|---|
|
Родительский уровень / войти в выбранный элемент |
|
Курсор вниз / вверх |
|
Начало / конец списка |
|
Прокрутка на полстраницы вниз / вверх |
|
Прокрутка на страницу вниз / вверх |
|
Прокрутка панели предпросмотра вниз / вверх |
|
Полноэкранный YAML или переход внутрь |
Переходы
| Клавиша | Действие |
|---|---|
|
Уровень кластеров / типов ресурсов / ресурсов, в обоих направлениях |
|
Владелец или контроллер выбранного ресурса |
|
Назад по истории телепортации |
|
Перейти к типу ресурса ( |
|
Установить / перейти к закладке (строчные — с учётом контекста, прописные — без) |
|
Селектор пространств имён / переключить режим всех пространств имён |
|
Предыдущее пространство имён |
Список типов ресурсов
| Клавиша | Действие |
|---|---|
|
Развернуть или свернуть все группы (в представлении Events: переключить группировку) |
|
Закрепить или открепить выбранный тип |
|
Закрепить, скрыть или показать выбранный тип |
|
Показать редко используемые и скрытые типы |
Поиск и фильтрация
| Клавиша | Действие |
|---|---|
|
Фильтровать элементы в текущем представлении |
|
Поиск с переходом к совпадению |
|
Следующее / предыдущее совпадение |
|
Пресеты быстрых фильтров |
|
Видимость и порядок колонок |
|
Сортировать по следующей / предыдущей колонке, сменить направление, сбросить |
Представления
| Клавиша | Действие |
|---|---|
|
Экран справки / панель which-key |
|
Сводка деталей или предпросмотр YAML |
|
Карта зависимостей ресурса |
|
Переключение макета: скрыть боковую панель, полный экран, восстановить |
|
API Explorer / Object Explorer |
|
Боковая панель схемы для поля под курсором |
|
Браузер RBAC-разрешений (can-i) |
Действия
| Клавиша | Действие |
|---|---|
|
Меню действий (логи, exec, describe, edit, delete, scale, port-forward) |
|
Describe / живой предпросмотр логов / полноэкранный Log Viewer |
|
Удалить / принудительно удалить |
|
Копировать имя / меню копирования / скопировать отдельное поле |
|
Применить из буфера обмена / сохранить манифест в файл |
|
Переключить множественный выбор (массовые действия через |
|
Видимость значений Secret / поиск и удаление finalizer |
Инструменты
| Клавиша | Действие |
|---|---|
|
Командная строка (переходы к ресурсам, встроенные команды, kubectl, shell) |
|
Выбор темы |
|
Дашборд кластера или мониторинга / квоты пространств имён |
|
Watch-режим (автообновление) |
|
Переключить режим терминала (pty / exec / mux) |
|
Режим только для чтения |
|
Журнал ошибок |
|
Новая вкладка / следующая / предыдущая / переместить вправо / переместить влево |
Во всех представлениях (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, переходы к ресурсам.
Конфигурация
-
Создайте файл
~/.config/lfk/config.yaml. -
Укажите только те параметры, которые хотите изменить. Остальные сохранят значения по умолчанию.
-
Нажмите
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] — комментированный пример со всеми полями.
Режимы поиска
Каждый поисковый и фильтрующий ввод автоматически определяет режим по строке запроса:
| Режим | Синтаксис | Пример |
|---|---|---|
Подстрока |
обычный текст |
|
Регулярное выражение |
определяется автоматически |
|
Нечёткий поиск |
префикс |
|
Точное совпадение |
префикс |
|
Все режимы поддерживают вставку текста (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: нажмите
\ -
Расследуйте падающий в цикле под через
x→I: история перезапусков, события, предыдущие логи и describe в одном представлении с вкладками
Инспекция
-
Изучайте живой объект любого ресурса по
O:rищет ключи рекурсивно,Tраскрывает ASCII-дерево,yкопирует путь к полю -
Забудьте о
kubectl explain—Iоткрывает 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 — список всех субъектов, которым разрешено выполнять действие над ресурсом -
Получайте рекомендации по ресурсам для каждого контейнера по
x→z(Right-sizing Advisor, на основе VPA или Prometheus при наличии, см. docs/features.md[features.md#right-sizing-advisor]) -
Следите за развёртыванием приложения ArgoCD волна за волной:
x→Wоткрывает временную шкалу Sync Wave -
Меняйте оформление без перезапуска:
Tживо показывает 460+ тем -
Ждёте завершения rollout?
:nyanи:kubetris— настоящие команды
Участие в разработке
См. CONTRIBUTING.md[CONTRIBUTING.md]: требования, настройка окружения разработки, команды сборки и тестирования, структура проекта и процесс pull request.
Лицензия
Apache License 2.0, см. LICENSE[LICENSE].