Dev-Ops.su
306 subscribers
79 photos
4 files
206 links
Полезные утилиты, статьи, доклады и обзоры.
Канал для DevOps, SRE, Архитекторов и прочих *Ops

https://dev-ops.su

#DevOps #SRE #DevSecOps #SecOps #ChatOps #GitOps #DocsOps #MLOps #FinOps #NoOps #CloudOps #CIOps #CDOps #AnyOps #BuzzWordOps

@woozymasta
Download Telegram
Pluto - это утилита, помогающая находить устаревшие версии Kubernetes API в репозиториях c yaml манифестами или Helm чартами.

В отличии от kubent который в первую очередь призван анализировать кластер, а анализ файлов это как дополнительный функционал.
Pluto скорее пытается быть инструментом для встраивания в CI и анализа манифестов на ряду с каким нибудь kube-linter, но также может и проанализировать ресурсы кластера, но правда только установленные Helm v2/v3 чарты.

#k8s #kubernetes #deprecation

https://github.com/FairwindsOps/pluto
Подборка статей про кластеризацию Apache NiFi, тюнинг параметров и расчет сайзинга под ваши нужды.

- Официальная документация про кластеризацию и не только;
- Документация продвинутого уровня, изучив её, лучше понимаешь внутренне устройство NiFi;
- Вводная про кластеризацию, вкратце что, зачем и почему;
- Рекомендации по сайзингу от Cloudera в рамках HDF;
- Рекомендации по сайзингу и развертыванию, заметка на форуме Cloudera о лучших практиках сайзинга;
- Тюнинг и производительность кластера, неплохо собрано в одном месте у ребят из MarkLogic.

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

Но всё же, если ваш планируемый NiFi должен переваривать сотни тысяч событий в секунду, я бы не тащил его в кубер.

А это подборка awesome-nifi ссылок на разные блоги, доклады, процеcсора и прочие полезности.

Смотри в комментарии, там еще несколько книжек про NiFi бонусом.

#nifi
👍1
Еще одна (раз, два) утилита для визуализации ресурсов кластера Kubernetes.

Kubectl-graph - это krew плагин для kubectl, позволяет создать визуализацию для последующего рендера в Graphviz, Neo4j или ArangoDB на выбор.

Используя Graphviz всё происходит довольно просто и привычно:
kubectl graph svc,ing -n tools | dot -T svg -o links.svg

https://github.com/steveteuber/kubectl-graph

#k8s #kubernetes #visualize
Неделю назад упомянул Pluto от Fairwinds для поиска устаревших API в kubernetes, а у ребят есть еще несколько интересных утилит, к примеру Nova.

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

https://github.com/FairwindsOps/nova

#k8s #kubernetes #helm
Не так давно упоминал плагин Molecule Docker, есть еще и для Podman решение - Molecule Podman Plugin.

Позволяет использовать контейнеры для подготовки тестовых ресурсов при запуске тестов Ansible в Molecule. Умеет как в локaльный podman так и в podman-remote. Учитывая тот факт, что podman умеет запускать не только обычные контейнеры container как docker но еще умеет запускать поды pod и виртуальные машины machine, выглядит еще привлекательнее.

https://github.com/ansible-community/molecule-podman

#ansible #molecule #podman
DevLake объединяет все ваши данные DevOps в единое удобное, персонализированное и расширяемое представление. Принимайте, анализируйте данные из GitLab, Jira, Jenkins, GitHub и визуализируйте в Grafana.

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

https://github.com/merico-dev/lake

#grafana #jira #gitlab #github #jenkins
👍1
Zink - альтернативный легковесный (100 мб памяти) elasticsearch написанный на Go. Имеет совместимый с elasticsearch API, состоит из одного бинарника в который уже встроена веб-морда на Vue.

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

#elasticsearch

https://github.com/prabhatsharma/zinc
Я было дело bash скрипт kube-dump для бэкапа манифестов кубера на jq/yq городил. А оказывается есть krew плагин neat, который я как то обошел стороной. Плагин вырезает лишнюю метадату из манифестов, хоть это и не бэкап утилита, но для сохранения чистеньких манифестов не отходя от kubectl, очень даже удобно.

#krew #kubectl

