Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 260новых вакансий за сутки·70 005вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании6 270
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 400 кандидатов открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python14 550
  • Облачные технологии10 965
  • QA вакансии3 255
  • Android1 702
  • Инженер данных1 270
  • Продакт-менеджер586

Разработка

  • Backend вакансии1 657
  • iOS1 575
  • AI вакансии798
  • Fullstack вакансии672
  • Frontend вакансии578
  • Mobile вакансии30

По стеку

  • Go7 978
  • Java5 162
  • Node.js1 622
  • Kotlin1 384
  • Rust1 326
  • .NET1 258
  • PHP538
  • C++386
  • C#356

DevOps и инфраструктура

  • Kubernetes6 272
  • Linux-инфраструктура4 763
  • DevOps вакансии4 488
  • Terraform / IaC3 459
  • Мониторинг и Observability1 587
  • CI/CD1 482
  • SRE458
  • Кибербезопасность127

Аналитика и данные

  • Аналитик данных683
  • Бизнес-аналитик638
  • Data Scientist622
  • Системный аналитик92

Другие направления

  • Проджект-менеджер202
  • UI/UX дизайн93
  • Ручное тестирование14

По регионам

  • Вакансии в США34 823
  • Вакансии в Европе15 244
  • Работа в России3 882
  • Вакансии в Канаде3 408

По формату

  • Удалённые вакансии54 624
  • Релокация в США34 823
  • Гибридная работа9 269
  • Офисная работа6 546

По уровню

  • Senior вакансии31 197
  • Middle вакансии14 037
  • Junior вакансии5 059

Сейчас нанимают

Все компании
  • Wise194 вакансии
  • Rakuten189 вакансий
  • ASML164 вакансии
  • Grab134 вакансии
  • Celonis45 вакансий
  • Spotify37 вакансий
  • Infobip28 вакансий
  • Adyen27 вакансий
  • Monzo19 вакансий
  • Darktrace17 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К подготовке по вакансии←К теме KubernetesВсе вопросы
KubernetesMiddleПроектирование систем

Что такое KEDA и зачем он нужен, если есть HPA?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

KEDA добавляет event-driven autoscaling поверх HPA: масштабирует workload по очередям (Redis, Kafka, SQS), Prometheus-метрикам и cron-расписанию, умеет опускать replicas до нуля, чего стандартный HPA не поддерживает.

Пример ScaledObject для Redis-очереди

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: worker
  namespace: production
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: worker
  pollingInterval: 15        # опрос каждые 15 секунд
  cooldownPeriod: 60         # ждать 60 секунд перед scale-to-zero
  minReplicaCount: 0
  maxReplicaCount: 30
  triggers:
    - type: redis
      metadata:
        address: redis-master.default.svc:6379
        listName: job_queue
        listLength: "5"      # 1 реплика на каждые 5 сообщений
      authenticationRef:
        name: redis-secret

Что такое KEDA и чем отличается от HPA

HPA (Horizontal Pod Autoscaler) умеет масштабировать по CPU, памяти и custom metrics через Metrics API. Но он не знает о длине очереди RabbitMQ, Kafka consumer lag, числе сообщений в Azure Service Bus или произвольном Prometheus-запросе как единственном источнике истины. KEDA (Kubernetes Event-Driven Autoscaling) закрывает этот пробел: он добавляет ScaledObject / ScaledJob CRD, набор scalers (встроенных интеграций с внешними источниками) и собственный Metrics Server, который публикует значения через External Metrics API. HPA при этом остаётся исполнителем масштабирования — KEDA просто кормит его нужными метриками.

Архитектура

Оператор KEDA состоит из нескольких компонентов:

  • keda-operator — следит за ScaledObject/ScaledJob, управляет HPA-объектами, реализует scale-to-zero.
  • keda-metrics-apiserver — реализует external.metrics.k8s.io и отдаёт значения scalers в HPA.
  • ScaledObject — привязывает Deployment/StatefulSet к одному или нескольким triggers.
  • ScaledJob — вместо масштабирования Deployment создаёт Job-объекты под каждый event (батчевая обработка).

