Deckhouse Prom++: мы добавили плюсы к Prometheus и сократили потребление памяти в 7,8 раза
Хотя Prometheus и стал стандартом мониторинга для микросервисов в Kubernetes, он потребляет слишком много ресурсов. А что, если мы скажем, что добавили пару плюсов к Prometheus и получили почти бесплатный мониторинг?
Prometheus для хранения 1 миллиона метрик, собираемых раз в 30 секунд на протяжении 2 часов, требуются 500 МБ на диске и 5 ГБ памяти. Нам показалось, что это слишком много. Вместо этого хотелось получить «бесплатный» мониторинг, который не будет требовать значительных затрат на инфраструктуру.
Больше двух лет мы работали над этой задачей. Её результатом стал Deckhouse Prom++. Это Open Source-система мониторинга, которой в среднем требуется в 7,8 раза меньше памяти и в 2,2 раза меньше ресурсов CPU, чем Prometheus v2.53. И здесь ещё есть пространство для оптимизации.
В статье мы расскажем, как появилась идея Deckhouse Prom++, что уже получилось оптимизировать, какие результаты показывает наше решение по сравнению с Prometheus и VictoriaMetrics, а также о ближайших планах.
https://habr.com/ru/companies/flant/articles/878282/
#devops #девопс
Подпишись 👉 @i_DevOps
Хотя Prometheus и стал стандартом мониторинга для микросервисов в Kubernetes, он потребляет слишком много ресурсов. А что, если мы скажем, что добавили пару плюсов к Prometheus и получили почти бесплатный мониторинг?
Prometheus для хранения 1 миллиона метрик, собираемых раз в 30 секунд на протяжении 2 часов, требуются 500 МБ на диске и 5 ГБ памяти. Нам показалось, что это слишком много. Вместо этого хотелось получить «бесплатный» мониторинг, который не будет требовать значительных затрат на инфраструктуру.
Больше двух лет мы работали над этой задачей. Её результатом стал Deckhouse Prom++. Это Open Source-система мониторинга, которой в среднем требуется в 7,8 раза меньше памяти и в 2,2 раза меньше ресурсов CPU, чем Prometheus v2.53. И здесь ещё есть пространство для оптимизации.
В статье мы расскажем, как появилась идея Deckhouse Prom++, что уже получилось оптимизировать, какие результаты показывает наше решение по сравнению с Prometheus и VictoriaMetrics, а также о ближайших планах.
https://habr.com/ru/companies/flant/articles/878282/
#devops #девопс
Подпишись 👉 @i_DevOps
👍6
Основы виртуализации. Часть 1
1.Основы виртуализации. Введение
2.Основы виртуализации. История развития виртуализации
3.Основы виртуализации. Серверы
4.Основы виртуализации. Виртуальные машины
5.Основы виртуализации. Гипервизоры второго типа
6.Основы виртуализации. Лабораторная работа №1. Создаем VM
7.Основы виртуализации. Гипервизоры первого типа
8.Основы виртуализации. Лабораторная работа №2. ESXi
источник
#devops #девопс
Подпишись 👉 @i_DevOps
1.Основы виртуализации. Введение
2.Основы виртуализации. История развития виртуализации
3.Основы виртуализации. Серверы
4.Основы виртуализации. Виртуальные машины
5.Основы виртуализации. Гипервизоры второго типа
6.Основы виртуализации. Лабораторная работа №1. Создаем VM
7.Основы виртуализации. Гипервизоры первого типа
8.Основы виртуализации. Лабораторная работа №2. ESXi
источник
#devops #девопс
Подпишись 👉 @i_DevOps
👍8
История и приготовление Docker «для самых маленьких»
Если вы новичок в ИТ или DevOps, поверхностно знакомы с контейнеризацией и только начали осваивать Docker, то встречаемся 10 апреля в 19:00 на вебинаре «Управление контейнерами».
Что в программе?
▪️Эволюция ИТ-инфраструктуры от виртуализации к контейнеризации
▪️Архитектура Docker
▪️Какими бывают контейнеры
▪️Паттерны и антипаттерны dockerfile
▪️Инструменты управления
🔗 Регистрация
Если вы новичок в ИТ или DevOps, поверхностно знакомы с контейнеризацией и только начали осваивать Docker, то встречаемся 10 апреля в 19:00 на вебинаре «Управление контейнерами».
Что в программе?
▪️Эволюция ИТ-инфраструктуры от виртуализации к контейнеризации
▪️Архитектура Docker
▪️Какими бывают контейнеры
▪️Паттерны и антипаттерны dockerfile
▪️Инструменты управления
🔗 Регистрация
👍2
kr8s — это минималистичная, асинхронная и типизированная обёртка над Kubernetes API для Python.
Она предназначена для тех, кто хочет писать Kubernetes-автоматизацию или контроллеры (операторы) на чистом Python без необходимости использовать
Пример:
Библиотека полностью асинхронна и поддерживает современные возможности Python, включая
https://github.com/kr8s-org/kr8s
#devops #девопс
Подпишись 👉 @i_DevOps
Она предназначена для тех, кто хочет писать Kubernetes-автоматизацию или контроллеры (операторы) на чистом Python без необходимости использовать
kubectl, YAML или громоздкие библиотеки.Пример:
from kr8s import cluster, get
with cluster() as c:
pods = get("pods", namespace="default")
for pod in pods:
print(pod.name, pod.status.phase)
Библиотека полностью асинхронна и поддерживает современные возможности Python, включая
async for, тайпинги и кастомные ресурсы.https://github.com/kr8s-org/kr8s
#devops #девопс
Подпишись 👉 @i_DevOps
👍2❤1
Forwarded from Bash Советы
🧯Как отключить историю Bash — навсегда и без следов
Иногда не хочется, чтобы команды сохранялись в истории (~/.bash_history). Особенно при работе с конфиденциальными данными.
🔒 Отключение истории в текущей сессии
Просто обнуляем переменные истории:
💥 После этого Bash не будет сохранять историю вообще. Даже после выхода из сессии.
🧼 Стереть историю прямо сейчас
🔁 Отключить навсегда (для пользователя)
Добавь в ~/.bashrc или ~/.bash_profile:
📌 После перезапуска оболочки история вестись не будет.
🧙 Дополнительно (опционально)
Чтобы Bash не пытался писать историю на выходе:
🛑 Будь осторожен! Без истории сложнее откатить действия. Но иногда это нужно: безопасность превыше всего 🔐
👉@bash_srv
Иногда не хочется, чтобы команды сохранялись в истории (~/.bash_history). Особенно при работе с конфиденциальными данными.
🔒 Отключение истории в текущей сессии
Просто обнуляем переменные истории:
unset HISTFILE
export HISTSIZE=0
export HISTFILESIZE=0
💥 После этого Bash не будет сохранять историю вообще. Даже после выхода из сессии.
🧼 Стереть историю прямо сейчас
history -c # очистить историю из памяти
> ~/.bash_history # стереть файл истории
🔁 Отключить навсегда (для пользователя)
Добавь в ~/.bashrc или ~/.bash_profile:
export HISTFILE=
export HISTSIZE=0
export HISTFILESIZE=0
📌 После перезапуска оболочки история вестись не будет.
🧙 Дополнительно (опционально)
Чтобы Bash не пытался писать историю на выходе:
unset HISTFILE
trap "" EXIT
🛑 Будь осторожен! Без истории сложнее откатить действия. Но иногда это нужно: безопасность превыше всего 🔐
👉@bash_srv
👍5
➕ Открытый практикум DevOps by Rebrain: Managed Kubernetes и облачные сервисы. Как работать эффективнее с Yandex Cloud
↘️ Регистрация
Время проведения:
10 апреля (четверг) в 12:00 по МСК
Программа практикума:
🟢Ценность Kubernetes и облачных сервисов — зачем в этом нужно разбираться
🟢Работа с Yandex Managed Service for Kubernetes и другими сервисами
🟢Полезные практические сценарии — разбор интересных решений
🟢Типичные ошибки пользователей и сложности при работе на платформе Yandex Cloud — на демостенде
Кто ведёт?
Нурсултан Калниязов — архитектор облачных решений. Помогает развивать облачные сервисы, имеет большой опыт работы с Kubernetes. C 2022 года работает в Yandex Cloud.
Василий Озеров — Co-Founder Rebrain, руководитель международной команды Fevlake. Спикер RootConf / DevopsConf.
✉️ Вас ждут кейсы про первые шаги в Yandex Cloud и лайфхаки администрирования Managed Kubernetes®
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFJcxsep
↘️ Регистрация
Время проведения:
10 апреля (четверг) в 12:00 по МСК
Программа практикума:
🟢Ценность Kubernetes и облачных сервисов — зачем в этом нужно разбираться
🟢Работа с Yandex Managed Service for Kubernetes и другими сервисами
🟢Полезные практические сценарии — разбор интересных решений
🟢Типичные ошибки пользователей и сложности при работе на платформе Yandex Cloud — на демостенде
Кто ведёт?
Нурсултан Калниязов — архитектор облачных решений. Помогает развивать облачные сервисы, имеет большой опыт работы с Kubernetes. C 2022 года работает в Yandex Cloud.
Василий Озеров — Co-Founder Rebrain, руководитель международной команды Fevlake. Спикер RootConf / DevopsConf.
✉️ Вас ждут кейсы про первые шаги в Yandex Cloud и лайфхаки администрирования Managed Kubernetes®
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFJcxsep
👍1
Сбор данных мониторинга из Frontend JS приложений используя Grafana Faro
Здравствуйте. В данной статье будет выполнено рассмотрение и установка инструмента Grafana Faro для осуществления сбора данных мониторинга из Frontend приложений написанных на JavaScript. Также, перед непосредственным использованием Grafana Faro, выполним установку в кластере Kubernetes всех остальных необходимых компонентов Grafana стека.
https://habr.com/ru/articles/812065/
#devops #девопс
Подпишись 👉 @i_DevOps
Здравствуйте. В данной статье будет выполнено рассмотрение и установка инструмента Grafana Faro для осуществления сбора данных мониторинга из Frontend приложений написанных на JavaScript. Также, перед непосредственным использованием Grafana Faro, выполним установку в кластере Kubernetes всех остальных необходимых компонентов Grafana стека.
https://habr.com/ru/articles/812065/
#devops #девопс
Подпишись 👉 @i_DevOps
👍1
Transaction Outbox: как избежать потери данных в распределённых системах
В распределённых системах потеря данных — это не редкость. Как гарантировать целостность информации и обеспечить надёжную передачу сообщений? Transaction Outbox — шаблон, который решает проблему согласованности данных.
📅 7 апреля в 20:00 (мск)
🎓 Открытый вебинар с Олегом Мифле
💡 Что разберём?
✅ Проблемы согласованности данных в распределённых системах
✅ Как работает Transaction Outbox
✅ Как связать локальные базы данных с брокерами сообщений (Kafka, RabbitMQ)
✅ Реальные примеры внедрения шаблона в микросервисную архитектуру
🎯 Что получите?
✔️ Понимание принципов согласованности данных в распределённых системах
✔️ Практические навыки работы с Transaction Outbox
✔️ Готовые решения для построения надёжной микросервисной архитектуры
👉 Регистрация: https://vk.cc/cKsyMa
Занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
В распределённых системах потеря данных — это не редкость. Как гарантировать целостность информации и обеспечить надёжную передачу сообщений? Transaction Outbox — шаблон, который решает проблему согласованности данных.
📅 7 апреля в 20:00 (мск)
🎓 Открытый вебинар с Олегом Мифле
💡 Что разберём?
✅ Проблемы согласованности данных в распределённых системах
✅ Как работает Transaction Outbox
✅ Как связать локальные базы данных с брокерами сообщений (Kafka, RabbitMQ)
✅ Реальные примеры внедрения шаблона в микросервисную архитектуру
🎯 Что получите?
✔️ Понимание принципов согласованности данных в распределённых системах
✔️ Практические навыки работы с Transaction Outbox
✔️ Готовые решения для построения надёжной микросервисной архитектуры
👉 Регистрация: https://vk.cc/cKsyMa
Занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как эффективно масштабировать микросервисы с помощью контейнеров и Kubernetes на Go
Микросервисная архитектура — мощный подход к созданию масштабируемых и поддерживаемых приложений. Но по мере увеличения числа сервисов растёт и сложность управления ими. Использование контейнеров (например, Docker) в сочетании с Kubernetes позволяет упростить масштабирование, деплой и мониторинг микросервисов.
🔹 Почему Go?
Go (или Golang) отлично подходит для микросервисов:
- высокая производительность,
- быстрая компиляция,
- встроенная поддержка параллелизма,
- простота разработки и читаемость кода.
🔹 Контейнеризация микросервисов
Контейнеры позволяют упаковать приложение со всеми зависимостями в один изолированный образ. Для каждого микросервиса создается Docker-образ, который можно запускать на любой системе с Docker.
Пример Dockerfile для Go-сервиса:
Этот подход позволяет минимизировать размер финального контейнера и ускорить запуск.
🔹 Оркестрация с помощью Kubernetes
Kubernetes управляет развертыванием и масштабированием контейнеров. Каждый микросервис разворачивается как Pod, а Deployment следит за его доступностью и масштабируемостью.
Пример Deployment для Go-сервиса:
Это создаёт три реплики сервиса, балансируя нагрузку между ними.
🔹 Сервис-дискавери и балансировка
Kubernetes автоматически предоставляет DNS и IP для взаимодействия между сервисами. Компонент Service в Kubernetes позволяет направлять трафик к нужным Pod'ам и осуществлять балансировку.
🔹 Мониторинг и масштабирование
Интеграция с Prometheus и Grafana обеспечивает мониторинг метрик. Kubernetes также позволяет настраивать автоматическое масштабирование (HPA) в зависимости от загрузки CPU или других метрик.
Пример HPA:
https://blog.stackademic.com/how-to-effectively-scale-microservices-using-containers-and-kubernetes-on-go-1fb05fccb089
#devops #девопс
Подпишись 👉@i_DevOps
Микросервисная архитектура — мощный подход к созданию масштабируемых и поддерживаемых приложений. Но по мере увеличения числа сервисов растёт и сложность управления ими. Использование контейнеров (например, Docker) в сочетании с Kubernetes позволяет упростить масштабирование, деплой и мониторинг микросервисов.
🔹 Почему Go?
Go (или Golang) отлично подходит для микросервисов:
- высокая производительность,
- быстрая компиляция,
- встроенная поддержка параллелизма,
- простота разработки и читаемость кода.
🔹 Контейнеризация микросервисов
Контейнеры позволяют упаковать приложение со всеми зависимостями в один изолированный образ. Для каждого микросервиса создается Docker-образ, который можно запускать на любой системе с Docker.
Пример Dockerfile для Go-сервиса:
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o service
FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/service .
CMD ["./service"]
Этот подход позволяет минимизировать размер финального контейнера и ускорить запуск.
🔹 Оркестрация с помощью Kubernetes
Kubernetes управляет развертыванием и масштабированием контейнеров. Каждый микросервис разворачивается как Pod, а Deployment следит за его доступностью и масштабируемостью.
Пример Deployment для Go-сервиса:
apiVersion: apps/v1
kind: Deployment
metadata:
name: go-service
spec:
replicas: 3
selector:
matchLabels:
app: go-service
template:
metadata:
labels:
app: go-service
spec:
containers:
- name: go-service
image: your-repo/go-service:latest
ports:
- containerPort: 8080
Это создаёт три реплики сервиса, балансируя нагрузку между ними.
🔹 Сервис-дискавери и балансировка
Kubernetes автоматически предоставляет DNS и IP для взаимодействия между сервисами. Компонент Service в Kubernetes позволяет направлять трафик к нужным Pod'ам и осуществлять балансировку.
🔹 Мониторинг и масштабирование
Интеграция с Prometheus и Grafana обеспечивает мониторинг метрик. Kubernetes также позволяет настраивать автоматическое масштабирование (HPA) в зависимости от загрузки CPU или других метрик.
Пример HPA:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: go-service-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: go-service
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
https://blog.stackademic.com/how-to-effectively-scale-microservices-using-containers-and-kubernetes-on-go-1fb05fccb089
#devops #девопс
Подпишись 👉@i_DevOps
👍5
🧪 K8E — это форк проекта K3s, предназначенный для локального тестирования.
Он не требует root-доступа и не использует systemd.
Также вы можете легко собрать и запустить его без сетевого подключения (air-gap режим).
Основные особенности:
- Без root-доступа
- Без systemd
- Один бинарник
- Простой запуск кластера:
- Не требует внешней сети
- Поддерживает полностью автономную сборку
Если вы когда-либо хотели поднять Kubernetes-кластер за пару секунд и без привилегий — этот инструмент идеально подойдёт для тестов и локальной разработки.
https://github.com/xiaods/k8e
#devops #девопс
Подпишись 👉@i_DevOps
Он не требует root-доступа и не использует systemd.
Также вы можете легко собрать и запустить его без сетевого подключения (air-gap режим).
Основные особенности:
- Без root-доступа
- Без systemd
- Один бинарник
- Простой запуск кластера:
k8e server &- Не требует внешней сети
- Поддерживает полностью автономную сборку
Если вы когда-либо хотели поднять Kubernetes-кластер за пару секунд и без привилегий — этот инструмент идеально подойдёт для тестов и локальной разработки.
https://github.com/xiaods/k8e
#devops #девопс
Подпишись 👉@i_DevOps
👍6
Как войти в ELITный клуб?
Приглашаем на вебинар, посвящённый методике оценки перформеров и повышению эффективности DevOps. Поделимся ключевыми различиями между low- и elite-перформерами, а также тем, как применять эти знания для повышения продуктивности бизнеса.
📌 10 апреля в 12:00, онлайн. Требуется регистрация.
На вебинаре вы узнаете:
🔸 почему именно мы говорим об эффективности в области DevOps;
🔸 в чём различия между low- и elite-перформерами;
🔸 как мы определяем лучшие DevOps-практики, которые применяют наиболее эффективные команды;
🔸 как сделать ваш DevOps эффективнее.
🎁 Участники вебинара смогут получить скидку на анализ этапов SDLC в вашей компании, чтобы построить роадмап по улучшению DevOps-практик.
Зарегистрироваться
Приглашаем на вебинар, посвящённый методике оценки перформеров и повышению эффективности DevOps. Поделимся ключевыми различиями между low- и elite-перформерами, а также тем, как применять эти знания для повышения продуктивности бизнеса.
📌 10 апреля в 12:00, онлайн. Требуется регистрация.
На вебинаре вы узнаете:
🔸 почему именно мы говорим об эффективности в области DevOps;
🔸 в чём различия между low- и elite-перформерами;
🔸 как мы определяем лучшие DevOps-практики, которые применяют наиболее эффективные команды;
🔸 как сделать ваш DevOps эффективнее.
🎁 Участники вебинара смогут получить скидку на анализ этапов SDLC в вашей компании, чтобы построить роадмап по улучшению DevOps-практик.
Зарегистрироваться
👍2🐳1
📐Основы Kubernetes: архитектура и абстракции
Как устроен Kubernetes и почему он стал стандартом для управления контейнерами?
Что разберемся на занятии:
1. Ключевые компоненты Kubernetes: контейнеры, поды, ноды, сервисы и их взаимодействие.
2. Как в Kubernetes происходит развертывание и управление микросервисами.
3. Принципы масштабируемости, отказоустойчивости и безопасности в Kubernetes.
4. Реальные кейсы использования Kubernetes для DevOps и архитекторов.
Что получится после урока?
• Фундаментальное понимание структуры Kubernetes и его ключевых абстракций.
• Навыки работы с необычными объектами для развертывания и масштабирования приложений.
• Практические знания, которые можно сразу применить в работе.
👉 Регистрация и подробности о курсе "Инфраструктурная платформа на основе Kubernetes": https://vk.cc/cKzfot
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как устроен Kubernetes и почему он стал стандартом для управления контейнерами?
Что разберемся на занятии:
1. Ключевые компоненты Kubernetes: контейнеры, поды, ноды, сервисы и их взаимодействие.
2. Как в Kubernetes происходит развертывание и управление микросервисами.
3. Принципы масштабируемости, отказоустойчивости и безопасности в Kubernetes.
4. Реальные кейсы использования Kubernetes для DevOps и архитекторов.
Что получится после урока?
• Фундаментальное понимание структуры Kubernetes и его ключевых абстракций.
• Навыки работы с необычными объектами для развертывания и масштабирования приложений.
• Практические знания, которые можно сразу применить в работе.
👉 Регистрация и подробности о курсе "Инфраструктурная платформа на основе Kubernetes": https://vk.cc/cKzfot
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍2