TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2728 961
💠 Taints и Tolerations в Kubernetes: отсекаем лишних, пропускаем своих

🟣Taint — это метка на ноде, которая сразу отсекает неподходящие поды при планировании.

Формат taint: key=value:effect

Навесить taint на ноду


kubectl taint nodes node1 gpu=true:NoSchedule


Снять taint (добавить - в конец):


kubectl taint nodes node1 gpu=true:NoSchedule-


Три эффекта (effect)

— NoSchedule — планировщик не будет размещать новые поды без нужного toleration. Уже запущенные поды остаются.

— PreferNoSchedule — мягкий запрет: планировщик постарается избежать этой ноды, но если других вариантов нет — разместит.

— NoExecute — самый жёсткий: новые поды не планируются, а уже запущенные без toleration вытесняются с ноды.

🟣 Toleration — это правило в манифесте пода, которое разрешает ему размещаться на нодах с определённым taint.

Важно понимать: toleration не гарантирует, что под попадёт именно на эту ноду — он лишь снимает запрет.

Чтобы направить под на конкретную ноду, нужен nodeSelector или nodeAffinity.


apiVersion: v1
kind: Pod
metadata:
name: gpu-app
spec:
tolerations:
- key: "gpu"
operator: "Equal"
value: "true"
effect: "NoSchedule"
containers:
- name: app
image: nvidia/cuda:12.0-base


Equal — ключ и значение должны совпасть.
Exists — достаточно наличия ключа, значение не проверяется. Удобно, когда нужно допустить под на ноды с любым значением ключа:


tolerations:
- key: "gpu"
operator: "Exists"
effect: "NoSchedule"

Если не указать key совсем — toleration сработает для любого taint на ноде.

Проверить taints на ноде

kubectl describe node node1 | grep Taints


Taints и Tolerations — это способ жёстко сегментировать кластер: выделить ноды под GPU, CI-воркеры, stateful-нагрузки или вообще зарезервировать их для конкретной команды. В паре с nodeAffinity получаем полный контроль над тем, где именно запускаются поды.

#заметкиИнженера
  • 👍 7
  • 🔥 3
  • ❤ 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 →