k9s — лучший интерфейс командной строки Kubernetes для стильного управления кластерами

k9s — лучший интерфейс командной строки Kubernetes для стильного управления кластерами

 

Как вы управляете своим кластером Kubernetes? Вы входите в панель управления, чтобы узнать, что происходит с вашими модулями, политиками сети и прочим? Это круто, но сегодня мы поставили перед собой задачу заставить вас рассмотреть другой вариант, особенно если у вас есть склонность к терминалу и вы скучаете по нему, когда находитесь на панели инструментов.

K9s предоставляет пользовательский интерфейс терминала для взаимодействия с вашими кластерами Kubernetes. Цель этого проекта — упростить навигацию, наблюдение и управление вашими приложениями в реальных условиях. K9s постоянно следит за изменениями в Kubernetes и предлагает последующие команды для взаимодействия с вашими наблюдаемыми ресурсами.

Особенности k9s

  • k9s предоставляет информацию «Под рукой»: отслеживает в реальном времени действия ресурсов, работающих в вашем кластере Kubernetes.
  • Стандартный или CRD ?: обрабатывает как стандартные ресурсы Kubernetes, так и пользовательские определения ресурсов.
  • Метрики кластера: отслеживает в реальном времени метрики, связанные с такими ресурсами, как модули, контейнеры и узлы.
  • Опытные пользователи Добро пожаловать! Предоставляет стандартные команды управления кластером, такие как журналы, масштабирование, переадресация портов, перезапуск. Вы также можете определить свои собственные сочетания клавиш для быстрой навигации с помощью псевдонимов команд и горячих клавиш. Более того, есть поддержка плагинов для расширения K9s для создания ваших собственных команд кластера, а также мощный режим фильтрации, позволяющий пользователю детализировать и просматривать ресурсы, связанные с рабочей нагрузкой.
  • Масштаб ошибки: перейдите непосредственно к тому, что не так с ресурсами вашего кластера.
  • Возможность создания скинов и настраиваемость: определите свой собственный внешний вид с помощью скинов K9s. Настроить / упорядочить столбцы для отображения для каждого ресурса.
  • Узкий или широкий?: Предоставляет переключатели для просмотра минимальных или полных определений ресурсов.
  • Представления MultiResources: обеспечивают обзор ресурсов кластера с помощью представлений Pulses и XRay.
  • У k9s есть ваш RBAC !: Он поддерживает просмотр правил RBAC, таких как кластер / роли и связанные с ними привязки. Обратный поиск для подтверждения того, что пользователь / группа или ServiceAccount могут делать в ваших кластерах.
  • Встроенный бенчмаркинг: вы можете тестировать свои HTTP-сервисы / модули прямо из K9s, чтобы увидеть, как работает ваше приложение, и соответствующим образом скорректировать запросы / лимит ресурсов.
  • Обход графа ресурсов: K9s обеспечивает простой обход ресурсов Kubernetes и связанных с ними ресурсов.

Обзор

K9s является мультиплатформенным и поэтому доступен на платформах Linux, macOS и Windows. Короче говоря, нет никакого оправдания тому, чтобы он не работал в вашей среде, и угадайте, что, мы увидим, как установить его прямо сейчас.

Установка K9s

K9s, как уже упоминалось, в мультиплатформенности, и в следующем разделе показано, как установить его в некоторых популярных дистрибутивах, а также в Windows и macOS. Начнем.

Установка k9s на macOS

Если вы человек Mac, высока вероятность, что вы знакомы с Homebrew, и именно благодаря ему у вас будет установлен k9s. Как бы проста ни была домашняя пивоварня, вам нужно будет выполнить следующую команду.

brew install k9s

Через Homebrew для macOS или LinuxBrew для Linux

Если хотите, вы можете использовать MacPorts для того же. Проект MacPorts — это инициатива сообщества с открытым исходным кодом по разработке простой в использовании системы для компиляции, установки и обновления программного обеспечения с открытым исходным кодом на основе командной строки, X11 или Aqua в операционной системе Mac.
Через MacPorts

sudo port install k9s

Установить в Arch Linux

Чтобы установить k9s на ваш любимый компьютер с Arch Linux, у pacman есть это для вас. Просто запустите команду ниже:

pacman -S k9s

Установка k9s в дистрибутив OpenSUSE Linux

Ну-ну, ребята из OpenSUSE! Здесь вы также полностью защищены. Установка K9s через ваш симпатичный zypper следующим образом.

zypper install k9s

Установка k9s в Windows

Установка k9s в Windows настолько проста, насколько вы можете себе представить. Вы можете использовать Scoop или мой любимый Chocolatey.

Через Scoop для Windows

Установка k9s через Scoop следующим образом

scoop install k9s

Via Chocolatey для Windows

Установка k9s через Chocolatey следующим образом

choco install k9s

Установка k9s через установку GO

Будет действовать версия k9s для разработчиков!

go get -u github.com/derailed/k9s

