Kubernetes 1.28 officially introduces sidecars to the Kubernetes API
Обновление Kubernetes до версии 1.28 внесло интересное изменение в спецификацию пода, а именно в поле
🧑🚒 RestartPolicy для Init-Контейнеров
В предыдущих версиях Kubernetes
🚀 Always: Если установлена
🛠 Остальные контейнеры: Для остальных контейнеров или если поле
🏍 Sidecar: Это изменение позволяет создавать sidecar-контейнеры или контейнеры инициализации с
Это изменение предоставляет больше гибкости при управлении жизненным циклом init-контейнеров и позволяет им работать как легкие sidecar-контейнеры с возможностью постоянного перезапуска.
Обновление Kubernetes до версии 1.28 внесло интересное изменение в спецификацию пода, а именно в поле
RestartPolicy для init-контейнеров.В предыдущих версиях Kubernetes
RestartPolicy для init-контейнеров была наследована от общей RestartPolicy пода. Теперь появилось новое поле RestartPolicy в спецификации init-контейнера, и единственным допустимым значением является "Always".RestartPolicy "Always" для init-контейнера, это означает, что этот контейнер будет постоянно перезапускаться, даже если он завершил выполнение задачи.RestartPolicy не указано в спецификации контейнера, поведение перезапуска определяется RestartPolicy на уровне пода и типом контейнера.RestartPolicy: Always, которые будут перезапускаться независимо от других контейнеров. После завершения работы всех обычных контейнеров с RestartPolicy "Always", все init-контейнеры с этой настройкой также будут завершены.Это изменение предоставляет больше гибкости при управлении жизненным циклом init-контейнеров и позволяет им работать как легкие sidecar-контейнеры с возможностью постоянного перезапуска.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💯2❤1
Forwarded from DevOps FM
Всем DevOps! 🖖
Наверняка вы слышали про историю с OpenTF.
Вкратце: четыре недели назад HashiCorp перевела Terraform (и другие свои продукты) с лицензии открытого исходного кода на лицензию Business Source (BUSL). Три недели назад объединение разных компаний выпустило манифест OpenTF, в котором просило HashiCorp вернуться к лицензии с открытым исходным кодом. Две недели назад, не получив ответа от HashiCorp, был создан приватный форк Terraform и заявлено, что он будет сделан публичным через 1-2 недели.
Собственно, это и случилось🥳
Форк OpenTF уже доступен — ссылка на репозиторий.
Релизов пока нет, почему — можно узнать здесь.
Наверняка вы слышали про историю с 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
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/
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.
- 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.
Eventbrite
Kubeflow Summit 2023 - VIRTUAL Registration
Join us ONLINE at the Kubeflow Summit 2023 - a must-attend event starting on October 6th, 2023, where we'll dive deep Kubeflow.
❤3👍1
Понимание того, почему объекты Kubernetes иногда остаются неудаленными, даже после выполнения
kubectl delete, может быть для эффективного управления вашими кластерами. Внутреннее устройство команды delete в Kubernetes не всегда гарантирует мгновенное удаление, и одной из причин могут быть Finalizers.В обычных случаях, при отсутствии мешающих факторов, команда
delete удаляет объект из кластера без проблем.При наличии Finalizers, объект не удаляется моментально. Kubernetes заблокирует удаление из-за Finalizers и установит временную метку для удаления, но объект будет оставаться до тех пор, пока не будет удален его Finalizer.
Вы можете удалить Finalizer, чтобы разрешить удаление объекта. Это делается через патчинг объекта с помощью
kubectl. Как только Finalizer убран, объект будет удален.По умолчанию, установлена опция
--cascade=true, что позволяет удалить объект и его зависимости. Но можно также использовать опцию --cascade=orphan, чтобы удалить только объект, оставив зависимости.🧩 Знание работы Finalizers и Owner References важно для управления ресурсами Kubernetes. Внимательно исследуйте причины наличия Finalizers перед ручным удалением. Ссылки на владельца помогают удалять связанные ресурсы, но будьте осторожны с финализаторами.
#kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
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
🧵 deployKF supports in-place upgrades and can autonomously roll out config changes
https://www.youtube.com/watch?v=VggtaOgtBJo
Please open Telegram to view this post
VIEW IN TELEGRAM
www.deploykf.org
deployKF - Your Open ML Platform
deployKF builds machine learning platforms on Kubernetes. We combine the best of Kubeflow, Airflow, and MLflow into a complete platform.
❤2👍1🎉1
Согласованность баз данных в контексте доступности и задержек.
🚀 ⏳ Давайте представим, что вы создаете сложную систему, и важно, чтобы все пользователи видели одинаковую информацию. Однако существует постоянный баланс между скоростью обновления данных и уверенностью в том, что они актуальны для всех.
📊 Что такое согласованность? Это просто вопрос о том, насколько точно данные в базе отражают реальное положение дел. Это то, что мы ищем, но за ней стоят некоторые нюансы.
🛠️ Чем выше степень согласованности, тем больше времени требуется для обновления данных. И тем менее надежной становится система, особенно при сбоях. Это приводит нас к теореме PACELC.
🤔 Суть теоремы в том, что в распределенных системах у нас есть компромисс. Когда что-то идет не так, и сеть разделяет систему, мы должны выбирать между доступностью (данные всегда доступны, даже если немного устарели) и согласованностью (данные всегда актуальны, но это занимает больше времени).
👩💻 Так что каждый разработчик должен учитывать этот баланс между скоростью и надежностью при работе с базой данных. Это фундаментальное понимание, которое помогает создавать эффективные и надежные системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Robertovitillo
What every developer should know about database consistency
Imagine assigning some value to a variable, reading it back immediately after, and finding out that somehow the write had no effect at all - madness! This is…
👍3❤2
Кубертатный период
Как задебажить падающий контейнер? $ kubectl debug -it -c debugger --image=busybox \ --copy-to test-pod \ --share-processes \ ${POD_NAME} # All processes are here! $# ps auxf PID USER TIME COMMAND 1 65535 0:00 /pause 7 root …
Таким же способом можно дебажить Pod, если он собран на базе
https://www.honeycomb.io/blog/rescue-struggling-pods-from-scratch
distroless-образе (например, FROM scratch) и в нем нельзя даже запустить shell.https://www.honeycomb.io/blog/rescue-struggling-pods-from-scratch
Honeycomb
Rescue Struggling Pods from Scratch
Apps can be difficult to troubleshoot in Kubernetes. Mike Terhar walks through approaches with OpenTelemetry and Refinery containers.
👍3🤝1
6 Archetypes of Broken Ownership
Если принцип «You build it, you run it!» требует авторитета, знаний и ответственности, что произойдет, если что-то из этого отсутствует?
👑 Отсутствие авторитета:
Если вы не контролируете ситуацию, вы не сможете эффективно нести за нее ответственность. Важен авторитет и возможность влияния.
🤓 Отсутствие знаний:
Для эффективной управленческой деятельности необходимо понимание. Невозможно управлять чем-то, чего вы не понимаете.
📄 Отсутствие опыта:
Опыт приходит с управлением и участием. Когда что-то идет не так, ошибки становятся ценными уроками. Однако без ответственности опыт не может быть полностью использован для оптимизации.
🔦 Понимание, ответственность и опыт — ключи к успешному управлению.
Если принцип «You build it, you run it!» требует авторитета, знаний и ответственности, что произойдет, если что-то из этого отсутствует?
Если вы не контролируете ситуацию, вы не сможете эффективно нести за нее ответственность. Важен авторитет и возможность влияния.
Для эффективной управленческой деятельности необходимо понимание. Невозможно управлять чем-то, чего вы не понимаете.
Опыт приходит с управлением и участием. Когда что-то идет не так, ошибки становятся ценными уроками. Однако без ответственности опыт не может быть полностью использован для оптимизации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🤡1
Горизонтальное автомасштабирование сервисов на основе метрик Message Queue для RabbitMQ
В статье описывается, как использовать KEDA, инструмент автомасштабирования для Kubernetes на основе внешних метрик, например, горизонтальное автомасштабирование Pod'ов на основе метрик очереди сообщений для RabbitMQ.
В статье описывается, как использовать KEDA, инструмент автомасштабирования для Kubernetes на основе внешних метрик, например, горизонтальное автомасштабирование Pod'ов на основе метрик очереди сообщений для RabbitMQ.
👍6❤3
🏗️ Почему пришлось пересматривать структуру данных для лейблов, идентифицирующих временные ряды (time series data).
Эти улучшения делают Prometheus более эффективным и доступным, даже с огромными объемами метрик.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
How Prometheus Halved Its Memory Usage - Bryan Boreham, Grafana Labs
How Prometheus Halved Its Memory Usage - Bryan Boreham, Grafana Labs
Prometheus is the most popular CNCF project for monitoring, but if you have millions of metrics it needs gigabytes of memory.
And, Prometheus runs as a single process: it’s sometimes a…
Prometheus is the most popular CNCF project for monitoring, but if you have millions of metrics it needs gigabytes of memory.
And, Prometheus runs as a single process: it’s sometimes a…
👨💻2❤1👍1
kubectl get -o yaml vs. kubectl describe: 🤖 💬
Чем отличаются команды🧐 Давайте разберемся!
kubectl get -o yaml:
Выводит всю информацию в формате YAML или JSON.
Полезно для машинной обработки данных или в скриптах. Предоставляет полное представление ресурса, а также текущий статус.
kubectl describe:
Выводит краткий обзор в более читаемом формате для человека, включая события ресурса (Events)
Удобно для быстрого понимания состояния ресурса и событий.
Часто я использую yq🤓 📜
Чем отличаются команды
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
🤔3❤2👍2
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.
🧞♂️ Генерация манифестов -- Kyverno может генерировать манифесты ресурсов на основе определенных политик, что весьма удобно для создания стандартных конфигураций и предотвращения человеческих ошибок.
Kyverno — это не просто инструмент для применения политик, но и платформа для управления политиками как часть процесса разработки и эксплуатации приложений в Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - kyverno/kyverno: Cloud Native Policy Management
Cloud Native Policy Management. Contribute to kyverno/kyverno development by creating an account on GitHub.
❤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
Forwarded from Пятничный деплой
https://habr.com/ru/articles/777250/ отличная статья на русском про память в Linux - подойдет для подготовки к собесу и для тех кто давно хотел разобраться
#interview #ram
#interview #ram
Хабр
Память как у пингвина: Работа памяти в Linux
Начнем издалека. В спецификации любого компьютера и в частности сервера непременно числится надпись "N гигабайт оперативной памяти" - именно столько в его распоряжении находится физической памяти....
👍4👨💻3❤2