TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2658 1.16K
❕ Управляемые Job внешними контроллерами в Kubernetes

В версии Kubernetes 1.35 стала стабильной (GA) долгожданная функция — поле .spec.managedBy для ресурсов Job.

Теперь можно явно указать, какой контроллер отвечает за управление задачей, открывая новые возможности для интеграции с внешними системами.

➡️ Зачем делегировать управление Job?

— Сложная логика выполнения
Внешние контроллеры могут реализовывать продвинутые сценарии.

— Интеграция с экосистемой
Системы оркестрации рабочих процессов получают нативный способ управления созданными через них заданиями.

— Чёткое разделение ответственности
Исключаются конфликты между встроенным контроллером Kubernetes и внешними системами.

— Упрощение отладки
По значению поля managedBy сразу понятно, какая система управляет задачей.

➡️ Как работает .spec.managedBy?

🟡 Обычная Job (управляется встроенным контроллером)


apiVersion: batch/v1
kind: Job
metadata:
name: classic-job
spec:
# Поле managedBy отсутствует - управляет kube-controller-manager
template:
spec:
containers:
- name: calculator
image: alpine:latest
command: ["sh", "-c", "echo 'Result: $(expr 10 \* 10)'"]
restartPolicy: Never


🟡 Job с делегированным управлением


apiVersion: batch/v1
kind: Job
metadata:
name: managed-externally
spec:
managedBy: argo-workflows-controller # Указываем внешний контроллер
template:
spec:
containers:
- name: data-processor
image: data-processor:latest
command: ["process", "--dataset", "daily"]
restartPolicy: OnFailure


➡️ Что происходит:

— Встроенный контроллер Kubernetes видит поле managedBy и не вмешивается в управление Job
— Внешний контроллер (например, Argo Workflows) отслеживает Job с такой меткой
— Весь жизненный цикл (перезапуски, обработка завершения) ложится на внешний контроллер

Поле .spec.managedBy — это элегантный механизм интеграции, который превращает нативные Kubernetes Job в строительные блоки для сложных систем оркестрации. Он позволяет реализовывать продвинутые сценарии выполнения задач, сохраняя преимущества Kubernetes API и избегая войны контроллеров.

➡️ Подробнее в официальной анонсе в блоге Kubernetes

#заметкиИнженера
  • ❤ 5
  • 👍 2
  • 🔥 2
More from @cortel_cloud
  1. Oct 1, 2026🖥 sed — потоковый редактор текста в Linux 🤓 Появился в Bell Labs в 1970-х и до сих пор и…
  2. Sep 29, 2026🖥 РАЗНИЦА Block, File и Object Storage 🧑‍🎓Повторение — мать учения. Для разных задач по…
  3. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  4. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  5. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  6. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →