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

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 с минимальными нажатиями клавиш.

kubens

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

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

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

kubens kube-system

Теперь все ваши команды по умолчанию выполняются в пространстве имен системы kube-system.

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

kube-ps1

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

Но как узнать, на кого вы сейчас нацелены?

Каждый раз постоянно это проверять?

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

kubens
kubectx
kubectl <my-command>

Чтобы не делать этого, ps1 является плагином zsh, который автоматически покажет вам ваш текущий контекст и пространство имен:

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

Он также очень настраиваемый – вы можете отключить пространство имен или контекст, если вас интересует только что-то одно из них, или вы можете использовать kubeoff, чтобы полностью отключить все это.

popeye

Popeye запускает автоматическое сканирование ресурсов в вашем хранилище и выявляет очевидные проблемы.

Это новый инструмент, который я нашел очень полезным.

Если вы затеяли генеральную уборку в кластере, начните с popeye, и вы получите четкие указания о том, что нужно исправить.

Stern

Вы когда-нибудь использовали логи kubectl?

Заметили, что вы можете следить только за журналами с одного пода одновременно?

Не беспокойтесь больше об этом!

Stern – это инструмент, который позволяет вам извлекать логи из нескольких подов, основываясь на очень гибком запросе.

Источник: https://itisgood.ru/2020/01/22/kak-nastroit-udobnyj-terminal-kubernetes/

Was this helpful?

0 / 0