Кубертатный период
480 subscribers
144 photos
10 videos
3 files
319 links
DevOps Underdog
Download Telegram
Kubernetes 1.28 officially introduces sidecars to the Kubernetes API

Обновление Kubernetes до версии 1.28 внесло интересное изменение в спецификацию пода, а именно в поле RestartPolicy для init-контейнеров.

🧑‍🚒 RestartPolicy для Init-Контейнеров

В предыдущих версиях Kubernetes RestartPolicy для init-контейнеров была наследована от общей RestartPolicy пода. Теперь появилось новое поле RestartPolicy в спецификации init-контейнера, и единственным допустимым значением является "Always".

🚀 Always: Если установлена RestartPolicy "Always" для init-контейнера, это означает, что этот контейнер будет постоянно перезапускаться, даже если он завершил выполнение задачи.

🛠 Остальные контейнеры: Для остальных контейнеров или если поле RestartPolicy не указано в спецификации контейнера, поведение перезапуска определяется RestartPolicy на уровне пода и типом контейнера.

🏍 Sidecar: Это изменение позволяет создавать sidecar-контейнеры или контейнеры инициализации с RestartPolicy: Always, которые будут перезапускаться независимо от других контейнеров. После завершения работы всех обычных контейнеров с RestartPolicy "Always", все init-контейнеры с этой настройкой также будут завершены.

Это изменение предоставляет больше гибкости при управлении жизненным циклом init-контейнеров и позволяет им работать как легкие sidecar-контейнеры с возможностью постоянного перезапуска.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💯21
👍4👨‍💻2
Forwarded from DevOps FM
Всем DevOps! 🖖

Наверняка вы слышали про историю с OpenTF.

Вкратце: четыре недели назад HashiCorp перевела Terraform (и другие свои продукты) с лицензии открытого исходного кода на лицензию Business Source (BUSL). Три недели назад объединение разных компаний выпустило манифест OpenTF, в котором просило HashiCorp вернуться к лицензии с открытым исходным кодом. Две недели назад, не получив ответа от HashiCorp, был создан приватный форк Terraform и заявлено, что он будет сделан публичным через 1-2 недели.

Собственно, это и случилось 🥳

Форк OpenTF уже доступен — ссылка на репозиторий.

Релизов пока нет, почему — можно узнать здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Forwarded from Elastic Stack recipes
Вышел DataPrepper 2.4

DataPrepper — это компонент OpenSearch, который является аналогом ingest-node в ElasticSearch и предназначен для трансформации данных.

Из ключевых обновлений: поддержка в качестве источника Apache Kafka, пакетная обработка событий Amazon S3, фильтрация внутри синков, новые кодеки для синков S3 и потоковое обнаружение аномалий.

Поддержка Apache Kafka. Добавлена поддержка Kafka и Amazon Managed Streaming for Apache Kafka (Amazon MSK) в качестве источника, что принимать данные из одного или нескольких топиков в кластере Kafka. Также есть возможность настроить несколько конвейеров на считывание данных из одного топика в Kafka, что позволяет настраивать количество потребителей топика на стороне Kafka.

Пакетная обработка событий S3. Добавлена поддержка функции сканирования S3, которая сканирует бакеты Amazon S3 для обработки объектов без необходимости настройки уведомлений о событиях Amazon S3. Фича подходит для случаев, когда необходимо перенести большие объемы исторических данных или для пользователей, которые хотят запускать задания ночного сканирования данных, загруженных в бакеты S3.

Фильтрация внутри синков. Добавлены опции include_keys и exclude_keys для синков, что дает возможность получать данные из любого источника и применять правила обогащения с помощью цепочки процессоров. Также можно выборочно отправлять данные в определенный приемник, например OpenSearch или S3 для архивации.

Кодеки S3. Появились новые кодеки: JSON codec, Avro codec, Parquet codec.

Потоковое обнаружение аномалий. Потоковый детектор аномалий теперь содержит опцию identification_keys, которая создает модель Random Cut Forest (RCF) для каждого значения в данных временного ряда. С помощью опции identification_keys аномалии обнаруживаются по уникальному набору ключей.

Скачать новую версию DataPrepper 2.4

Release Notes к DataPrepper 2.4

Roadmap для DataPrepper
👍3🔥2
Forwarded from Stanislav
Смерть от тысячи микросервисов / Хабр
https://habr.com/ru/articles/760426/
👍6🔥2
Kubeflow Summit 2023 on Friday, October 6th

