Автоскеллер подов, альтернатива Keda, но можно описывать логику скейлинга с помощью кода
#kubernetes #autoscaller
https://habr.com/ru/company/mygames/blog/659705/
#kubernetes #autoscaller
https://habr.com/ru/company/mygames/blog/659705/
Хабр
Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes
Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes. ...
❤1
Хороший и структурированный курс на тему Kubernetes-the-hard-way.
#Kubernetes
https://www.youtube.com/watch?v=uUupRagM7m0&list=PL2We04F3Y_41jYdadX55fdJplDvgNGENo
#Kubernetes
https://www.youtube.com/watch?v=uUupRagM7m0&list=PL2We04F3Y_41jYdadX55fdJplDvgNGENo
YouTube
Install Kubernetes from Scratch [1] - Pre-requisites to deploy a Kubernetes cluster
💻GitHub repository link: https://github.com/mmumshad/kubernetes-the-hard-way
Credits: https://github.com/kelseyhightower/kubernetes-the-hard-way
Check out the link to this repository in the resources section. This is a fork of the original one developed…
Credits: https://github.com/kelseyhightower/kubernetes-the-hard-way
Check out the link to this repository in the resources section. This is a fork of the original one developed…
❤1
И еще один неплохой курс, но более живой на эту же тему (Kubernetes-the-hard-way)
#Kubernetes
https://www.youtube.com/watch?v=NvQY5tuxALY&list=PL34sAs7_26wN9DNC4fTLnJv_GQJ4sWP_z
#Kubernetes
https://www.youtube.com/watch?v=NvQY5tuxALY&list=PL34sAs7_26wN9DNC4fTLnJv_GQJ4sWP_z
YouTube
[ Kube 38 ] Kubernetes The Hard Way - Part 1
Kubernetes The Hard Way
This is a two part video where I explore and explain Kubernetes the hard way. It will be very useful to understand how Kubernetes operate at a deeper level. How individual components of the cluster interact with each other.
First…
This is a two part video where I explore and explain Kubernetes the hard way. It will be very useful to understand how Kubernetes operate at a deeper level. How individual components of the cluster interact with each other.
First…
❤1
Если кому интересно, примерно полгода назад Grafana обновила функционал работы с Alert'aми. https://grafana.com/docs/grafana/latest/alerting/unified-alerting/difference-old-new/
Пока это все такой же неудобный инструмент.
Основная "проблема" - Графана, в отличии от того же AlertManager'а не вешает на события label'ы из запроса на событие. И нельзя по этим лейблам сделать Сортировку или более широкое уведомление.
Например мы можем сделать запрос, чтобы ловить, когда у какого-то деплоймента в кластере поды в "плохом" статусе, но в самом уведомлении мы не увидем у какого именно деплоймента проблема. Просто увидем, что есть проблема. Где-то там. С чем-то там)
#Grafana #Alert
Пока это все такой же неудобный инструмент.
Основная "проблема" - Графана, в отличии от того же AlertManager'а не вешает на события label'ы из запроса на событие. И нельзя по этим лейблам сделать Сортировку или более широкое уведомление.
Например мы можем сделать запрос, чтобы ловить, когда у какого-то деплоймента в кластере поды в "плохом" статусе, но в самом уведомлении мы не увидем у какого именно деплоймента проблема. Просто увидем, что есть проблема. Где-то там. С чем-то там)
#Grafana #Alert
❤1
Kube No Trouble - легкая приблуда, которая проверяет есть ли в вашем кластере Kubernetes устаревшие API Version's.
Можно использовать перед обновление кластера, чтобы не напороться на "неподдерживаемые" API Version's
#Kubernetes
https://github.com/doitintl/kube-no-trouble
Можно использовать перед обновление кластера, чтобы не напороться на "неподдерживаемые" API Version's
#Kubernetes
https://github.com/doitintl/kube-no-trouble
GitHub
GitHub - doitintl/kube-no-trouble: Easily check your clusters for use of deprecated APIs
Easily check your clusters for use of deprecated APIs - doitintl/kube-no-trouble
❤1👍1
- args:
- -c
- sleep 360000000
command:
- /bin/shИменно это надо настроить в pod.spec, чтобы запустить его со sleep'ом!
#Kubernetes
🥱2❤1👍1
Небольшой отчет про параметр automountServiceAccountToken, который блокирует прокидывание SA token/cert внутрь пода.
Так же пару слов про то как работает projected serviceAccountToken.
#Kubernetes #Security
https://quark-governor-8bd.notion.site/Projection-SA-511575275ea94f4580bf4352e2b24192
Так же пару слов про то как работает projected serviceAccountToken.
#Kubernetes #Security
https://quark-governor-8bd.notion.site/Projection-SA-511575275ea94f4580bf4352e2b24192
Владимир's Notion on Notion
Projection SA
В общем, если вдруг на кластер\namespace’s прилетела политика
❤1
ZVLB. Tech
Если кому интересно, примерно полгода назад Grafana обновила функционал работы с Alert'aми. https://grafana.com/docs/grafana/latest/alerting/unified-alerting/difference-old-new/ Пока это все такой же неудобный инструмент. Основная "проблема" - Графана, в…
Пофиксили то, о чем я писал.
Вот тут есть подробности и описание плюшек - https://habr.com/ru/post/688794/
Но пока все равно не вижу сильных плюсов по сравнению с AlertManager. Может только если удобный UI, но в AlertManager эта проблема решается той же Karma'ой. (Хоть и она не идеальна)
#Grafana #Alert
Вот тут есть подробности и описание плюшек - https://habr.com/ru/post/688794/
Но пока все равно не вижу сильных плюсов по сравнению с AlertManager. Может только если удобный UI, но в AlertManager эта проблема решается той же Karma'ой. (Хоть и она не идеальна)
#Grafana #Alert
Хабр
Grafana OnCall — Open Source хаб для алертов и инцидентов
Привет, хабр! С удивлением обнаружил, что здесь нет ни одного упоминания Grafana OnCall, Incident Response Tool с открытым исходным кодом от Grafana Labs. И это нужно исправлять, ведь мы бурно растем...
❤1👍1
Меня апрувнули на Habr'e, по этому статьи теперь будут там)
Пару слов о причинах, почему нас не устроили решения по настройке логирвоания в Kubernetes и почему мы пришли к тому, что нам необходимо писать свой оператор.
#Kubernetes #Logging
https://habr.com/ru/post/698526/
Пару слов о причинах, почему нас не устроили решения по настройке логирвоания в Kubernetes и почему мы пришли к тому, что нам необходимо писать свой оператор.
#Kubernetes #Logging
https://habr.com/ru/post/698526/
Хабр
Почему нам пришлось писать собственный оператор для логирования в Kubernetes
В данной статье я расскажу про жизненный цикл одной важной задачи - “Настроить сбор/парсер логов в Kubernetes”. Или “Почему мы решили написать свой оператор для сбора логов в Kubernetes”. Оговорочка...
❤1🔥1
А в этой статье описаны различные интересные задачи и проблемы с которыми столкнулись при разработке оператора Kubernetes.
#Kubernetes #golang
https://habr.com/ru/post/698960/
#Kubernetes #golang
https://habr.com/ru/post/698960/
Хабр
Наступая на грабли. Опыт написания Kubernetes Operator’а
Недавно мной, совместно с @dkhadm , был реализован оператор для Kubernetes’a - Vector Operator . (Вот тут описано как мы пришли к решению, что там нужен свой оператор для Логирования в Kubernetes). В...
❤1
Ухххх. Если вы живете на linux'e (не важно baremetal или виртуализация) и шифруете свои диски (с помощью dm-crypt), то при увеличении нагрузки но ноды (нагрузка = частота поднятия подов), то вы можете столкнуться с тем, что этот шифрователь дисков был изначально написан для HDD дисков, и на SSD он сильно влияет на производительность.
Проблема актуальна для всех ядер, но для ядра 5.9 был выпущен патч (https://www.thomas-krenn.com/en/wiki/Dm-crypt_Performance). Однако по умолчанию этот патч не включен!
#Kubernetes #disk
Вот тут про это подробно написано - https://blog.cloudflare.com/speeding-up-linux-disk-encryption/
Проблема актуальна для всех ядер, но для ядра 5.9 был выпущен патч (https://www.thomas-krenn.com/en/wiki/Dm-crypt_Performance). Однако по умолчанию этот патч не включен!
#Kubernetes #disk
Вот тут про это подробно написано - https://blog.cloudflare.com/speeding-up-linux-disk-encryption/
❤1
Интересный и подробный RoadMap на тему погружения в практики DevOps инженеров
#DevOps
https://roadmap.sh/devops
#DevOps
https://roadmap.sh/devops
roadmap.sh
DevOps Roadmap: Learn to become a DevOps Engineer or SRE
Step by step guide for DevOps, SRE or any other Operations Role in 2025
❤1
Небольшая зарисовка о том, как работают Kubernetes информеры
#Kubernetes #Golang
https://zvlb.github.io/blog/kubernetes-informers/
#Kubernetes #Golang
https://zvlb.github.io/blog/kubernetes-informers/
Блог ДевоПса
Kubernetes informers. Как это работает
В этой статье мы рассмотрим, что такое informer’ы в библиотеке client-go, зачем они нужны, и как они работают.
❤1
Статья о том, как работают Эфимерный контейнеры и как использовать kubectl debug
#Kubernetes
https://zvlb.github.io/blog/ephemeral-containers-kubectl-debug/
#Kubernetes
https://zvlb.github.io/blog/ephemeral-containers-kubectl-debug/
Блог ДевоПса
Эфимерные контейнеры. kubectl debug
В этой статье мы рассмотрим, что такое эфимерные контейнеры. Зачем они нужны и как они работают.
❤1
Немного информации на тему, почему
#Kubernetes
https://zvlb.github.io/blog/get-all-in-kubernetes/
kubectl get all не показывает ВСЕ ресурсы и что нужно сделать, чтобы увидеть ВСЕ ресурсы.#Kubernetes
https://zvlb.github.io/blog/get-all-in-kubernetes/
Блог ДевоПса
Как посмотреть все ресурсы в Kubernetes?
Быстрый ответ №1:
❤1
Начиная с релиза 1.26 Kubernetes’а в stable перешла новая фича - контроль HugePages. В данной статье мы рассмотрим что это такое, зачем оно нужно и как с этим работать.
#Kubernetes
https://zvlb.github.io/blog/huge-pages-in-kubernetes/
#Kubernetes
https://zvlb.github.io/blog/huge-pages-in-kubernetes/
Блог ДевоПса
Huge Pages в Kubernetes
Начиная с релиза 1.26 Kubernetes’а в stable перешла новая фича - контроль HugePages. В данной статье мы рассмотрим что это такое, зачем оно нужно и как с этим работать.
❤1
Короче нихуя-нихуя, а тут вдруг и статья о том, как писать Kubernetes Operator'ы с Admission Webhook'ами и не сойти с ума)
#Kubernetes
https://zvlb.github.io/blog/kubernetes-admission-webhook/
#Kubernetes
https://zvlb.github.io/blog/kubernetes-admission-webhook/
Блог ДевоПса
Kuberentes Admission Webhook’и. Со стороны разработки
Общая информация
❤2
В рамках подготовки к срачу с DevOps’ами накидал статью об организации работы в Git'е и релизной модели DevOps Branching Strategy (Feature branching)
https://zvlb.github.io/blog/CD-practices/
https://zvlb.github.io/blog/CD-practices/
Блог ДевоПса
Continuous Delivery. Схема релизов (Prod/Stage/Test/Dev)
Общая информация
❤1
С выходом версии 7, Kubernetes Dashboard сильно изменился. Раньше это было простое решение в одном контейнере. Теперь это три контейнера: web, api, auth. Но самое интересное — у такого простого приложения появилась жесткая зависимость от внешнего решения — Kong.
❓ Почему это вызывает проблемы?
• Усложнение инфраструктуры: теперь нужно больше контейнеров и ресурсов.
• Зависимость от внешних решений: добавляет сложности в настройке и поддержке.
Kubernetes Dashboard был хорош именно своей простотой, и это изменение ставит под вопрос его удобство.
Ну и самое сладкое. Новая версия Dashboard'a реально медленно работает.
P.S. 6 секунд на картинке - это загрузка информации о deployment'ах, после которого (ПОСЛЕДОВАТЕЛЬНО) выполнится такой же запрос о Pod'ах, а потом обо всем остальном, связанным с выбранным namespace. Красота
#Kubernetes #Dashboard
❓ Почему это вызывает проблемы?
• Усложнение инфраструктуры: теперь нужно больше контейнеров и ресурсов.
• Зависимость от внешних решений: добавляет сложности в настройке и поддержке.
Kubernetes Dashboard был хорош именно своей простотой, и это изменение ставит под вопрос его удобство.
Ну и самое сладкое. Новая версия Dashboard'a реально медленно работает.
P.S. 6 секунд на картинке - это загрузка информации о deployment'ах, после которого (ПОСЛЕДОВАТЕЛЬНО) выполнится такой же запрос о Pod'ах, а потом обо всем остальном, связанным с выбранным namespace. Красота
#Kubernetes #Dashboard
❤1👍1💩1
Одно из важных изменений второй версии cgroup - это переработка memory-контроллера (добавили политики
Разрабы Kubernetes начали внедрять это вот все. Даже бету реализовали, которая включается по
Однако на этапах тестирования отказались от этого функционала, так как тесты показали, что новый функционал контроллера memory работает "нестабильно"
https://github.com/kubernetes/enhancements/tree/a47155b340/keps/sig-node/2570-memory-qos#latest-update-stalled
#Kubernetes #cgroup
memory.min и memory.high. memory.min обеспечивает для процессов в одной cgroup’e всегда будет доступно определенное количество оперативной памяти и никакие другие процессы, не состоящие в cgroup, не смогут ее использовать. А memory.high намного жестче регулирует сколько именно оперативной памяти могут использовать процессы в cgroup’е.Разрабы Kubernetes начали внедрять это вот все. Даже бету реализовали, которая включается по
featureGates.Однако на этапах тестирования отказались от этого функционала, так как тесты показали, что новый функционал контроллера memory работает "нестабильно"
https://github.com/kubernetes/enhancements/tree/a47155b340/keps/sig-node/2570-memory-qos#latest-update-stalled
#Kubernetes #cgroup
Kubernetes
Kubernetes 1.27: Quality-of-Service for Memory Resources (alpha)
Kubernetes v1.27, released in April 2023, introduced changes to Memory QoS (alpha) to improve memory management capabilites in Linux nodes.
Support for Memory QoS was initially added in Kubernetes v1.22, and later some limitations around the formula for calculating…
Support for Memory QoS was initially added in Kubernetes v1.22, and later some limitations around the formula for calculating…
❤1