☸️ Как настроить удобный терминал Kubernetes

by itisgood

Kubernetes поставляется в комплекте с выдающимся CLI.

Для основных операций это работает чудесно.

Увы, когда нужно что-то сделать быстро, сложность возрастает.

Сообщество Kubernetes создало все виды веб-инструментов для мониторинга вашего кластера – kube ops, grafana и т. д.

Однако наличие полностью настроенного терминала быстро сократит время, необходимое для поиска причины проблемы.

Это основная часть вашего швейцарского армейского ножа.

Ниже приведен очень короткий список инструментов с открытым исходным кодом, которые можно применить в своем терминале.

При совместном использовании они позволяют управлять кластером kubernetes, быстро устранять неполадки и отслеживать поведение.

 Предпосылки

Прежде чем приступить к изучению этих инструментов, я настоятельно рекомендую установить zsh.

Это выдающаяся оболочка с открытым исходным кодом для стандартного терминала OSX.

Он более многофункциональный и интуитивно понятный, а плагины, которые вы можете установить, просто фантастические.

Некоторые из перечисленных инструментов предполагают, что у вас установлен ZSH.

Лучшие инструменты для управления Kubernetes

k9s

Я начинаю с самого мощного.

K9s –  это основа CLI для кластера kubernetes.

Вы можете проваливаться по SSH прямо в поды одним нажатием клавиши, просматривать журналы, удалять ресурсы и многое другое.

Он обеспечивает выдающийся доступ к наиболее распространенным операциям, которые вы будете выполнять.

Это основной продукт для любого инженера, использующего kubernetes.

kubectx

Очень редко у нас будет только один кластер.
Переключение между ними можно так же просто осуществлять:
kubectl config use-context my-context
Но при этом есть некоторые предпосылки:
  • Вам нужно знать имя кластера, прежде чем запускать команду.
  • Есть другая, похожая команда set-context, которая может сбить вас с толку.
kubectx представляет более простую альтернативу этому варианту.
Если вы запустите kubectx самостоятельно, он перечислит все контексты в вашем файле .kube/config.
Затем вы можете указать название интересующего вас контекста:
kubectx my-context
Не нужно запоминать все контексты, не нужно вручную проверять файлы и нет возможности ввести неправильную команду.
Красиво и просто.

В сочетании с K9s, этот набор обеспечивает классную навигацию из вашего CLI с минимальными нажатиями клавиш.

kubectx demo GIF

kubens

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

Еще раз, очень часто в вашем кластере имеется несколько пространств имен.

Короче, в двух словах это то же самое, что kubectx, только для пространств имен.

kubens kube-system
Теперь все ваши команды по умолчанию выполняются в пространстве имен системы kube-system.
Вы также можете запустить Kubens без флагов, чтобы увидеть список ваших пространств имен.

kube-ps1

Таким образом, вы можете переключаться между контекстами и пространствами имен.
Но как узнать, на кого вы сейчас нацелены?
Каждый раз постоянно это проверять?

На данный момент, чтобы узнать, вам нужно запустить:

kubens
kubectx
kubectl <my-command>
 Чтобы не делать этого, ps1 является плагином zsh, который автоматически покажет вам ваш текущий контекст и пространство имен:
Теперь вы можете увидеть, на какое пространство имен и контекст вы указываете, не выполняя ни одной команды.
Он также очень настраиваемый – вы можете отключить пространство имен или контекст, если вас интересует только что-то одно из них, или вы можете использовать kubeoff, чтобы полностью отключить все это.

popeye

Popeye запускает автоматическое сканирование ресурсов в вашем хранилище и выявляет очевидные проблемы.
Это новый инструмент, который я нашел очень полезным.
Если вы затеяли генеральную уборку в кластере, начните с popeye, и вы получите четкие указания о том, что нужно исправить.

Stern

Вы когда-нибудь использовали логи kubectl?
Заметили, что вы можете следить только за журналами с одного пода одновременно?
Не беспокойтесь больше об этом!
Stern – это инструмент, который позволяет вам извлекать логи из нескольких подов, основываясь на очень гибком запросе.

 

You may also like

Leave a Comment