- deployKF: A Better Way to Deploy Kubeflow and More
- Scale Your Models to Zero with Knative and Kserve
- How to use Kubeflow with MLflow
- The Journey to Supporting 60 Million DAUs starts by supporting 200 (доклад от Roblox)

Don’t miss out on this incredible opportunity to expand your knowledge and network with the Kubeflow community.

Get ready to dive into the world of Kubeflow, the open-source machine learning platform built on Kubernetes. Our summit will feature engaging sessions, hands-on workshops, and networking opportunities to connect with like-minded individuals.

Discover the latest advancements in Kubeflow, learn from industry leaders, and gain insights into real-world use cases. Whether you’re a developer, data scientist, or IT professional, this event is designed to inspire and empower you.
3👍1
🚀 Управлении ресурсами Kubernetes: Как Finalizers помогают в удалении

Понимание того, почему объекты Kubernetes иногда остаются неудаленными, даже после выполнения kubectl delete, может быть для эффективного управления вашими кластерами. Внутреннее устройство команды delete в Kubernetes не всегда гарантирует мгновенное удаление, и одной из причин могут быть Finalizers.

В обычных случаях, при отсутствии мешающих факторов, команда delete удаляет объект из кластера без проблем.


🔑 Finalizers - это ключи ресурсов, которые указывают на необходимость выполнения дополнительных операций перед удалением объекта. Например, некоторые Finalizers на объектах PersistentVolume (PV) и PersistentVolumeClaim (PVC) используются для предотвращения случайного удаления.

При наличии Finalizers, объект не удаляется моментально. Kubernetes заблокирует удаление из-за Finalizers и установит временную метку для удаления, но объект будет оставаться до тех пор, пока не будет удален его Finalizer.

Вы можете удалить Finalizer, чтобы разрешить удаление объекта. Это делается через патчинг объекта с помощью kubectl. Как только Finalizer убран, объект будет удален.


🔗 Owner References описывают, какие объекты связаны друг с другом. Это позволяет удалять зависимые ресурсы при удалении родительского объекта. К примеру, при удалении Deployment или StatefulSet, связанные Pod также будут удалены.

По умолчанию, установлена опция --cascade=true, что позволяет удалить объект и его зависимости. Но можно также использовать опцию --cascade=orphan, чтобы удалить только объект, оставив зависимости.


🧩 Знание работы Finalizers и Owner References важно для управления ресурсами Kubernetes. Внимательно исследуйте причины наличия Finalizers перед ручным удалением. Ссылки на владельца помогают удалять связанные ресурсы, но будьте осторожны с финализаторами.

#kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
deployKF builds world-class ML Platforms on any Kubernetes cluster, within any cloud or environment, in minutes.

☝️ deployKF includes leading ML & Data tools from Kubeflow and more
🐫 deployKF has centralized configs that manage all aspects of the platform
🧵 deployKF supports in-place upgrades and can autonomously roll out config changes
🍀 deployKF lets you bring your own cluster dependencies like istio and cert-manager, if desired
🐳 deployKF uses ArgoCD Applications to provide native GitOps support

https://www.youtube.com/watch?v=VggtaOgtBJo
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🎉1
Согласованность баз данных в контексте доступности и задержек.

🚀 Давайте представим, что вы создаете сложную систему, и важно, чтобы все пользователи видели одинаковую информацию. Однако существует постоянный баланс между скоростью обновления данных и уверенностью в том, что они актуальны для всех.

📊 Что такое согласованность? Это просто вопрос о том, насколько точно данные в базе отражают реальное положение дел. Это то, что мы ищем, но за ней стоят некоторые нюансы.

🛠️ Чем выше степень согласованности, тем больше времени требуется для обновления данных. И тем менее надежной становится система, особенно при сбоях. Это приводит нас к теореме PACELC.

🤔 Суть теоремы в том, что в распределенных системах у нас есть компромисс. Когда что-то идет не так, и сеть разделяет систему, мы должны выбирать между доступностью (данные всегда доступны, даже если немного устарели) и согласованностью (данные всегда актуальны, но это занимает больше времени).

👩‍💻 Так что каждый разработчик должен учитывать этот баланс между скоростью и надежностью при работе с базой данных. Это фундаментальное понимание, которое помогает создавать эффективные и надежные системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
6 Archetypes of Broken Ownership

Если принцип «You build it, you run it!» требует авторитета, знаний и ответственности, что произойдет, если что-то из этого отсутствует?

👑 Отсутствие авторитета:

