2015-06-16 4 views
0

У меня вопрос.Как установить максимальное количество контейнеров для контроллера репликации на узел?

Давайте представим ситуацию.

Например: У нас есть три узла внутри кластера. И у нас есть репликация-контроллер, где у нас есть спецификация: replicas: 3

Я бы хотел иметь не более одного элемента на узел. Потому что, если один узел будет иметь больше одного модуля, а узел умирает, я потеряю два или более контейнера.

Как я могу это сделать?

ответ

0

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

Однако, если вы хотите быть на 100% уверенным, что никакие два контейнера не окажутся на одном и том же узле, вы можете установить полеконтейнера. Никакие два контейнера с одинаковыми HostPort не могут работать на одном узле.

Если вы хотите получить еще любитель, вы можете написать свой собственный планировщик плагин :)

В целом, однако, идея Kubernetes в том, что вы не должны думать о своих узлах, за исключением особых обстоятельств ; вы можете доверять системе, чтобы ваши приложения работали.

+0

'> Планировщик Kubernetes уже уделяет приоритетное внимание распределению контейнеров с одного и того же контроллера репликации по вашим узлам. Начиная с фиксации? я построить 0.18.0 и планировщик запустить половину моих стручков на первом узле:/ '> Тем не менее, если вы хотите быть на 100% уверен, что никакие два стручки не будет в конечном итоге на том же node' это не в моем случае , потому что я использую оверлейную сеть (фланель) –

+0

Прошу прощения, распространение распространяется по сервису, а не по контроллеру репликации. Возможно, вы должны попытаться определить службу для своего набора меток перед созданием контроллера репликации? https://github.com/GoogleCloudPlatform/kubernetes/blob/master/plugin/pkg/scheduler/algorithm/priorities/spreading.go#L36 –

Смежные вопросы