ZVLB. Tech
183 subscribers
11 photos
2 files
100 links
Kubernetes изнутри и эксплуатация под нагрузкой.
Новости, разборы и находки из практики больших кластеров. Без воды и пересказа доков.

Сайт: zvlb.github.io
Download Telegram
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
🥱2❤1👍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

#Kubernetes #cni

https://linkmeup.ru/podcasts/2343/
❤2
Короче нихуя-нихуя, а тут вдруг и статья о том, как писать 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
Я честно пытался использовать telegra.ph для статеек, которые сюда собирался выплевывать, но это анрил.

Это бархло тупит слишком жестко(

Буду дальше пользоваться своим сайтиком)
❤1
Вчера ребята из Yandex выложили в Open Source свой инструмент для централизованной профилировки CPU на Linux-машинах — Perforator.

По сути, они реализовали обработку снимков состояния потоков на стороне userspace, а не kernelspace (спасибо eBPF),
плюс добавили инфраструктуру, позволяющую собирать снимки с множества серверов и сохранять их в ClickHouse и S3.

Честно говоря, держать эту систему в проде на постоянной основе (то есть, когда Perforator Agents постоянно снимают потоки, анализируют их и отправляют куда-то) — довольно спорное решение. (Хотя, по словам инфраструктурщиков Яндекса, они именно так и сделали.)

А вот иметь возможность быстро снимать дампы и отправлять их в единую точку для удобного анализа — звучит неплохо.

#Linux #Dubug #prof
❤2🔥2
Как работает Garbage Collector в Kubernetes? Чем он занимается? Какие механизмы лежат в его основе? Как его можно ускорить?
В новой статье я ответил на все эти вопросы, рассмотрел нюансы работы GC и дал практические рекомендации.

Читать вот тут: 🔗 zvlb.github.io/blog/kubernetes-garbage-collector

#Kubernetes #golang #garbage_collector #zvlb_article
❤2👍1🤔1
Grafana в рамках своей GrafanaCON проводит прекрасное мероприятие - Golden Grot Awards

Golden Grot Awards - это конкурс среди пользовательских DashBoard'ов. И он прекрасен тем, что можно оценить как и кто использует Grafana в различных целях (не только IT)

Например в 2024 году победили dashboard'ы для контроля качества стальных сплавов и аналитика состояния погоды/трафика/рассписания поездов и т.д. для быстрого анализа как лучше добираться на работу.

Ну и на фоне всего этого решил выложить свой Dashboard по Kubernetes, который состряпал где-то год назад и неимоверно ему рад - вот он)

#Grafana #Kubernetes
🔥2❤1