Ну и еще один нюанс о CronJob и HPA в #k8s :
Ошибка HPA в k8s
https://lyalyuev.info/2022/02/16/k8s-hpa-cronjob/
Ошибка HPA в k8s
https://lyalyuev.info/2022/02/16/k8s-hpa-cronjob/
Понедельник... Самое время начать неделю информации о Kubernetes #k8s
Если вы руками выкатываете ваши приложения, то явно что-то идет не так. 🙂 Посмотрите в сторону Argo CD
https://argo-cd.readthedocs.io/
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
#tools #gitops #argocd
Если вы руками выкатываете ваши приложения, то явно что-то идет не так. 🙂 Посмотрите в сторону 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
Keel - похожая утилита в виде оператора для обновления ДемонСетов, Деплойментов и т.п.
https://keel.sh
#k8s #gitops #tools #keel
Flux - еще один CD для Кубера. Этот проект живет под крылом CNCF (Clud Native Computing Foundation). Если вам не зашли предыдущие два проекта, то стоит посмотреть на этот.
https://fluxcd.io
#k8s #tools #gitops #flux
https://fluxcd.io
#k8s #tools #gitops #flux
fluxcd.io
Flux - the GitOps family of projects
Flux is a set of continuous and progressive delivery solutions for Kubernetes, and they are open and extensible.
The APIs of Flux are stable now.
The APIs of Flux are stable now.
Продолжаем неделю #k8s.
Интересный вариант для тестового развертывания приложений прямо в процессе разработки.
Gitkube is a tool for building and deploying Docker images on Kubernetes using
https://github.com/hasura/gitkube
#tools #gitkube
Интересный вариант для тестового развертывания приложений прямо в процессе разработки.
Gitkube is a tool for building and deploying Docker images on Kubernetes using
git push
.https://github.com/hasura/gitkube
#tools #gitkube
GitHub
GitHub - hasura/gitkube: Build and deploy docker images to Kubernetes using git push
Build and deploy docker images to Kubernetes using git push - hasura/gitkube
Все админы делятся на три группы:
1. Кто не делает бэкапы.
2. Кто делает бэкапы.
3. Кто проверяет целостность бэкапов.
Вы к какой групе относитесь?
Если у вас есть кластер #k8s, то не делать бэкап его состояния грешно. Возьмите на вооружение https://velero.io/
Годный сервис, который сделает все, вплоть до бэкапа постоянного хранилища. 🙂
#k8s #tools #backup #valero
1. Кто не делает бэкапы.
2. Кто делает бэкапы.
3. Кто проверяет целостность бэкапов.
Вы к какой групе относитесь?
Если у вас есть кластер #k8s, то не делать бэкап его состояния грешно. Возьмите на вооружение https://velero.io/
Годный сервис, который сделает все, вплоть до бэкапа постоянного хранилища. 🙂
#k8s #tools #backup #valero
Если вы пишете код и разворачиваете ваши приложения в #k8s, то иногда может понадобиться отдебажить что-то прямо в контейнере. Поскольку это весьма не долгоживущая сущность, то дебаг там весьма затруднителен. Посмотрите на вот этот чудесный инструмент. Может быть полезен: https://github.com/solo-io/squash
#k8s #tools #debug #squash
#k8s #tools #debug #squash
GitHub
GitHub - solo-io/squash: The debugger for microservices
The debugger for microservices. Contribute to solo-io/squash development by creating an account on GitHub.
В #k8s планировщик работает весьма и весьма не плохо. Но иногда случается, что кластер разбалансируется (к примеру поды приложения А оказываются на одной ноде, а поды приложения Б на другой), и это уже нифига не смешно, т.к. о высокой доступности речи уже не идет. Перебалансировать кластер поможет Descheduler: https://github.com/kubernetes-sigs/descheduler
#k8s #tools #ha #descheduler
#k8s #tools #ha #descheduler
GitHub
GitHub - kubernetes-sigs/descheduler: Descheduler for Kubernetes
Descheduler for Kubernetes. Contribute to kubernetes-sigs/descheduler development by creating an account on GitHub.
Иногда надо получать логи со всех подов в #k8s и когда приложение передеплоивается, то kubectl отваливается и приходится указывать все поды по новой. Жутко бесит? Мне это тоже знакомо.
Stern - утилита, которая выводит логи в вашу консоль отфильтровывая поды по указанному шаблону (например `web-\w`). Если под отвалился - она его выкидывает, если под добавился - подключается к его логам.
https://github.com/wercker/stern
#k8s #tools #logs #stern
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
Утилита конвертит docker-compose.yaml в манифесты.
https://github.com/kubernetes/kompose
#k8s #tools #kompose
GitHub
GitHub - kubernetes/kompose: Convert Compose to Kubernetes
Convert Compose to Kubernetes. Contribute to kubernetes/kompose development by creating an account on GitHub.
Небольшая заметка о том, почему иногда удаление неймспейса зависает в стадии
https://lyalyuev.info/2022/09/19/k8s-ns-terminating/
#k8s
Terminating
и что делать в этом случаеhttps://lyalyuev.info/2022/09/19/k8s-ns-terminating/
#k8s
"#k8s - передовая технология", - говорили они. "Он сам умеет скейлить поды туда-сюда от нагрузки", - говорили они.
https://github.com/kubernetes/kubernetes/issues/78761
Баг не решен с 2019 года. И вот у меня он проявился во всей красе! Продовое приложение всегда скушает столько реплик, сколько у казано в максимальном количестве. Рядом живут приложения и скейлятся как надо. Без проблем.
#k8s #bugs
https://github.com/kubernetes/kubernetes/issues/78761
Баг не решен с 2019 года. И вот у меня он проявился во всей красе! Продовое приложение всегда скушает столько реплик, сколько у казано в максимальном количестве. Рядом живут приложения и скейлятся как надо. Без проблем.
#k8s #bugs
GitHub
HPA doesn't scale down to minReplicas even though metric is under target · Issue #78761 · kubernetes/kubernetes
What happened: HPA scales to Spec.MaxReplicas even though metric is always under target. Here's the HPA in YAML: apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: annotations: ...
Если вы фанат cli-утилит и управляете #k8s, то попробуйте KDash. Вам может понравится.
https://github.com/kdash-rs/kdash
Интересное в IT
https://github.com/kdash-rs/kdash
Интересное в IT
GitHub
GitHub - kdash-rs/kdash: A simple and fast dashboard for Kubernetes
A simple and fast dashboard for Kubernetes. Contribute to kdash-rs/kdash development by creating an account on GitHub.
Все пользуются HPA в кластере #k8s, но не все в курсе, что там есть баг, при котором эта зараза не скейлится назад ни при каких условиях, когда большое количество реплик уже не надо.
Есть куча issue на гитхабе, но проблема не решена уже несколько лет.
Если вы так же мучаетесь, как и я, то вот вам решение - https://keda.sh
Эта штука умеет настраивать HPA так, чтоб он забирал метрики из Prometheus, RabbitMQ и кучи еще всяких мест и на их основании принимал решения о скейлинге реплик. Плюс к этому, решение может приниматься на основании нескольких метрик. Например по количеству HTTP запросов и нагрузке на ЦПУ.
Настраивается за 3 минуты, работает замечательно. Мы с 30+ реплик, которые давал нам HPA (нагрузка на проц была около 15-20%, но он не скейлился ниже), ушли до 10, как и должно было быть.
Люто рекомендую к применению.
Есть куча issue на гитхабе, но проблема не решена уже несколько лет.
Если вы так же мучаетесь, как и я, то вот вам решение - https://keda.sh
Эта штука умеет настраивать HPA так, чтоб он забирал метрики из Prometheus, RabbitMQ и кучи еще всяких мест и на их основании принимал решения о скейлинге реплик. Плюс к этому, решение может приниматься на основании нескольких метрик. Например по количеству HTTP запросов и нагрузке на ЦПУ.
Настраивается за 3 минуты, работает замечательно. Мы с 30+ реплик, которые давал нам HPA (нагрузка на проц была около 15-20%, но он не скейлился ниже), ушли до 10, как и должно было быть.
Люто рекомендую к применению.
KEDA
Application autoscaling made simple