Kubectl (Kubernetes Control) — это по сути основной интерфейс для взаимодействия с Kubernetes-кластером. Сторонние разработчики сделали для него много полезных плагинов, которые в той или иной ситуации могут облегчить работу инженера и сэкономить время. В этой статье рассмотрим 11 удобных плагинов для расширения функционала kubectl. Чтобы быстро добавить новые плагины для kubectl, можно воспользоваться утилитой krew. Это своего рода магазин плагинов, похожий на менеджеры пакетов типа yum, apt, apk и brew. С krew вы получите доступ к обширной библиотеке плагинов. Вот список плагинов, которые мы рассмотрим: Kubectx Kubens Stern Kubectl-who-can K9s Kubepug Rakkess Ketall Kubectl-Score Kubectl-tree Outdated kubectx — это инструмент командной строки, который позволяет пользователям переключаться между контекстами (кластерами) и пространствами имен Kubernetes быстрее и проще, чем с помощью одних только команд kubectl. В Kubernetes контекст — это комбинация кластера, пользователя и пространства имен. На вашем компьютере может быть настроено несколько контекстов, каждый из которых представляет отдельный кластер Kubernetes, пользователя и пространство имен. Переключение между контекстами необходимо, когда вы работаете с несколькими кластерами или пространствами имен. Потому что вводить полную команду kubectl каждый раз, чтобы переключиться, довольно утомительно. kubectx упрощает этот процесс и дает простой и интуитивно понятный интерфейс командной строки для переключения между контекстами. С kubectx вы можете использовать одну команду, чтобы вывести список всех доступных контекстов, переключиться на другой контекст или даже создать новый. Вот некоторые из ключевых особенностей kubectx: Быстрое переключение между контекстами. Введите команду kubectx, за ней имя контекста, чтобы быстро переключиться между контекстами. Автодополнение. Имена контекстов в kubectx дополняются автоматически. Это упрощает переключение. Список контекстов. Используйте команду kubectx без аргументов, чтобы вывести список всех доступных контекстов. Repo URL: https://github.com/ahmetb/kubectx kubens — это инструмент командной строки, который упрощает переключение между пространствами имен и помогает настроить их для использования с kubectl. В Kubernetes пространство имен — это виртуальный кластер внутри физического кластера, который используется для разделения и изоляции ресурсов внутри кластера. С Kubens вы можете быстро переключаться между пространствами имен в контексте Kubernetes и настраивать активное пространство имен для использования с kubectl. Это может быть особенно полезно при работе с несколькими пространствами имен в одном кластере. Нет необходимости каждый раз вводить полную команду kubectl. Repo URL: https://github.com/ahmetb/kubectx stern — это инструмент для отслеживания и фильтрации журналов из нескольких модулей Kubernetes одновременно. Он позволяет просматривать журналы из нескольких контейнеров и модулей в одном потоке. Это упрощает отладку. Repo URL: https://github.com/stern/stern kubectl-who-can — это инструмент командной строки, который помогает определить, какие пользователи или учетные записи служб имеют доступ к определенным ресурсам в вашем кластере. Проверяйте кто и какие действия может выполнять, например, создавать, обновлять или удалять ресурсы. Repo URL: https://github.com/aquasecurity/kubectl-who-can k9s — это инструмент пользовательского интерфейса на основе терминала, который предоставляет удобный интерфейс для управления кластерами Kubernetes. Он позволяет интуитивно просматривать ресурсы Kubernetes: модули, сервисы и развертывания. Так же он позволяет взаимодействовать с ними. Вы можете использовать k9s для мониторинга работоспособности ваших приложений, просмотра журналов и выполнения таких действий, как масштабирование или удаление ресурсов. Repo URL: https://github.com/derailed/k9s Этот плагин обнаруживает проблемы и потенциальные уязвимости в вашем конфигурационном файле Kubernetes и предлагает рекомендации по исправлению. Например, он поможет вам найти устаревшие и удаленные API в ваших ресурсах Kubernetes перед переходом на новую версию. Repo URL: https://github.com/rikatz/kubepug Многие администраторы кластеров Kubernetes реализуют принцип наименьших привилегий (least privilege) для безопасности своих кластеров. Этот плагин поможет вам понять привилегии, которыми обладает каждый пользователь для всех заданных ресурсов в кластере. Repo URL: https://github.com/corneliusweig/rakkess В конвейерах CI/CD обычно есть статический анализ для проверки качества кода разработчика, но как насчет манифестов? kube-score — плагин, который оценивает качество на основе определенных правил для развернутых ресурсов Kubernetes. Он поможет выявить, как соблюдаются или не соблюдаются некоторые рекомендации и практики.  Repo URL: https://github.com/zegl/kube-score Вы когда-нибудь сталкивались с тем, что при выводе kubectl get all отсутствуют некоторые ресурсы? Команда kubectl get all не дает список всех ресурсов. Она возвращает только те, у которых определено значение kind: all в API-файлах.  Поэтому некоторые ресурсы надо искать самостоятельно. Плагин ketall сэкономит ваше время и выведет список всех ресурсов в кластере, в пространстве имен, по меткам и т. д. Repo URL: https://github.com/corneliusweig/ketall Иногда сложно понять, как связаны между собой разные объекты в Kubernetes. Из-за этого можно потратить уйму времени при устранении неполадки. Плагин kubectl-tree поможет понять отношения между объектами Kubernetes в действующем кластере и сократит время устранения неполадок. Repo URL: https://github.com/ahmetb/kubectl-tree Этот плагин ищет устаревшие версии компонентов Kubernetes, выводит информацию о них и подсказывает, как их можно обновить. Repo URL : https://github.com/replicatedhq/outdated Мы рассмотрели 11 особенно полезных плагинов, которые, на наш взгляд, заслуживают внимания и облегчают работу с kubectl. Но на самом деле их гораздо больше. Чтобы найти их, используйте krew. Он может похвастаться впечатляющей библиотекой из 206 различных плагинов.  Если вы хотите научиться работать с Kubernetes на продвинутом уровне, заглянуть под капот и научиться создавать отказоустойчивые кластеры, приходите на наш курс «Kubernetes Мега». Ближайший поток стартует 28 августа. ☝️ Ознакомиться с программой и записаться на поток можно на нашем сайте.