Перейти к содержимому

Taints и Tolerations в Kubernetes: объяснение NoSchedule, NoExecute и nodeSelector (практика)

Shubham gour

0:00 / 0:00

Taints и Tolerations в Kubernetes: объяснение NoSchedule, NoExecute и nodeSelector (практика)

648 просмотров · 9 дн. назад
Shubham gour
5,49 тыс. подписчиков
648 просмотров · 9 дн. назад
Хотите зарезервировать узел Kubernetes для одного конкретного приложения и не допускать на него другие Pod-ы? Именно для этого и существуют метки и допуски Kubernetes. В этом практическом руководстве по меткам и допускам Kubernetes вы узнаете, как метка на узле отпугивает Pod-ы, как соответствующий допуск на Pod-е позволяет ему попасть на него, и почему вам все еще нужен nodeSelector, если Pod-узел должен попасть именно на этот узел. Мы создадим кластер Minikube из 3 узлов, пометим третий узел меткой dedicated=demo:NoSchedule, развернем Deployment nginx без допусков, чтобы наблюдать, как планировщик избегает помеченного узла, а затем создадим Pod-узел с соответствующим допуском и nodeSelector и проверим, работает ли он на помеченном узле. Что вы узнаете: • Проблема: резервирование узла (например, дорогостоящего оборудования) для выделенного приложения • Как работают метки и допуски — метка = ограничение на узле, допуск = ключ в Pod • Почему допуск не принимает решение о планировании — это делает планировщик • Синтаксис метки: kubectl taint nodes NODE_NAME key=value:effect • Три эффекта метки: NoSchedule, PreferNoSchedule и NoExecute • Написание допусков: ключ, оператор: Equal, значение и эффект • Создание кластера Minikube из 3 узлов с профилем (minikube start --nodes 3 -p taint-demo) и переключением контекста • Метка узла и подтверждение того, что Pod-ы развертывания избегают его (kubectl get pods -o wide) • Привязка Pod-допускателя к узлу с меткой с помощью nodeSelector (kubernetes.io/hostname) • Проверка меток узла с помощью команды kubectl describe node ⏱️ Разделы 0:00 Введение: резервирование узла для выделенного приложения 0:34 Как работают метки и допуски 2:15 Синтаксис меток 4:08 Три эффекта меток 6:15 Что такое допуск? 8:52 Кластер Minikube из 3 узлов 12:35 Загрязнение третьего узла 13:43 Развертывание без допусков 19:25 Под с допуском (+ nodeSelector) 23:38 Проверка планирования 25:49 Итоги 📚 Ресурсы • Документация Kubernetes – Загрязнения и допуски: https://kubernetes.io/docs/concepts/s... • Документация Kubernetes – Назначение подов узлам (nodeSelector): https://kubernetes.io/docs/concepts/s... • Документация Minikube – Использование многоузловых кластеров: https://minikube.sigs.k8s.io/docs/tut... ▶️ Полный плейлист по Kubernetes:    • Kubernetes Tutorial for Beginners | Comple...   Если это прояснило для вас понятия «тейнты» и «толерантности», подпишитесь на канал Shubham Gour Tech, чтобы получать больше практических уроков по Kubernetes и DevOps. Какой эффект тейнта вы бы использовали в своем кластере — NoSchedule, PreferNoSchedule или NoExecute? Напишите в комментариях. #Kubernetes #TaintsAndTolerations #KubernetesScheduling #DevOps #KubernetesTutorial