https://github.com/itaysk/kubectl-neat
Наткнулся на решение kubernetes-replicator которое позволяет реплицировать ConfigMap, Secret, Role и RoleBinding между неймспейсами вашего кластера kubernetes. Все правила репликации описываются в анотации к ресурсу, репликация может быть как по Pull так и Push модели.

Ранее также упоминал kubernetes-reflector для синхронизации Secret и ConfigMap между неймспейсами.

#k8s #kubernetes #integrity

https://github.com/mittwald/kubernetes-replicator
1👍1
Ух, какую штуку нашел, кажется у Redis есть достойная замена из поднебесной.

Kvrocks - это распределенная ключ-значение база данных NoSQL, основанная на RocksDB и совместимая с протоколом Redis. Основная цель - снизить стоимость памяти и увеличить возможности по сравнению с Redis. Дизайн репликации и хранилища был вдохновлен Rockplicator и Blackwidow, используются bin и WAL логи.

Kvrocks имеет следующие ключевые особенности:

- Протокол Redis - можно использовать клиент Redis для работы с kvrocks;
- Неймспейсы - на подобии redis db, но с использованием токена для каждого пространства имен;
- Репликация - асинхронная репликация с использованием binlog, например как в MySQL;
- Высокая доступность - поддерживает redis sentinel для аварийного переключения при отказе ведущего или ведомого экземпляра.

Больше подробностей найдете в блоге kvrocks на medium и wiki

А тут результаты бэнчмарка (CN), где обещают такую же производительность на SSD у Kvrocks как у Redis в ОЗУ.

Prometeus exporter и утилита для миграции с Redis прилагается.

#redis #kvrocks #rocksdb #nosql

https://github.com/KvrocksLabs/kvrocks
👍5
Kubernetes Resource Report - Скрипт для создания HTML-отчета о запросах ЦП/памяти и их утилизации (собранных с помощью Metrics API) для одного или нескольких кластеров Kubernetes.

Основная цель отчета о ресурсах Kubernetes - помочь оптимизировать запросы ресурсов Kubernetes и избежать простоя. Осторожно, отчет не имеет авторизации, не публикуйте это публично!

Демонстрационная версия

#k8s #kubernetes #costs #resources

https://codeberg.org/hjacobs/kube-resource-report
Для тех кому избыточны Python генерированные HTML отчеты о утилизации ресурсов в кластере Kubernetes, а kubectl top и describe долго и не практично, есть простой CLI инструмент - kube-capacity.

Распространяется как самостоятельный CLI инструмент так и в виде Krew плагина для kubectl.

Попробуйте сами:

kubectl krew install resource-capacity
kubectl resource-capacity --util --sort cpu.util
kubectl resource-capacity --pods

#k8s #kubernetes #krew #costs #resources

https://github.com/robscott/kube-capacity
👍1
Тут timescale оказывается свой инструмент для установки набора observability развивает.

Tobs - CLI утилита (инсталятор Helm чартов), цель которой — максимально упростить установку полного стека наблюдаемости (Observability Stack) в кластер Kubernetes. Установит в кластер и настроит:

- Prometheus
- AlertManager
- Grafana
- Node-Exporter
- Kube-State-Metrics
- Prometheus-Operator
- Promscale
- TimescaleDB
- Promlens
- Opentelemetry-Operator
- Jaeger Query

Но стоит ли использовать TimeScale (PromScale) для долгосрочного хранения метрик, это спорный вопрос. На всякий случай приложу пару статей с сравнением:
- VictoriaMetrics vs TimescaleDB vs InfluxDB
- Promscale vs VictoriaMetrics 😲

#k8s #kubernetes #prometheus #timescale #promscale #observability #jaeger #grafana #alertmanager

https://github.com/timescale/tobs
😱1
ZomboDB привносит в Postgres мощные функции текстового поиска и аналитики, используя Elasticsearch в качестве типа индексов.

С технической точки зрения ZomboDB - это родное расширение Postgres, которое реализует API Postgres Index Access Method. Как собственный тип индекса Postgres, ZomboDB позволяет вам создавать индекс zombodb в ваших существующих таблицах Postgres. В этот момент ZomboDB полностью управляет удаленным индексом Elasticsearch и гарантирует транзакционно корректные результаты текстового поиска.

#postgres #elasticsearch

https://github.com/zombodb/zombodb