Цикл работы: scaler читает внешний источник каждые pollingInterval секунд → вычисляет метрику → KEDA обновляет HPA targetAverageValue → HPA меняет replicas. Если все scalers возвращают 0 и minReplicaCount: 0, KEDA удаляет HPA и выставляет replicas=0 напрямую, обходя HPA (тот не умеет в ноль).

Пример ScaledObject для Kafka

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: kafka-consumer
spec:
  scaleTargetRef:
    name: kafka-consumer
  minReplicaCount: 1
  maxReplicaCount: 50
  triggers:
    - type: kafka
      metadata:
        bootstrapServers: kafka.default.svc:9092
        consumerGroup: my-group
        topic: events
        lagThreshold: "100"   # 1 реплика на каждые 100 сообщений лага
        offsetResetPolicy: latest

TriggerAuthentication для секретов

apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
  name: redis-secret
spec:
  secretTargetRef:
    - parameter: password
      name: redis-credentials
      key: password

Когда KEDA необходим, а когда достаточно HPA

HPA с custom metrics адаптера достаточно, если метрика уже есть в Prometheus и Prometheus Adapter настроен. KEDA оправдан когда: нужен scale-to-zero, источник — очередь / event bus, не хочется настраивать Prometheus Adapter вручную, или используются cloud-native источники (SQS, Azure Queue, GCP Pub/Sub).

Подводные камни

  • Scale-to-zero требует внешней точки активации; если scaler не видит источник (network issue, wrong credentials), он может ошибочно вернуть 0 и убрать все реплики.
  • pollingInterval не равен latency реакции: при коротком spike в очереди реплики могут не успеть подняться до начала timeout сообщений.
  • Credentials к внешним системам надо хранить в TriggerAuthentication + Secret, а не в metadata в открытом виде — иначе они попадут в etcd незашифрованными.
  • ScaledJob создаёт новый Job на каждый event batch; без TTL-after-finished контроллера завершённые Jobs копятся и засоряют namespace.
  • При наличии нескольких triggers KEDA берёт максимальное значение из всех — агрегация не настраивается. Это может приводить к неожиданно высокому числу реплик.
  • KEDA управляет HPA-объектом; ручные изменения HPA будут перезаписаны оператором на следующем reconcile-цикле.
  • minReplicaCount: 0 вместе с длинным cooldownPeriod может привести к тому, что реплики уйдут в ноль во время ночного затишья, а утренний burst встретит cold-start задержку контейнеров.
  • После обновления KEDA CRD (upgrade оператора) существующие ScaledObject могут требовать миграции схемы — проверяйте CHANGELOG перед обновлением.

Типичные ошибки

  • Говорить, что KEDA только для Kafka
  • Не знать ScaledObject
  • Игнорировать auth к scaler

Что проверяет интервьюер

  • Объясняет event-driven scaling
  • Понимает связь с HPA
  • Приводит внешний metric use case

Как вы знаете этот вопрос?

Проверить себя по теме Kubernetes →

Источники

  • https://keda.sh/docs/2.19/concepts/
  • https://keda.sh/docs/2.19/scalers/
  • https://kubernetes.io/docs/concepts/workloads/autoscaling/horizontal-pod-autoscale/

Связанные темы

KubernetesHPAPrometheusQueuesworkers

Частые вопросы на собеседовании

  • Зачем нужны requests и limits для CPU и памяти? Что будет, если их не задать или задать только limits?
  • Что такое ServiceAccount, Role, ClusterRole, RoleBinding и ClusterRoleBinding? Как они связаны?
  • Сервис не доступен, хотя поды Running и Ready. Как найдёшь, где разрыв?
  • Что такое securityContext? Зачем нужны runAsNonRoot, readOnlyRootFilesystem и drop capabilities?