Pull to refresh
5
Дергач Юрий@ydergach

IT engineer

2
Subscribers
Send message

Предлагаю блокировать за оскорбления в комментариях. Это не украшает Вас и нивелирует все предыдущие заслуги перед сообществом. Тем не менее, если есть вопросы по существу, готов ответить.

Привет!

Мы отказались от стандартного autoscaler k8s из-за его нестабильной работы. Рассматриваем интеграцию с victoriametrics через KEDA, но пока это только мысли...

  1. Чтобы снизить нагрузку на CoreDNS k8s, мы используем NodeLocal DNS. Этот компонент развернут на каждой ноде, и все PODы обращаются к нему. Если ответа или кэша нет, запрос перенаправляется к CoreDNS. Проблем с kube api не возникало, всё решалось настройкой вычислительных ресурсов.

  2. При использовании Spring Cloud Kubernetes и включенной discovery через API запросы к DNS не кэшируются (нулевой ttl). Теоретически, кэширование может осуществляться самим Java-приложением, но это требует специфичных настроек. В случае смерти PODa приложение ничего не знает об этом, вся информация поступает из kube api, который управляет выводом из балансировки «мертвых» реплик приложения, что-то типа GLB, но только на уровне PODов. Что касается умной балансировки, как я и писал в статье, нужно использовать специфичные компоненты, типа Spring Cloud LoadBalancer.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Системный администратор, DevOps-инженер
Linux
Kubernetes
CI/CD
Redis
Git
Docker
Apache Kafka
Java Spring Framework
Высоконагруженные системы
Elasticsearch