12 инструментов, делающих Kubernetes легче

12 инструментов, делающих Kubernetes легче

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

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

N.B. Надеюсь, неведомая летучемышиная зараза, которая укусила собаку, которая укусила панголина, который укусил китайца по странному стечению обстоятельств в Ухане, где расположена биологическая лаборатория BSL-4 уровня, к февралю поутихнет и об 2019-nCoV мы будем только вспоминать, применяя обсценную лексику. И мы сможем провести уже в офлайне Kubernetes База 8–10 февраля 2021, а Kubernetes Мега для продвинутых пользователей K8s 12–14 февраля. Честно, лично я, как редактор, соскучился по драйву, кофебрейкам, спорам и каверзным вопросам спикерам. Ну, или вымрем всей планетой в стиле самых жестоких и трешовых романов Стёпы нашего Королёва, если всевышние силы устали от наших стрёмных шуток вроде Кончиты Вурст, часов патриарха Кирилла и желания Папы Римского поправить слова молитвы «Отче наш».

Но вернёмся к главному.

Goldpinger: Визуализация кластеров Kubernetes

Люди предпочитают смотреть. Графики и диаграммы делают более легким понимание огромной картины. И если учитывать масштабы и сложность кластера Kubernetes, мы можем использовать на всю катушку эту особенность.

Проект с забавным названием (вероятно тут что-то про агента 007, прим. переводчика) Goldpinger, имеющий открытый исходный код и выпущенный техническим подразделением Bloomberg, представляет собой простой инструмент, работающий внутри кластера Kubernetes и отображающий интерактивную карту отношений между узлами. Нормально функционирующие узлы показываются зеленым цветом, неработоспособные — красным. Достаточно щелкнуть по узлу, чтобы узнать подробности. Также можно настроить API с помощью Swagger, чтобы добавить дополнительные отчеты, характеристики и другие вещи.

K9s: Полноэкранный консольный интерфейс к Kubernetes

Сисадмины любят «однооконные» ништяки. K9s это полноэкранный консольный интерфейс для кластеров Kubernetes. С его помощью вы можете легко и непринужденно просматривать запущенные Pods, журналы и развертывания, имея быстрый доступ к оболочке. Примечание, вам надо выдать пользователям Kubernetes права на чтение уровня пользователя и пространства имен, чтобы K9s работал правильно.

Kops: Консольный ops для кластеров Kubernetes

Эта разработка от команды Kubernetes поможет вам управлять кластерами Kubernetes из командной строки. Он поддерживает кластера, запущенные на AWS и GKE, также работает с VMware vSphere и другими окружениями. В дополнение к автоматизации процессов установки и удаления, Kops может помочь справиться и с другими типами автоматизации. В частности он может создать настройки для Terraform, которыми можно переналить кластер с помощью Terraform.

Kubebox: Терминальная оболочка для Kubernetes

Продвинутая терминальная оболочка для Kubernetes, Kubebox, дает больше, чем старая добрая оболочка к Kubernetes и его API. Кроме прочего умеет в режиме реального времени показывать использование процессорного времени и оперативной памяти, список pods, содержимое журналов, а также запускать редактор настроек. Что еще понравилось, так то, что она доступна в виде отдельного приложения для Linux, Windows и MacOS.

Kube-applier

Kube-applier устанавливается как сервис Kubernetes, получает декларативные настройки кластера Kubernetes из git-репозитория, а затем применяет их к pods в кластере. Каждый раз, когда изменения были внесены, они берутся из репозитория и применяются к запрошенным pods. Это чем-то напоминает Scaffold от Google, но работает для управления целым кластером, вместо одного приложения.

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

Kube-ps1: Умная подсказка командной строки для Kubernetes

Нет, Kube-ps1 это не эмулятор Sony PlayStation для Kubernetes, хотя это было бы изящно. Это простое расширение командной строки Bash, отображающее текущий контекст Kubernetes и пространство имен в подсказке. Kube-shell включает ее в многими другими функциями, но если вам достаточно тольно умной подсказки — Kube-ps1 предоставит вам ее с минимальными затратами.

