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
Не так давно упоминал плагин 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
K8up (произносится ketchup) — это оператор резервного копирования Kubernetes, распространяемый через Helm, совместимый с OpenShift и обычным Kubernetes.

— Делает резервную копию всех PVC, помеченных как RWM или с определенной меткой.
— Создание резервных копий по требованию или через планировщик.
— Резервные копии любых приложений, которые умеют писать данные на стандартный вывод или в файл.
— Проверка целостности резервных копий.
— Ротация бэкапов.
— Поддержка S3-совместимых хранилищ.

Примеры смотрите в документации
А что бы было понятнее, вот пример аннотации для бэкапа PostgreSQL

template:
metadata:
labels:
app: postgresql
annotations:
k8up.io/backupcommand: >-
sh -c
'
PGDATABASE="$POSTGRES_DB"
PGUSER="$POSTGRES_USER"
PGPASSWORD="$POSTGRES_PASSWORD"
pg_dump --clean
'
k8up.io/file-extension: .sql
spec:
containers:
- name: postgres
image: docker.io/bitnami/postgresql:11

#k8s #kubernetes #backup

https://github.com/k8up-io/k8up
👍2🔥1
Deprecations AKA KubePug - утилита для проверки устаревших версий API в Kubernetes, поставляется как подключаемый модуль (krew deprecations) для kubectl и самостоятельная утилита kubepug.

Kubepug получает информацию о устаревших ресурсах из API Kubernetes, проверяет текущий кластер и размещенные в нем ресурсы или файлы переданные на входе с полученной информацией из кластера. На выходе получите отчет, что следует актуализировать.

Установим krew плагин:
kubectl krew install deprecations

Пример как проверить Helm шаблон на совместимость с кубером 1.22.0
helm template -f values.yaml .0 | kubepug --k8s-version v1.22.0 --input-file=-

Также ранее упоминал похожие утилиты Kubent и Pluto

#k8s #kubernetes #deprecation

https://github.com/rikatz/kubepug
prometheus_bot - бот для отправки событий Alertmanager в Telegram.

Со стороны Alertmanager настраиваем webhook_configs для отправки сообщений в бота, в боте настраиваем токен. На этом всё, никаких дополнительных команд бот не умеет. Но умеет использовать свой персональный gotmpl для сообщений, форматировать дату/время и единицы измерения.

#prometheus #alertmanager #telegram #bot

https://github.com/inCaller/prometheus_bot
🔥2
alertmanager-bot - бот для отправки событий Alertmanager в Telegram.

Этот бот умеет в разный набор комманд:
/start - Подписаться на оповещения.
/stop - Отписаться от уведомлений.
/status - Распечатать текущий статус.
/alerts - Список всех предупреждений.
/silences - Список всех отключенных уведомлений.
/chats - Список всех пользователей и групповых чатов, которые подписались.

Если сравнивать с prometheus_bot, здесь мы имеем необходимость в своей БД (bolt, etcd, consul), в отличии от prometheus_bot, где используется обычная веб-хук труба. Выбирайте, что вам подходит лучше, управляемый или простой бот.

#prometheus #alertmanager #telegram #bot

https://github.com/metalmatze/alertmanager-bot
1👍1🔥1
Нашел подборку готовых Archi моделей Cloud Native Architectural Models.

Содержит модели для CAAS, собственных облачных приложений, приложений 12/15 Factor с CI/CD/CS, мониторингом и управлением журналами. Компоненты инфраструктуры включают OpenShift, Storage, Cloudforms, JBoss Java Web Server, JBoss Enterprise Application Server, JBoss Business Rules Management, JBoss Data Grid, JBoss Data Virtualization и Ansible.

Да, тут прям оплот RedHat, но архитектурные схемы довольно неплохие, и я думаю могут пригодится при проектировании чего-то нового.

Модель сохранена при помощи coArchi, про него я ранее писал на хабре, кто не знаком, там можно ознакомится с вводной.

#archi #archimate #coarchi

https://github.com/alberttwong/archi_cloudnative