Класс хранения динамически обеспечивает постоянный объем за модуль? - PullRequest
2 голосов
/ 12 апреля 2020

Kubernetes newb ie здесь, поэтому мой вопрос может не иметь смысла. Пожалуйста, потерпите меня.

Итак, мой вопрос: если в моем кластере настроен класс хранения, то у меня есть PV C (который использует этот класс хранения). Если я использую этот PV C в своем Развертывании, и это Развертывание имеет 5 реплик, создаст ли Класс хранения 5 PV? один на стручок? Или только 1 PV, общий для всех модулей в этом развертывании?

Редактировать: Также у меня есть 3 узла в этом кластере

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 12 апреля 2020

Ресурс Persistent Volume Claim указывается отдельно от развертывания. Не имеет значения, сколько реплик имеет развертывание, у kubernetes будет только количество ресурсов PV C, которые вы определяете.

Если вы ищете несколько контейнеров с состоянием, которые создают свои собственные PV C , вместо этого используйте StatefulSet . Это включает в себя определение VolumeClaimTemplate.

Если вы хотите, чтобы все реплики развертывания имели общий PV C, подключаемый модуль поставщика класса хранения должен быть ReadOnlyMany или ReadWriteMany

0 голосов
/ 12 апреля 2020

Чтобы ответить на мой вопрос напрямую.

Класс хранения в этом случае будет предоставлять только один PV и совместно использоваться всеми модулями в Deployment, которые используют этот PV C.

. accessModes PV C не диктует, создавать ли один PV для каждого модуля. Вы можете установить accessModes либо на ReadWriteOnce / ReadOnlyMany / ReadWriteMany, и он всегда будет создавать 1 PV.

Если вы хотите, чтобы у каждого Pod был свой PV, вы не можете сделать это в a Развертывание

Вам нужно будет использовать StatefulSet с использованием volumeClaimTemplates .

Важно то, что StatefulSet использует volumeClaimTemplates или иначе, он все равно будет действовать так же, как и Deployment, то есть класс хранилища просто предоставит один PV, общий для всех модулей в этом StatefulSet.

Ссылки:

Развертывания Kubernetes против StatefulSets

Есть ли способ создания постоянного тома на модуль в развертывании kubernetes (или statefulset)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...