Вы также можете собрать K9s из исходного кода.

K9s в настоящее время использует go v1.14 или выше. Установка Go v1.15.2 в Linux следующим образом.

wget https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xf go1.15.2.linux-amd64.tar.gz
$ vim ~/.bash_profile
export PATH=$PATH:/usr/local/go/bin

Затем создайте файл, чтобы сохранить конфигурацию.

source ~/.bash_profile

Чтобы собрать K9 из исходного кода, вы должны сначала клонировать репо, прежде чем продолжить.

cd ~
git clone https://github.com/derailed/k9s.git
cd ~/k9s

Скомпилируйте и запустите исполняемый файл

$ make build && ./execs/k9s

go: downloading k8s.io/client-go v0.18.8
go: downloading k8s.io/apimachinery v0.18.8
go: downloading k8s.io/metrics v0.18.8
go: downloading gopkg.in/yaml.v2 v2.2.8
go: downloading k8s.io/api v0.18.8
go: downloading k8s.io/klog v1.0.0
go: downloading github.com/sahilm/fuzzy v0.1.0
go: downloading github.com/gdamore/tcell v1.3.0
go: downloading github.com/derailed/popeye v0.8.10
go: downloading github.com/hashicorp/golang-lru v0.5.1
go: downloading sigs.k8s.io/structured-merge-diff/v3 v3.0.0
go: downloading github.com/fvbommel/sortorder v1.0.1

Когда это будет сделано, вы должны увидеть интерфейс, как показано ниже.

Как вы можете заметить, информация о кластере Kubernetes, собираемая k9s при запуске, не поступает, что подводит нас к следующему важному шагу.

Добавление файла конфигурации Kubernetes для K9s

Хорошая новость о k9s заключается в том, что он просматривает каталог по умолчанию, в котором обычно находится файл kubeconfig. И это в « ~ / .kube ». Если у вас есть файл kubeconfig вашего кластера, просто создайте этот каталог и скопируйте в него файл конфигурации.

mkdir ~/.kube
cp config ~/.kube

После этого вы можете запустить k9s, и мы уверены, что на вашем лице появится довольная улыбка, когда вы увидите детали вашего кластера Kubernetes, означающие, что K9s подключился к вашему кластеру. Находясь внутри клонированных файлов k9s, еще раз выполните команду exec:

cd ~/k9s
./execs/k9s

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

Теперь, когда вы уже настроили свой K9s и он успешно подключился к Kubernetes, вы можете использовать несколько сочетаний клавиш, чтобы начать взаимодействие с вашим кластером.

Показать все капсулы

Если вы хотите показать все свои модули во всех пространствах имен, вы можете нажать простую клавишу на клавиатуре. Вы просто нажимаете ноль (0), и все ваши поды будут показаны, как показано ниже.

Показать журналы модуля

Чтобы отобразить журналы данного модуля, вам потребуется выделить его с помощью клавиш клавиатуры вверх / вниз, а затем нажать букву «l» для журналов. Довольно интуитивно понятно! Журналы, созданные модулем, будут стекать, как показано ниже.

Когда вы закончите просмотр журналов и захотите вернуться, нажмите клавишу Esc на клавиатуре.

Показать псевдонимы

Псевдонимы делают вашу жизнь намного проще, если вы хотите выполнить несколько команд Kubernetes за один сеанс. Для просмотра псевдонимов используйте комбинацию клавиш ( Ctrl + a ).

Выполнить в стручке

Еще одна хорошо продуманная функция, которую предлагает k9s «из коробки», — это возможность превращаться в капсулу с помощью одной клавиши на клавиатуре. Это действительно делает вашу работу настолько простой, насколько это возможно. Чтобы запустить оболочку в модуль, выделите его с помощью клавиш вверх / вниз, затем нажмите клавишу «s».

Опишите модуль

Описание модуля предоставляет исчерпывающую информацию / подробности о ресурсе, если вы хотите изучить его конфигурацию. K9s упрощает этот процесс, сводя работу к нажатию одной клавиши, как это происходит с другими функциями. Чтобы описать модуль, выделите его с помощью клавиш клавиатуры вверх / вниз, затем нажмите клавишу клавиатуры «d».

Показать все ключи (Справка)

Чтобы вкратце просмотреть все имеющиеся в вашем распоряжении клавиши, вам нужно нажать одну клавишу — это вопросительный знак (?). И у вас будет отображение полезных клавиш, как показано на скриншоте ниже.

Заключение

Управление кластером Kubernetes еще никогда не было таким простым и интересным, как использование k9s. Он может делать гораздо больше, помимо того, что уже было описано в этом руководстве. Вы можете удалить ресурсы kubernetes, проверить показатели своего кластера и многое другое. Для получения дополнительных сведений об этом инструменте посетите его официальную страницу на GitHub .

При этом пришло время поблагодарить вас за то, что вы посетили и продержались до конца, и мы надеемся, что то, что было сказано выше, было полезно.