StatefulSet, ReplicaSet или DaemonSet. Что лучше для одного стручка? - PullRequest
0 голосов
/ 18 января 2019

Я хочу развернуть один Pod на узле для размещения моего сервиса (например, GitLab). Проблема в том, что Pod не будет воссоздан после сбоя узла (например, перезагрузка). Решение (ы): Используйте StatefulSet, ReplicaSet или DaemonSet, чтобы обеспечить создание Pod после сбоя узла. Но что лучше для этого случая?

Этот Pod имеет состояние (я использую том hostPath для хранения данных) и развертывается с использованием nodeSelector, чтобы он всегда оставался на том же узле.

Вот простой файл YAML для примера: https://pastebin.com/WNDYTqSG

Создает 3 модуля (по одному на каждый Set) с объемом для хранения данных в состоянии. На практике все эти решения могут удовлетворить мои потребности, но я не знаю, есть ли лучшие практики для этого случая.

Не могли бы вы помочь мне выбрать между этими решениями для развертывания одного модуля с состоянием, пожалуйста?

1 Ответ

0 голосов
/ 18 января 2019

Развертывание является наиболее распространенным вариантом управления модулем или набором модулей.Они обычно используются вместо ReplicaSets, так как они более гибкие и создают результаты развертывания в ReplicaSet - см. https://www.mirantis.com/blog/kubernetes-replication-controller-replica-set-and-deployments-understanding-replication-options/

. Вам понадобится StatefulSet, только если у вас есть несколько модулей и вам требуется выделенное постоянство для каждого модуля или вас.было несколько модулей, и модулям нужны индивидуальные имена, потому что они связаны друг с другом (например, один из них является лидером) - https://stackoverflow.com/a/48006210/9705485

DaemonSet будет использоваться, когда вы хотите один модуль / реплику на узел

...