Flux v2.0.0 is Out!
Главный вывод здесь заключается в том, что
Перед обновлением на Flux 2 проверьте свою реализацию GitOps на предмет использования
Главный вывод здесь заключается в том, что
patchesStrategicMerge и patchesJson6902 признаны устаревшими в v1beta1 и будут удалены в v1.Перед обновлением на Flux 2 проверьте свою реализацию GitOps на предмет использования
patchesStrategicMerge и patchesJson6902. Заменить патчами.GitHub
Release v2.0.0 · fluxcd/flux2
Highlights
This is the first General Availability (GA) release of Flux v2.
Flux v2.0.0 comes with the promotion of the GitOps related APIs to v1 and adds horizontal scaling & sharding capabilit...
This is the first General Availability (GA) release of Flux v2.
Flux v2.0.0 comes with the promotion of the GitOps related APIs to v1 and adds horizontal scaling & sharding capabilit...
😱2❤1
🚀 NVIDIA Device Plugin для Kubernetes 🖥
NVIDIA Device Plugin для Kubernetes - это daemonSet, который позволяет вам автоматически:
✨ Выявлять количество GPU на каждом узле вашего кластера
🔍 Следить за состоянием ваших GPU
🚀 Запускать контейнеры с поддержкой GPU в кластере Kubernetes
Плагин работает, предоставляя GPU на каждом узле в качестве ресурсов Kubernetes. Это позволяет вам создавать поды и запрашивать ресурсы GPU с помощью requests/limits, а kubelet будет планировать эти поды на узлах, имеющих необходимые GPU.
Плагин также предоставляет ряд функций для управления GPU, таких как:
🔸 Позволяет овер-коммитить задачи на GPU, чтобы вы могли запускать больше подов, чем имеется физических GPU.
🔸 Позволяет указать количество копий каждого GPU, которые вы хотите создать.
🔸 Позволяет указать версию CUDA, которую вы хотите использовать.
Плагин NVIDIA Device Plugin - ценный инструмент для управления GPU в Kubernetes. Он позволяет легко предоставлять GPU в качестве вычислительных ресурсов Kubernetes и предоставляет ряд функций для эффективного управления GPU. 💪
🌟 Будьте готовы раскрыть всю мощь GPU в вашем Kubernetes-кластере с помощью NVIDIA Device Plugin! 🌟
NVIDIA Device Plugin для Kubernetes - это daemonSet, который позволяет вам автоматически:
✨ Выявлять количество GPU на каждом узле вашего кластера
🔍 Следить за состоянием ваших GPU
🚀 Запускать контейнеры с поддержкой GPU в кластере Kubernetes
Плагин работает, предоставляя GPU на каждом узле в качестве ресурсов Kubernetes. Это позволяет вам создавать поды и запрашивать ресурсы GPU с помощью requests/limits, а kubelet будет планировать эти поды на узлах, имеющих необходимые GPU.
Плагин также предоставляет ряд функций для управления GPU, таких как:
🔸 Позволяет овер-коммитить задачи на GPU, чтобы вы могли запускать больше подов, чем имеется физических GPU.
🔸 Позволяет указать количество копий каждого GPU, которые вы хотите создать.
🔸 Позволяет указать версию CUDA, которую вы хотите использовать.
Плагин NVIDIA Device Plugin - ценный инструмент для управления GPU в Kubernetes. Он позволяет легко предоставлять GPU в качестве вычислительных ресурсов Kubernetes и предоставляет ряд функций для эффективного управления GPU. 💪
🌟 Будьте готовы раскрыть всю мощь GPU в вашем Kubernetes-кластере с помощью NVIDIA Device Plugin! 🌟
GitHub
GitHub - NVIDIA/k8s-device-plugin: NVIDIA device plugin for Kubernetes
NVIDIA device plugin for Kubernetes. Contribute to NVIDIA/k8s-device-plugin development by creating an account on GitHub.
🔥3❤1
PR #266 - [Operator] Add AuthenticationStrategy, ManagerDn, ManagerPassword, IdentityStrategy properties for LDAP integration
Еще один контрибушн в Open source.
На этот раз добавил конфигурацию security для LDAP для NiFi Kubernetes Operator.
Еще один контрибушн в Open source.
На этот раз добавил конфигурацию security для LDAP для NiFi Kubernetes Operator.
GitHub
Add AuthenticationStrategy, ManagerDn, ManagerPassword, IdentityStrat… by pashtet04 · Pull Request #266 · konpyutaika/nifikop
…egy properties for LDAP integration
Q
A
Bug fix?
no
New feature?
yes
API breaks?
yes
Deprecations?
no
Related tickets
fixes #65
License
Apache 2.0
What's in this PR?
Add Au...
Q
A
Bug fix?
no
New feature?
yes
API breaks?
yes
Deprecations?
no
Related tickets
fixes #65
License
Apache 2.0
What's in this PR?
Add Au...
👍5🔥3
🔍 Масштабирование приложений в Kubernetes: HPA vs. Увеличение ресурсов
Мне задали вопрос: когда следует использовать HPA для приложений, а когда увеличивать ресурсы контейнера. Можно ли обойтись только управлением ресурсами контейнера при динамической нагрузке?
Короткий ответ: можно (нет)
💡 Обычно мы включаем автоматическое масштабирование (HPA) и увеличиваем количество реплик при изменении нагрузки на наше приложение.
📊 Ресурсы (requests/limits) в основном используются для ограничения вашего приложения и правильного определения размера вашего кластера и приложений внутри.
Начиная с версии Kubernetes 1.27, появилась поддержка динамического изменения ресурсов, но это не обеспечивает достаточной гибкости при изменении нагрузки.
💡 Если нагрузка на приложение предсказуема, то достаточно изменить ресурсы, и приложение сможет обработать запросы без проблем с выделенными ресурсами. Однако, если нагрузка на приложение меняется, возникают проблемы с масштабируемостью или требуется оптимизация расходов, использование горизонтального автоматического масштабирования (HPA) может быть более гибким и эффективным решением. 💪🚀
Мне задали вопрос: когда следует использовать HPA для приложений, а когда увеличивать ресурсы контейнера. Можно ли обойтись только управлением ресурсами контейнера при динамической нагрузке?
Короткий ответ: можно (
💡 Обычно мы включаем автоматическое масштабирование (HPA) и увеличиваем количество реплик при изменении нагрузки на наше приложение.
📊 Ресурсы (requests/limits) в основном используются для ограничения вашего приложения и правильного определения размера вашего кластера и приложений внутри.
Начиная с версии Kubernetes 1.27, появилась поддержка динамического изменения ресурсов, но это не обеспечивает достаточной гибкости при изменении нагрузки.
💡 Если нагрузка на приложение предсказуема, то достаточно изменить ресурсы, и приложение сможет обработать запросы без проблем с выделенными ресурсами. Однако, если нагрузка на приложение меняется, возникают проблемы с масштабируемостью или требуется оптимизация расходов, использование горизонтального автоматического масштабирования (HPA) может быть более гибким и эффективным решением. 💪🚀
Kubernetes
Dynamic Resource Allocation
FEATURE STATE: Kubernetes v1.35 [stable](enabled by default) This page describes dynamic resource allocation (DRA) in Kubernetes.
About DRA DRA is a Kubernetes feature that lets you request and share resources among Pods. These resources are often attached…
About DRA DRA is a Kubernetes feature that lets you request and share resources among Pods. These resources are often attached…
👍3🤔3
💡 Очистка кэшированной памяти в Linux: Как и зачем? 💻
🙋♂️ Пришли сегодня с еще одним вопросом: наша система Linux отображает 20 ГБ кэшированной памяти, и можно ли ее очистить без перезапуска?
👍 Да, вы можете очистить кэшированную память, но давайте разберемся, зачем это может понадобиться.
🥸 Следует учесть, что кэшированная память является значительным потребителем памяти в системе Linux. Если вам интересно узнать реальное количество свободной памяти, рекомендуется обратить внимание на столбец available при использовании команды
Но стоит обратить внимание на следующие ситуации, когда стоит быть осторожным:
🗑 Когда количество доступной памяти (available или free + buffers/cache) приближается к нулю.
🗄 Когда используется область подкачки (swap used).
🔫 Если в выводе команды
Посетите ссылку Help! Linux ate my RAM!, чтобы получить дополнительную информацию о работе памяти в Linux и кэшировании.
🙋♂️ Пришли сегодня с еще одним вопросом: наша система Linux отображает 20 ГБ кэшированной памяти, и можно ли ее очистить без перезапуска?
sync; echo 3 > /proc/sys/vm/drop_caches💁 Каждый раз, когда вы читаете данные с диска, они загружаются в память и сохраняются в кэше страниц. Если вы снова обратитесь к той же части файла, данные будут читаться из памяти, что ускоряет работу системы. Кэширование памяти - это важный механизм оптимизации в Linux, который позволяет избежать повторных обращений к диску и улучшить производительность.
free.Но стоит обратить внимание на следующие ситуации, когда стоит быть осторожным:
🗑 Когда количество доступной памяти (available или free + buffers/cache) приближается к нулю.
🗄 Когда используется область подкачки (swap used).
🔫 Если в выводе команды
dmesg | grep oom-killer есть информация о работе OOM Killer.Посетите ссылку Help! Linux ate my RAM!, чтобы получить дополнительную информацию о работе памяти в Linux и кэшировании.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💯4🔥1
🎩 Helm Library Chart: Универсальность и преимущества 📦
Вы знали, что можно достичь универсальности с помощью Helm Library Chart? Этот подход позволяет создать гибкий и переиспользуемый Helm-чарт.
Helm Library Chart позволяет нормально работать с объединением значений и шаблонов, в отличие от классического подхода, когда передаются несколько файлов значений с пересекающейся структурой данных.
Основные преимущества использования Helm Library Chart включают:
🔹 Универсальность: Благодаря Helm Library Chart вы можете создавать чарты, которые можно легко повторно использовать для разных приложений или компонентов.
🔹 Мерж значений и шаблонов: Helm Library Chart позволяет без проблем объединять значения и шаблоны, предоставляя более гибкую и удобную систему конфигурации.
🔹 Версионирование: Вы можете использовать версионирование в Helm Library Chart для безопасного управления зависимостями и внесения изменений в чарты.
Таким образом, Helm Library Chart предоставляет эффективный и гибкий подход к созданию универсальных чартов для управления инфраструктурой в Kubernetes. Это отличный инструмент, который поможет вам упростить и стандартизировать процесс развертывания и управления приложениями. 🚀
Вы знали, что можно достичь универсальности с помощью Helm Library Chart? Этот подход позволяет создать гибкий и переиспользуемый Helm-чарт.
Helm Library Chart позволяет нормально работать с объединением значений и шаблонов, в отличие от классического подхода, когда передаются несколько файлов значений с пересекающейся структурой данных.
Основные преимущества использования Helm Library Chart включают:
🔹 Универсальность: Благодаря Helm Library Chart вы можете создавать чарты, которые можно легко повторно использовать для разных приложений или компонентов.
🔹 Мерж значений и шаблонов: Helm Library Chart позволяет без проблем объединять значения и шаблоны, предоставляя более гибкую и удобную систему конфигурации.
🔹 Версионирование: Вы можете использовать версионирование в Helm Library Chart для безопасного управления зависимостями и внесения изменений в чарты.
Таким образом, Helm Library Chart предоставляет эффективный и гибкий подход к созданию универсальных чартов для управления инфраструктурой в Kubernetes. Это отличный инструмент, который поможет вам упростить и стандартизировать процесс развертывания и управления приложениями. 🚀
🔥5👍3👏2🆒1
Forwarded from Yandex Cloud
В карточках перечислили основные обновления в каждой из версий. Читайте подробнее по ссылке.
#yacloud_general
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😱2👍1
🌟 Тяжелый день в мире DevOps 😓
☝️ Сперва на кластер NiFi при миграции с публичного GitHub прокатилась какая-то старая Ansible роль и поломались конфигурационные файлы 😮
Затем кластер никак не хотел собираться, якобы не может достучаться до соседних нод, хотя с виду все работает.
Затем я все таки подумал на ядро и посмотрел логи:
RPC: fragment too large😐
Не знаю, откуда это взялось, вроде никаких NFS у меня нет. Семь бед один резет 🚁
🧶Потом пришлось разбираться в Jenkins пайплайне, который запускает с параметрами Ansible playbook, который шаблонинизирует Kubernetes манифест через Jinja2, который потом применяется через😡
📝 Ну и успел поразбираться с OOM на одном из Jupyter server в Kubeflow, что тоже прошло не спокойно.
План был такой:
☝️ Увелечение 👩💻 Оптимизация дата сета (возможно удастся его уменьшить)
🆚Использование альтернативных моделей, которые более оптимизированы по работе с памятью
Откровенно говоря, тачки в кластере у нас были не шибко жирные в целях экономии денег, потому было принято решение заскейлить группы узлов по памяти.
И тут началось: увидел на Kubeflow🔫
🤑
📄Завел задачу себе на синк образов для Kubeflow в локальный Artifactory, а также добавить аутентификацию для увеличения лимита до 200. Различных образов у меня в Kubeflow чуть более, чем 100.
Но так как времени уже много, а контейнеров стартануло в целом достаточно, кроме парочки, среди которых был UI, я принял решение подождать шесть часов в качестве быстрого решения😂
#историядня #kubeflow #oom #nifi
Затем кластер никак не хотел собираться, якобы не может достучаться до соседних нод, хотя с виду все работает.
Затем я все таки подумал на ядро и посмотрел логи:
RPC: fragment too large
Не знаю, откуда это взялось, вроде никаких NFS у меня нет. Семь бед один резет 🚁
🧶Потом пришлось разбираться в Jenkins пайплайне, который запускает с параметрами Ansible playbook, который шаблонинизирует Kubernetes манифест через Jinja2, который потом применяется через
kubectl apply. Вопросов больше, чем ответов. План был такой:
memory limits
🆚Использование альтернативных моделей, которые более оптимизированы по работе с памятью
Откровенно говоря, тачки в кластере у нас были не шибко жирные в целях экономии денег, потому было принято решение заскейлить группы узлов по памяти.
И тут началось: увидел на Kubeflow
no healthy upstream.. а в событиях собственно и причину 429 Too Many Requests - Server message: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading The rate limits of 100 container image requests per six hours for anonymous usage
Беспощадный капитализм 📄Завел задачу себе на синк образов для Kubeflow в локальный Artifactory, а также добавить аутентификацию для увеличения лимита до 200. Различных образов у меня в Kubeflow чуть более, чем 100.
Но так как времени уже много, а контейнеров стартануло в целом достаточно, кроме парочки, среди которых был UI, я принял решение подождать шесть часов в качестве быстрого решения
#историядня #kubeflow #oom #nifi
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6😱4
Kubeflow официально присоединился к CNCF в качестве проекта на стадии инкубации! Это означает, что проект стал частью нейтральной структуры управления, поддерживаемой Linux Foundation
Теперь у нас открываются новые возможности для развития и роста. Следим за новостями о том, что это значит для сообщества 🔍
Kubeflow Mailing List 📦
Kubeflow Community Call
Please open Telegram to view this post
VIEW IN TELEGRAM
Kubeflow
Community
About the Kubeflow community
👍4❤1
У меня *nix-деформация.
Так и не смог за сутки привыкнуть к интерфейсу MacOS.
Tiling manager -- Yabai
Statusbar -- Sketchybar
Пришлось привыкать к zsh и перепиливать конфиги.
Вернул Alacritty + tmux с плагинами.
Так и не смог за сутки привыкнуть к интерфейсу MacOS.
Tiling manager -- Yabai
Statusbar -- Sketchybar
Пришлось привыкать к zsh и перепиливать конфиги.
Вернул Alacritty + tmux с плагинами.
😁2👻1
Cilium — это мощный инструмент для мониторинга и повышения observability кластера Kubernetes. Он предоставляет возможность отслеживать метрики, такие как
С помощью метрик Cilium можно получить глубокое понимание поведения и производительности сервисов в кластере Kubernetes. а также обеспечить оптимальную производительность, быстро обнаруживать аномалии и оперативно устранять неполадки. Он работает как прозрачный слой, который позволяет эффективно управлять сетевым трафиком между микросервисами и обеспечивать его безопасность.
Так что, если вам требуется комплексный мониторинг метрик и повышение observability для ваших сервисов в Kubernetes, Cilium предоставляет надежное решение, обеспечивающее анализ и мониторинг производительности, подобный тому, что предоставляет AWS ALB.
https://docs.cilium.io/en/latest/observability/metrics/
https://github.com/cilium/hubble/blob/main/README.md#metrics--monitoring
#cilium
HTTP status codes, latency, request and response time. Это очень похоже на то, что предлагает AWS Application Load Balancer, но Cilium нацелен специально на сервисы Kubernetes, использующие ClusterIP сервисы.С помощью метрик Cilium можно получить глубокое понимание поведения и производительности сервисов в кластере Kubernetes. а также обеспечить оптимальную производительность, быстро обнаруживать аномалии и оперативно устранять неполадки. Он работает как прозрачный слой, который позволяет эффективно управлять сетевым трафиком между микросервисами и обеспечивать его безопасность.
Так что, если вам требуется комплексный мониторинг метрик и повышение observability для ваших сервисов в Kubernetes, Cilium предоставляет надежное решение, обеспечивающее анализ и мониторинг производительности, подобный тому, что предоставляет AWS ALB.
https://docs.cilium.io/en/latest/observability/metrics/
https://github.com/cilium/hubble/blob/main/README.md#metrics--monitoring
#cilium
docs.cilium.io
Monitoring & Metrics — Cilium 1.19.0-dev documentation
🔥3👍2👏2
Ну так что, а кто как запускает контейнеры на MacOS? Docker? Или еще что?
Я ранее использовал Podman на Linux.
Ну, собственно, на MacOS я также остановился на Podman🔫
Я так понимаю, тут виртуалочка нужна будет под ногами для запуска контейнеров..
Я ранее использовал Podman на Linux.
Ну, собственно, на MacOS я также остановился на Podman
Я так понимаю, тут виртуалочка нужна будет под ногами для запуска контейнеров..
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, друзья!
🚀 Отправка метрик в Prometheus Pushgateway
Мы старательно отправляли метрики в Prometheus Pushgateway, который затем делал их доступными для сканирования Prometheus. Однако есть одна загвоздка - Prometheus собирает эти метрики с фиксированным интервалом в 30 секунд. Хотя такой подход имеет свои достоинства, он не всегда дает точную картину нашей динамичной системы.
⏰ Временные метки (
timestamps): Добавлять или не добавлять?Одним из решений, находящихся в поле нашего зрения, является добавление временных меток (
timestamps) в наши метрики. Этот, казалось бы, простой шаг позволяет получить много информации о времени последнего обновления каждой метрики. Такая наглядность может стать спасением при отладке.Но подождите, есть один нюанс - нужно ли использовать временные метки? Ответ может вас удивить.
https://prometheus.io/docs/practices/pushing/
Еще одним направлением, которое мы изучаем, является ручное удаление метрик. Поскольку в Pushgateway отсутствует встроенный механизм истечения срока действия метрики (TTL), мы рассматриваем возможность стратегического использования PUT-запросов с пустым телом. Это позволяет эффективно удалять метрики, но с другой стороны. Как мы можем гарантировать, что не потеряем метрики до того, как Prometheus получит возможность их собрать?
🎟 Обогащение метрик метаданными
Лейблы, лейблы, больше лейблов! Еще одна хитрость в наших рукавах - обогащение метрик метаданными. С помощью меток мы можем эффективно классифицировать и фильтровать метрики. Это все равно что добавить нотку организованности в хаос метрик.
Буду рад услышать ваши мнения и рекомендации по поводу этих подходов. Открыли ли вы для себя другие методы, которые творят чудеса в области управления метриками Pushgateway? Особенно в тех случаях, когда речь идет о частых обновлениях или истечении срока действия?
Please open Telegram to view this post
VIEW IN TELEGRAM
prometheus.io
When to use the Pushgateway | Prometheus
Prometheus project documentation for When to use the Pushgateway
👍4🔥3👏2