k9s - это интерактивный терминальный интерфейс для управления Kubernetes кластерами. Представьте себе файловый менеджер Midnight Commander, но для Kubernetes ресурсов. Всё управление кластером в одном окне терминала с горячими клавишами.

Установка

macOS

BASH
brew install k9s
Нажмите, чтобы развернуть и увидеть больше

Linux (snap)

BASH
sudo snap install k9s
Нажмите, чтобы развернуть и увидеть больше

Скачать бинарник

BASH
# Для Linux AMD64
wget https://github.com/derailed/k9s/releases/latest/download/k9s_Linux_amd64.tar.gz
tar -xzf k9s_Linux_amd64.tar.gz
sudo mv k9s /usr/local/bin/
Нажмите, чтобы развернуть и увидеть больше

Проверка

BASH
k9s version
Нажмите, чтобы развернуть и увидеть больше

Первый запуск

Просто наберите k9s в терминале:

BASH
k9s
Нажмите, чтобы развернуть и увидеть больше

k9s автоматически использует текущий контекст из ~/.kube/config. Можно указать конкретный:

BASH
k9s --context production
Нажмите, чтобы развернуть и увидеть больше

Основные возможности

Навигация

Просмотр ресурсов

Наберите в командной строке:

Горячие клавиши для подов

Фильтрация и поиск

Логи

Продвинутые фичи

1. Pulses (пульс кластера)

:pulses - показывает общее состояние кластера. Сразу видно проблемные ресурсы.

2. XRay

:xray - сканирование кластера на проблемы с ресурсами, устаревшие API, проблемы с правами.

3. Popeye интеграция

:popeye - запуск линтера для проверки best practices.

4. Benchmarks

:benchmark - проверка кластера на соответствие CIS Kubernetes Benchmark.

5. Port forwarding

На поде нажмите Shift+f - откроется меню port-forward.

Кастомизация

Конфиг файл

k9s хранит настройки в ~/.config/k9s/config.yml:

YAML
k9s:
  refreshRate: 2
  maxConnRetry: 5
  enableMouse: false
  headless: false
  logoless: false
  crumbsless: false
  readOnly: false
  noExitOnCtrlC: false
Нажмите, чтобы развернуть и увидеть больше

Алиасы

Создайте ~/.config/k9s/aliases.yml:

YAML
aliases:
  pp: v1/pods
  dp: apps/v1/deployments
Нажмите, чтобы развернуть и увидеть больше

Хоткеи

В ~/.config/k9s/hotkeys.yml:

YAML
hotKeys:
  # Быстрый переход к логам
  shift-l:
    shortCut: Shift-L
    description: Logs
    command: logs
Нажмите, чтобы развернуть и увидеть больше

Лайфхаки

1. Быстрое переключение контекстов

:ctx - список всех контекстов, Enter для переключения.

2. Мониторинг в реальном времени

:pods + a - авто-обновление списка подов.

3. Массовые операции

Выделите несколько ресурсов пробелом, затем применяйте действия.

4. Экспорт в YAML

y на любом ресурсе сохранит yaml в буфер обмена.

5. Быстрый exec

:pods → выбрать под → s - сразу попадаете в shell.

Реальные кейсы

Дебаг падающего пода

  1. :po - список подов
  2. /crash - найти проблемный
  3. d - посмотреть describe
  4. p - предыдущие логи
  5. e - отредактировать если нужно

Быстрая проверка деплоя

  1. :deploy - список деплойментов
  2. Enter на нужном - детали
  3. r - связанные ресурсы (pods, rs, svc)

Очистка namespace

  1. :ns - выбрать namespace
  2. :pods - список подов
  3. Ctrl+d - удалить завершённые

k9s vs альтернативы

vs kubectl

vs Lens

vs k8s Dashboard

Итоги

k9s - это швейцарский нож для работы с Kubernetes. Особенно полезен когда:

Установка занимает минуту, а польза огромная. После недели использования возвращаться к голому kubectl не захочется!

Авторские права

Автор: Vasiliy Fakunin

Ссылка: https://notes.melancholic.tech/posts/k9s-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-kubernetes-%D0%B8%D0%B7-%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0/

Лицензия: CC BY-NC-SA 4.0

Использование материалов блога разрешается при условии: указания авторства/источника, некоммерческого использования и сохранения лицензии.

Начать поиск

Введите ключевые слова для поиска статей

↑↓
ESC
⌘K Горячая клавиша