Как Replicaset включает в себя модули с конкретными ярлыками - PullRequest
0 голосов
/ 04 марта 2019

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

(я знаю, что модули не должны создаваться отдельно, но предполагается, что они создаются с развертываниями или репликациями ... но все же, как развертывания / репликации включают в себя модули, чьи метки совпадают вопределение, если они уже там по какой-то причине)

НО, как это работает за кулисами?Как replicaset знает, что pod должен быть включен, поскольку он имеет такую ​​же метку?Допустим, у меня уже есть модуль с этими метками. Как только что созданный набор реплик узнает, что модуль должен быть включен, если в нем содержится меньше, чем нужно количество модулей?

Получает ли эта информация из etcd?Или стручки выставляют ярлыки как-нибудь?Как эта штука действительно работает за кулисами?

1 Ответ

0 голосов
/ 05 марта 2019

Как указано в документации Kubernetes относительно ReplicaSet .

ReplicaSet определяется с полями, включая селектор, который указывает, как идентифицировать блоки, которые он может приобрести, числореплики, указывающие, сколько модулей должно поддерживаться, и шаблон модуля, указывающий данные новых модулей, которые он должен создать для соответствия критерию числа реплик.Затем ReplicaSet выполняет свое предназначение, создавая и удаляя блоки по мере необходимости для достижения желаемого числа.Когда ReplicaSet требуется для создания новых модулей, он использует свой шаблон модуля.

Рекомендуется использовать Deployments вместо ReplicaSets.

Deployment - это объект, который может владеть ReplicaSets и обновлять их и их модули через декларативные, обновляемые обновления на стороне сервера.Хотя ReplicaSets можно использовать независимо, сегодня они в основном используются Deployments в качестве механизма для организации создания, удаления и обновления Pod.Когда вы используете Deployments, вам не нужно беспокоиться об управлении созданными ими ReplicaSets.Развертывания владеют и управляют своими ReplicaSets.Поэтому рекомендуется использовать Deployments, когда вы хотите ReplicaSets.

Как вы уже упоминали, если у вас есть Pod с меткой, совпадающей с меткой ReplicaSet, ReplicaSet получит контроль надпорт назначенияЕсли вы развернете ReplicaSet с 3 репликами, а Pod были развернуты до этого, тогда RS будет порождать только 2 Pods с соответствующей меткой.Это объясняется подробностями и примерами приобретений без шаблона Pod .

Что касается того, как это работает за кулисами, вы можете взглянуть на слайды № 47-56 из KubernetesАрхитектура - за черным ящиком - часть 1

...