Хорошие инструменты для повышения производительности (серия 12 деталей)
Мониторинг
K9s
K9S — это пользовательский интерфейс на основе терминала для взаимодействия с вашими кластерами Kubernetes. Цель этого проекта — облегчить навигацию, наблюдать и управлять развернутыми приложениями в дикой природе. K9s постоянно наблюдает за Kubernetes за изменениями и предлагает последующие команды взаимодействовать с вашими наблюдаемыми ресурсами.
Ссылка: https://github.com/derailed/k9s
Попай
Popeye — это утилита, которая сканирует Live Kubernetes Cluster и сообщает о потенциальных проблемах с развернутыми ресурсами и конфигурациями. Он продезинфицирует ваш кластер, основываясь на том, что развернуто, а не то, что сидит на диске.
Ссылка: https://github.com/derailed/popeye
Менеджер пакетов
Крю
Крю — это инструмент, который позволяет легко использовать плагины kubectl. Крю помогает вам открыть плагины, установить и управлять ими на вашей машине. Это похоже на такие инструменты, как APT, DNF или Brew. Сегодня на Krew доступны более 100 плагинов Kubectl.
Ссылка: https://github.com/kubernetes-sigs/krew
Плагины
Kubectx + Kubens
Kubectx помогает переключаться между кластерами взад и вперед:
Kubens помогает вам плавно переключаться между пространствами имен Kubernetes:
Ссылка: https://github.com/ahmetb/kubectx
Кубеспи
Kubespy — это небольшой инструмент, который позволяет легко наблюдать за тем, как изменяются ресурсы Kubernetes в режиме реального времени, полученная от работы, которую мы проделали, чтобы сделать развертывание Kubernetes предсказуемым в CLI Пулуми. Запустите Kubespy в любой момент времени, и он будет постоянно наблюдать и сообщать информацию о ресурсе Kubernetes, пока не убьете его.
Ссылка: https://github.com/pulumi/kubespy
Kube-Score
Kube-Score-это инструмент, который выполняет анализ статического кода ваших определений объектов Kubernetes.
Ссылка: https://github.com/zegl/kube-score
Kubectl-Doctor
Этот плагин вдохновлен Бревным Доктором:) Он сканирует ваш в настоящее время целевой кластер K8S, чтобы увидеть, есть ли аномалии или полезные пункты действия, которые он может сообщить вам.
Этот плагин не меняет какого -либо состояния или конфигурации, он просто сканирует и собирает информацию, чем отчеты обратно аномалии в формате YAML.
Ссылка: https://github.com/emirozer/kubectl-doctor
Ктуннел
Ktunnel — это инструмент CLI, который устанавливает обратный туннель между кластером Kubernetes и вашей локальной машиной. Это позволяет вам разоблачить свою машину в качестве услуги в кластере или выставлять ее на определенное развертывание
Ссылка: https://github.com/omrikiei/ktunnel
Kubectl-Tree
Плагин Kubectl для изучения отношений владельца между объектами Kubernetes с помощью версий владельцев.
Ссылка: https://github.com/ahmetb/kubectl-rere
Отчет об ошибках
Kubetail
Скрипт BASH, который позволяет агрегировать (хвост/следующий) журналы из нескольких стручков в один поток. Это то же самое, что и запуск «kubectl logs -f», но для нескольких стручков.
Ссылка: https://github.com/johanhaleby/kubetail
Kubectl-Debug
Kubectl-Debug-это решение вне дерева для устранения неисправностей, которые позволяют запустить новый контейнер в запуске стручков для отладки.
Ссылка: https://github.com/aylei/kubectl-debug
корм
Stern позволяет вам заводить несколько стручков на Kubernetes и несколько контейнеров в стручке. Каждый результат предназначен для более быстрой отладки
Ссылка: https://github.com/stern/stern
Предупреждение
Botkube
Интеграция Botkube с Slack, Matter Moster или Microsoft Teams помогает вам контролировать свой кластер Kubernetes, отлаживать критические развертывания и дает рекомендации для стандартных практик, проводя чеки на ресурсах Kubernetes. Вы также можете попросить Botkube выполнить команды Kubectl на кластере K8S, который помогает отладки приложения или кластера
Ссылка: https://github.com/infracloudio/botkube
Проверка
Polaris
Polaris Fairwinds держит ваши кластеры плавно плавать. Он проходит различные проверки, чтобы гарантировать, что капсулы Kubernetes и контроллеры настроены с использованием лучших практик, помогая вам избежать проблем в будущем.
Ссылка: https://github.com/fairwindsops/polaris
Златовласка
Златовласка — это утилита, которая может помочь вам определить отправную точку для запросов и ограничений ресурсов.
Ссылка: https://github.com/fairwindsops/goldilocks
Шлем
Счетер
Командная линия помощника для русла. Эта утилита добавляет функциональности руля несколькими способами:
- Создает декларативный синтаксис для управления несколькими выпусками в одном месте
- Позволяет установить диаграммы из GIT Commit/Branch/Release
Пример:
# course.yml charts: nginx-ingress: namespace: ingress-controllers version: 1.15.1 values: controller.ingressClass: "my-ingress-class-name"
Ссылка: https://github.com/fairwindsops/reckoner
Helmfile
Развернуть Helm Helm Helm Helmfile Helmfile
releases: - name: prom-norbac-ubuntu namespace: prometheus chart: stable/prometheus set: - name: rbac.create value: false
helmfile apply
Ссылка: https://github.com/roboll/helmfile
Судно
Kubevela
Kubevela — это платформный двигатель, позволяющий проектировать и доставку приложений с минимальными усилиями.
$ vela up -f https://raw.githubusercontent.com/oam-dev/kubevela/master/docs/examples/vela.yaml Parsing vela.yaml ... Loading templates ... Rendering configs for service (testsvc)... Writing deploy config to (.vela/deploy.yaml) Applying deploy configs ... Checking if app has been deployed... App has not been deployed, creating a new deployment... ✅ App has been deployed 🚀🚀🚀 Port forward: vela port-forward first-vela-app SSH: vela exec first-vela-app Logging: vela logs first-vela-app App status: vela status first-vela-app Service status: vela status first-vela-app --svc testsvc
Ссылка: https://github.com/oam-dev/kubevela
Секреты руля
запечатанные секреты
Чтобы безопасно хранить секреты в государственном или частном репозитории GIT, вы можете использовать контроллер Bitnami запечатанных секундов и шифровать ваши секреты Kubernetes в герметичные секторы. Запечатанные секреты могут быть расшифрованы только контроллером, работающим в вашем кластере, и никто другой не может получить первоначальный секрет, даже если у них есть доступ к репозиторию GIT.
# Create a json/yaml-encoded Secret somehow: # (note use of `--dry-run` - this is just a local file!) $ echo -n bar | kubectl create secret generic mysecret --dry-run=client --from-file=foo=/dev/stdin -o json >mysecret.json # This is the important bit: # (note default format is json!) $ kubesealmysealedsecret.json # mysealedsecret.json is safe to upload to github, post to twitter, # etc. Eventually: $ kubectl create -f mysealedsecret.json # Profit! $ kubectl get secret mysecret
Ссылка: https://github.com/bitnami-labs/sealed-secrets
Kubernetes-External-Secret
Внешние секреты оператор Kubernetes считывает информацию из сторонней службы, такой как Manager AWS Secrets, и автоматически вводит значения как секреты Kubernetes.
Ссылка: https://github.com/external-secrets/external-secrets
Хорошие инструменты для повышения производительности (серия 12 деталей)
Оригинал: «https://dev.to/javidjms/top-20-useful-k8s-tools-53g3»