Согласно вашему заявлению taint/toleration is used to ensure that a node tainted with a label will only have pods with corresponding toleration to be scheduled on it.
, но не всегда гарантируется, что модуль запланировал только этот узел. Например,
У нас есть 3 узла, синий , зеленый , красный узел. и у нас также есть 3 капсулы B , G , R . Наша цель - разместить модуль B в узле blue , модуль R в узле red , аналогично G pod в узле green . Мы разделяем тот же кластер kubernetes с другими командами, поэтому в кластере есть других модулей , а также других узлов . Мы не хотим, чтобы какие-либо другие модули были размещены на нашем узле. Мы также не хотим, чтобы наши модули были размещены на их узлах.
Если мы применили taint к узлу blue , чтобы на нем можно было запланировать только синий модуль, аналогично примените taint к узлу green , который допускает только зеленый модуль и красный узел допускает красные стручки.
Итак, первый модуль B может быть запланирован на синем модуле, а модуль G - на зеленом модуле. и R pod может оказаться на другом узле.
Если мы хотим решить ту же проблему с привязкой узла. Как мы можем это сделать?
Мы пометили синий узел с синим цветом, красный узел с красным цветом и зеленый узел с зеленым цветом. Затем мы устанавливаем селекторы узлов в модуле так, чтобы модуль B планировался на синем узле, модуль G планировался на зеленом узле и модуль R планировался на красном узле.
Итак, проблема в том, что это не гарантирует, что другие модули не будут размещены на этом узле. так что есть вероятность, что другие модули могут оказаться на узле blue , green или red .
С комбинацией портит / допуск и сходство узлов мы можем полностью выделить узлы для заданных c pod.