ZVLB. Tech
192 subscribers
11 photos
2 files
96 links
Что-то там про IT
Download Telegram
Если кому интересно, примерно полгода назад Grafana обновила функционал работы с Alert'aми. https://grafana.com/docs/grafana/latest/alerting/unified-alerting/difference-old-new/

Пока это все такой же неудобный инструмент.
Основная "проблема" - Графана, в отличии от того же AlertManager'а не вешает на события label'ы из запроса на событие. И нельзя по этим лейблам сделать Сортировку или более широкое уведомление.

Например мы можем сделать запрос, чтобы ловить, когда у какого-то деплоймента в кластере поды в "плохом" статусе, но в самом уведомлении мы не увидем у какого именно деплоймента проблема. Просто увидем, что есть проблема. Где-то там. С чем-то там)

#Grafana #Alert
1
Kube No Trouble - легкая приблуда, которая проверяет есть ли в вашем кластере Kubernetes устаревшие API Version's.

Можно использовать перед обновление кластера, чтобы не напороться на "неподдерживаемые" API Version's

#Kubernetes

https://github.com/doitintl/kube-no-trouble
1👍1
- args:
- -c
- sleep 360000000
command:
- /bin/sh


Именно это надо настроить в pod.spec, чтобы запустить его со sleep'ом!

#Kubernetes
🥱21👍1
Небольшой отчет про параметр automountServiceAccountToken, который блокирует прокидывание SA token/cert внутрь пода.

Так же пару слов про то как работает projected serviceAccountToken.

#Kubernetes #Security

https://quark-governor-8bd.notion.site/Projection-SA-511575275ea94f4580bf4352e2b24192
1
Меня апрувнули на Habr'e, по этому статьи теперь будут там)

Пару слов о причинах, почему нас не устроили решения по настройке логирвоания в Kubernetes и почему мы пришли к тому, что нам необходимо писать свой оператор.

#Kubernetes #Logging

https://habr.com/ru/post/698526/
1🔥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/
1
Интересный и подробный RoadMap на тему погружения в практики DevOps инженеров

#DevOps

https://roadmap.sh/devops
1
Немного информации на тему, почему kubectl get all не показывает ВСЕ ресурсы и что нужно сделать, чтобы увидеть ВСЕ ресурсы.

#Kubernetes

https://zvlb.github.io/blog/get-all-in-kubernetes/
1
Начиная с релиза 1.26 Kubernetes’а в stable перешла новая фича - контроль HugePages. В данной статье мы рассмотрим что это такое, зачем оно нужно и как с этим работать.

#Kubernetes

https://zvlb.github.io/blog/huge-pages-in-kubernetes/
1
Короче нихуя-нихуя, а тут вдруг и статья о том, как писать Kubernetes Operator'ы с Admission Webhook'ами и не сойти с ума)

#Kubernetes

https://zvlb.github.io/blog/kubernetes-admission-webhook/
2
В рамках подготовки к срачу с DevOps’ами накидал статью об организации работы в Git'е и релизной модели DevOps Branching Strategy (Feature branching)

https://zvlb.github.io/blog/CD-practices/
1
С выходом версии 7, Kubernetes Dashboard сильно изменился. Раньше это было простое решение в одном контейнере. Теперь это три контейнера: web, api, auth. Но самое интересное — у такого простого приложения появилась жесткая зависимость от внешнего решения — Kong.

Почему это вызывает проблемы?

• Усложнение инфраструктуры: теперь нужно больше контейнеров и ресурсов.
• Зависимость от внешних решений: добавляет сложности в настройке и поддержке.

Kubernetes Dashboard был хорош именно своей простотой, и это изменение ставит под вопрос его удобство.

Ну и самое сладкое. Новая версия Dashboard'a реально медленно работает.

P.S. 6 секунд на картинке - это загрузка информации о deployment'ах, после которого (ПОСЛЕДОВАТЕЛЬНО) выполнится такой же запрос о Pod'ах, а потом обо всем остальном, связанным с выбранным namespace. Красота

#Kubernetes #Dashboard
1👍1💩1
Одно из важных изменений второй версии cgroup - это переработка memory-контроллера (добавили политики 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
1