Kube-prompt

Еще одной минимальной, но весьма приятной в использовании модификацией Kubernetes CLI является Kube-prompt, с помощью которой вы можете войти в интерактивный сеанс с клиентом Kubernetes. Kube-prompt избавляет вас от необходимости вводить kubectl перед каждой командой, а также предоставляет автодополнение с контекстной информацией для каждой команды.

Kubespy: Мониторинг ресурсов Kubernetes в реальном времени

Kubespy от Pulumi это инструмент диагностики, помогающий отлаживать изменения ресурса кластера в реальном времени, предоставляя для этого что-то вроде текстовой панели для управления происходящим. Например, вы хотите посмотреть изменения состояния pod c момента запуска: определение pod пишется в etcd, pod планируется к запуску на узле, kubelet на узле создает pod, и, наконец, pod помечается как запущенный. Kubespy может запускаться как отдельной программой, так и в виде расширения к kubectl.

Kubeval: Проверка настроек Kubernetes

YAML файлы настроек Kubernetes могут быть человекочитаемыми, но это не всегда значит, что они могут быть так же проверены. Легко пропустить запятую или имя, и не найти это до того, как уже станет поздно. Лучше использовать Kubeval, установленный локально или подключенный в конвейере CICD. Kubeval берет YAML определение настроек Kubernetes и выдает обратно информацию о корректности. Он также умеет выводить данные в JSON или TAP, а также анализировать исходные шаблоны, на которые ссылаются настройки чарта Helm, не выполняя при этом дополнительные запросы.

Kube-ops-view: панель для нескольких кластеров Kubernetes

У Kubernetes уже есть весьма годная панель для мониторинга общего назначения, но сообщество Kubernetes экспериментирует с другими способами отображения данных, пригодных сисадминам Kubernetes. Kube-ops-view как раз и есть такой эксперимент, он предоставляет возможность обзора нескольких кластеров, можно увидеть потребление процессорного вреемни и оперативной памяти, состояние модулей кластера. Обратите внимание, что нельзя вызывать команды, инструмент только для визуализации. Но предоставляемые отображения четкие и ровные, прямо просятся на на настенный экран в вашем центре поддержки.

Rio: Поставка приложений для Kubernetes

Rio, проект от Rancher Labs, реализует общие методики поставки приложений в Kubernetes, например CD из Git, AB или сине-зеленые поставки. Он также может выкатывать новую версию вашего приложения как только вы зафиксировали изменения, помогая управлять сложностями с, например, DNS, HTTPS, Service Mesh.

Stern и Kubetail: просмотр журналов в Kubernetes

Stern выдает цветной вывод (как это умеет команда tail) из pods и контейнеров в Kubernetes. Также это наиболее быстрый способ получения вывода нескольких источников в единый поток, который может читаться на лету. В то же время у вас есть различимый взглядом способ (по цвету) разделения потоков.

Kubetail сходным способом соединяет журналы из разных pods в один поток, помечая цветом разные pods и контейнеры. Но Kubetail это скрипт на Bash. так что для его работы не требуется чего-либо еще, кроме оболочки.

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

А что используете вы для упрощения рутинных операций?

  • 2,9%Goldpinger1

  • 22,9%K9s8

  • 0,0%Kops0

  • 0,0%Kubebox0

  • 0,0%Kube-applier0

  • 0,0%Kube-ps10

  • 0,0%Kube-prompt0

  • 0,0%Kubespy0

  • 2,9%Kubeval1

  • 0,0%Kube-ops-view0

  • 0,0%Rio0

  • 2,9%Stern1

  • 5,7%Kubetail2

  • 28,6%Ничего из этого10

  • 5,7%У меня есть своя «прее-е-е-е-ле-е-ессссть»2

  • 8,6%Попробую посЧупать что-то из списка3

  • 20,0%Я управляю Kubernetes c помощью нейроимпланта, как в фильме «Джонни-мнемоник»7

Проголосовали 35 пользователей. Воздержались 19 пользователей.

Источник: habr.com

Добавить комментарий