Если вы не контролируете ситуацию, вы не сможете эффективно нести за нее ответственность. Важен авторитет и возможность влияния.

🤓 Отсутствие знаний:

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

📄 Отсутствие опыта:

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

🔦 Понимание, ответственность и опыт — ключи к успешному управлению.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🤡1
Горизонтальное автомасштабирование сервисов на основе метрик Message Queue для RabbitMQ

В статье описывается, как использовать KEDA, инструмент автомасштабирования для Kubernetes на основе внешних метрик, например, горизонтальное автомасштабирование Pod'ов на основе метрик очереди сообщений для RabbitMQ.
👍63
📊 Prometheus - популярное решение для мониторинга. Но чем больше метрик мы начинаем хранить, тем больше памяти требуется. Все бы хорошо, но Prometheus работает в режиме одиночного процесса, что усложняет его использование.

🛠️ Однако за последний год была проделана огромная работа по сокращению потребления памяти Prometheus, в некоторых случаях даже на 50%.

🧠 Какие данные Prometheus хранит в памяти.

🔍 Как профилирование помогло выявить, где можно сэкономить больше всего памяти.

🔥Как однажды небольшая ошибка в конфигурации вызвала серьезный сбой крупнейшей установки Prometheus.

🏗️ Почему пришлось пересматривать структуру данных для лейблов, идентифицирующих временные ряды (time series data).

🌐 И как все эти изменения повлияли на связанные проекты, такие как Cortex и Thanos.

Эти улучшения делают Prometheus более эффективным и доступным, даже с огромными объемами метрик. 🚀📈
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻21👍1
Forwarded from Pavel Klyuev
🔥6😍2💩1💯1
kubectl get -o yaml vs. kubectl describe: 🤖💬

Чем отличаются команды kubectl get -o yaml и kubectl describe? 🧐 Давайте разберемся!

kubectl get -o yaml:
Выводит всю информацию в формате YAML или JSON.
Полезно для машинной обработки данных или в скриптах. Предоставляет полное представление ресурса, а также текущий статус.

kubectl describe:
Выводит краткий обзор в более читаемом формате для человека, включая события ресурса (Events)
Удобно для быстрого понимания состояния ресурса и событий.

Часто я использую yq ... | yq для более удобной читаемости. 🤓📜
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔32👍2
crontab guru

The quick and simple editor for cron schedule expressions
👍63😨1
Forwarded from Nikita
единственный удобный редактор для крона - это чат гпт, все остальное дичь - реками сидеть подбирать параметры пока не получится что надо
😁3💩1🤡1
Kyverno: Kubernetes Native Policy Management

🚀 Kyverno -- это мощный инструмент для управления политиками в среде Kubernetes. Он может проверять, изменять и генерировать конфигурации с помощью контроля доступа и фонового сканирования.

🛡️ Декларативные политики -- Kyverno позволяет определять политики как код, добавляя их к ресурсам Kubernetes, через декларативные конфигурации YAML, что упрощает понимание и управление политиками.

🧞‍♂️ Генерация манифестов -- Kyverno может генерировать манифесты ресурсов на основе определенных политик, что весьма удобно для создания стандартных конфигураций и предотвращения человеческих ошибок.

🧠 Гибкая обработка данных -- Поддерживает изменение ресурсов на лету, применяя политики к запущенным приложениям без их перезапуска, что позволяет эффективно адаптироваться к изменяющимся требованиям.

🤖 Webhook-контроллеры -- Kyverno работает как webhook-контроллер, интегрируясь с Kubernetes API Server, что обеспечивает реактивную обработку событий и обеспечивает безопасную и надежную работу политик.

🛡 Управление ролями -- Kyverno позволяет определять правила доступа на основе политик для более точного контроля над ресурсами.

Kyverno — это не просто инструмент для применения политик, но и платформа для управления политиками как часть процесса разработки и эксплуатации приложений в Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🤔1👨‍💻1
🚀 Apache Kafka: Новый Клиент Franz для Windows и Linux!

🎉 Нативный клиент для Apache Kafka теперь появился и для Windows и для Linux, помимо macOS

📊 Легкий доступ к топикам напрямую через интуитивно понятный интерфейс.

🏋️‍♂️ Простое управление группами потребителей (consumer groups) для оптимального потока данных

😶‍🌫️ Подключение к Managed Kafka / Red Panda

🔍 Быстрый поиск и фильтрация данных для удобства использования.

📈 Визуализация данных, помогающая быстро понять текущее состояние системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2👨‍💻1😨1