LINUX.ORG.RU

k8s local storage provisioner

 , , persistent volume


0

2

В кубернетесе есть возможность сделать PersistentVolume с StorageClass: local-storage и подмонтировать его в под.

Для такого типа из коробки нет автоматического провижнера (что понятно, ведь нельзя угадать, что там человек напокупал в сервера), но есть rancher local-path-provisioner, который выглядит временным костылем, ведь данные эфемерны и не зафиксируются на локальном диске.

Я хочу использовать именно локальную запись на локальные диски, потому что весь менеджмент данных, копирование, резервирование и т.п. делается именно в моём софте, мне никакой S3 и прочие лонгхорны тут не нужны, без них справляемся. У меня даже софт запускается как DaemonSet

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

Вопрос: правильно ли я понимаю, что при таких хотелках я обречен на то, чтобы описывать явно для каждой ноды PersistentVolume руками и тем самым описывать доступные ресурсы в ямлях кубернетеса?

Как это правильнее совмещать с хельмом? Описать сначала мои Volume и потом поставить хельм чарт, который должен быть написан так, чтобы волшебным образом состыковаться с локально описанным PV?

Доброе утро, local-path — это и есть dynamic provisioning.

WaitForFirstConsumer не забудь только в StorageClass-е.

данные эфемерны и не зафиксируются на локальном диске

Схренали?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от cobold

зачем тебе куб вообще?

Куб это для начала замена админу и только потом какое-то веселое виртуальное облако.

Т.е. это очень хорошая замена ансиблу, потому что ансибл пытается привести хаос к порядку, а кубер может делать всё то же самое, но только сразу создавая порядок с нуля.

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Схренали?

удаляем весь кубернетес, ставим заново, меняется имя PVC и в https://github.com/rancher/local-path-provisioner/blob/master/provisioner.go#L288 генерируется новый локальный каталог.

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

удаляем весь кубернетес, ставим заново

А чего всю машину сразу не форматируем?

Абсолютно любой dynamic provisioner работает точно таким же образом.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

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

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

Ты опять пытаешься сделать троллейбус из буханки, а когда не получается, жалуешься, что у хлебного мякиша параметры не такие же, как у стали.

Попробуй volume типа hostPath, что ли. Без всяких PV, PVC и StorageClass’ов.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)