Интересное в IT
166 subscribers
47 photos
1 video
1 file
1.2K links
Разные интересные и полезные ссылки из IT сферы для неспешного чтения.

Обратная связь - https://t.me/illusive_echo
Download Telegram
Ну и еще один нюанс о CronJob и HPA в #k8s :

Ошибка HPA в k8s

https://lyalyuev.info/2022/02/16/k8s-hpa-cronjob/
Блоксхема по выявлению проблем в #k8s
Понедельник... Самое время начать неделю информации о Kubernetes #k8s

Если вы руками выкатываете ваши приложения, то явно что-то идет не так. 🙂 Посмотрите в сторону Argo CD

https://argo-cd.readthedocs.io/

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.

#tools #gitops #argocd
Что ж... Раз уж начали про GitOps, то и продолжим в том же духе...

Keel - похожая утилита в виде оператора для обновления ДемонСетов, Деплойментов и т.п.

https://keel.sh

#k8s #gitops #tools #keel
Flux - еще один CD для Кубера. Этот проект живет под крылом CNCF (Clud Native Computing Foundation). Если вам не зашли предыдущие два проекта, то стоит посмотреть на этот.

https://fluxcd.io

#k8s #tools #gitops #flux
Продолжаем неделю #k8s.

Интересный вариант для тестового развертывания приложений прямо в процессе разработки.

Gitkube is a tool for building and deploying Docker images on Kubernetes using git push.

https://github.com/hasura/gitkube

#tools #gitkube
Все админы делятся на три группы:

1. Кто не делает бэкапы.
2. Кто делает бэкапы.
3. Кто проверяет целостность бэкапов.

Вы к какой групе относитесь?

Если у вас есть кластер #k8s, то не делать бэкап его состояния грешно. Возьмите на вооружение https://velero.io/

Годный сервис, который сделает все, вплоть до бэкапа постоянного хранилища. 🙂

#k8s #tools #backup #valero
Если вы пишете код и разворачиваете ваши приложения в #k8s, то иногда может понадобиться отдебажить что-то прямо в контейнере. Поскольку это весьма не долгоживущая сущность, то дебаг там весьма затруднителен. Посмотрите на вот этот чудесный инструмент. Может быть полезен: https://github.com/solo-io/squash

#k8s #tools #debug #squash
В #k8s планировщик работает весьма и весьма не плохо. Но иногда случается, что кластер разбалансируется (к примеру поды приложения А оказываются на одной ноде, а поды приложения Б на другой), и это уже нифига не смешно, т.к. о высокой доступности речи уже не идет. Перебалансировать кластер поможет Descheduler: https://github.com/kubernetes-sigs/descheduler

#k8s #tools #ha #descheduler
Иногда надо получать логи со всех подов в #k8s и когда приложение передеплоивается, то kubectl отваливается и приходится указывать все поды по новой. Жутко бесит? Мне это тоже знакомо.

Stern - утилита, которая выводит логи в вашу консоль отфильтровывая поды по указанному шаблону (например `web-\w`). Если под отвалился - она его выкидывает, если под добавился - подключается к его логам.

https://github.com/wercker/stern

#k8s #tools #logs #stern
Для тех кто уже умеет в Docker Compose, но еще не научился писать манифесты для #k8s вполне для начала подойдет Kompose (Kubernetes + Compose).

Утилита конвертит docker-compose.yaml в манифесты.

https://github.com/kubernetes/kompose

#k8s #tools #kompose
Небольшая заметка о том, почему иногда удаление неймспейса зависает в стадии Terminating и что делать в этом случае

https://lyalyuev.info/2022/09/19/k8s-ns-terminating/

#k8s
"#k8s - передовая технология", - говорили они. "Он сам умеет скейлить поды туда-сюда от нагрузки", - говорили они.

https://github.com/kubernetes/kubernetes/issues/78761

Баг не решен с 2019 года. И вот у меня он проявился во всей красе! Продовое приложение всегда скушает столько реплик, сколько у казано в максимальном количестве. Рядом живут приложения и скейлятся как надо. Без проблем.

#k8s #bugs
Инструкция по дебагу #k8s.
Сделал перевод одной интересной и очень холливарной статейки по поводу CPU Limits в #k8s. Мне чет кажется, что автор прав таки. А вы что думаете?

Let's fight begin :)))
Все пользуются HPA в кластере #k8s, но не все в курсе, что там есть баг, при котором эта зараза не скейлится назад ни при каких условиях, когда большое количество реплик уже не надо.

Есть куча issue на гитхабе, но проблема не решена уже несколько лет.

Если вы так же мучаетесь, как и я, то вот вам решение - https://keda.sh

Эта штука умеет настраивать HPA так, чтоб он забирал метрики из Prometheus, RabbitMQ и кучи еще всяких мест и на их основании принимал решения о скейлинге реплик. Плюс к этому, решение может приниматься на основании нескольких метрик. Например по количеству HTTP запросов и нагрузке на ЦПУ.

Настраивается за 3 минуты, работает замечательно. Мы с 30+ реплик, которые давал нам HPA (нагрузка на проц была около 15-20%, но он не скейлился ниже), ушли до 10, как и должно было быть.

Люто рекомендую к применению.