Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

после применения скрипта storage-mirror-3dc.yaml в k8s-кластере, подсистема хранения не создается и в журнале любого из Pod'ов с названием storage-sample-* имеется ошибка: ":BS_PDISK CRIT: PDiskId# 1 BlockDevice initialization error! Can't open file "/dev/kikimr_ssd_00": not enough rights. Marker# BPD39 :BS_PDISK CRIT: PDiskId# 1 bootstrapped to the StateError, reason# Can't open file "/dev/kikimr_ssd_00": not enough rights. Can not be initialized Config: {TPDiskConfg Path# "/dev/kikimr_ssd_00" Expected......" #233

Closed
avpco opened this issue Jul 5, 2024 · 1 comment
Labels
duplicate This issue or pull request already exists

Comments

@avpco
Copy link

avpco commented Jul 5, 2024

Bug Report

YDB Kubernetes Operator version: 0.5.19

Environment

ОС: RED OS MUROM (7.3.2)
Kernel: 5.15.72-1.el7.3.x86_64
k8s: 1.29.3
Container runtime: 1.7.14
helm: v3.11.3-rancher2
Go: go1.21.0
longhorn: v103.2.1+up1.5.3

Current behavior:

после применения скрипта storage-mirror-3dc.yaml в k8s-кластере, подсистема хранения не создается и в журнале любого из Pod'ов с названием storage-sample-* имеется ошибка: ":BS_PDISK CRIT: PDiskId# 1 BlockDevice initialization error! Can't open file "/dev/kikimr_ssd_00": not enough rights. Marker# BPD39
:BS_PDISK CRIT: PDiskId# 1 bootstrapped to the StateError, reason# Can't open file "/dev/kikimr_ssd_00": not enough rights. Can not be initialized Config: {TPDiskConfg Path# "/dev/kikimr_ssd_00" Expected......"

в группу disk пользователь ydb входит. Ошибку удалось преодолеть переделав Docker-образ на пользователя root:

FROM cr.yandex/crptqonuodf51kdj7a7d/ydb:23.4.11
USER root

в качестве хранилища для k8s-кластера используется LongHorn.

Такая ошибка наблюдалась и на других версиях YDB-оператора (0.5.14, 0.5.16)

Expected behavior:

успешное применение storage-mirror-3dc.yaml от пользователя ydb в Docker-образе

Steps to reproduce:

устанавливаю согласно инструкции: https://ydb.tech/docs/ru/devops/kubernetes/initial-deployment
YDB-оператор устанавливается успешно. Контейнер в режиме READY без перезапусков.
Далее применяю storage-mirror-3dc.yaml командой:

kubectl apply -f samples/storage-mirror-3dc.yaml

в результате:

...
STATUS: deployed
...

затем Pod'ы storage-sample-* переходят в состояние Pending, а storage-sample-blobstorage-init-* в состояние CrashLoopBackOff с постоянным перезапуском. В результате изучения проблемы журнал storage-sample-blobstorage-init-* содержит ошибку "MB-0001 failed to connect to all addresses", из которой явно не следует в чем дело.
Далее опытным путем поняли, что не для Worker-узлов кластера не хватает меток.

Присвоили метки:

topology.kubernetes.io/zone=az-1
topology.kubernetes.io/zone=az-2
topology.kubernetes.io/zone=az-3

после этого Pod'ы storage-sample-* стали разворачиваться (перешли из состояния Pending), но в итоге вываливались с ошибкой:

":BS_PDISK CRIT: PDiskId# 1 BlockDevice initialization error! Can't open file "/dev/kikimr_ssd_00": not enough rights. Marker# BPD39
:BS_PDISK CRIT: PDiskId# 1 bootstrapped to the StateError, reason# Can't open file "/dev/kikimr_ssd_00": not enough rights. Can not be initialized Config: {TPDiskConfg Path# "/dev/kikimr_ssd_00" Expected......"

далее поправили официальный образ:

FROM cr.yandex/crptqonuodf51kdj7a7d/ydb:23.4.11
USER root

и после этого заново установили YDB-оператор и применили storage-mirror-3dc.yaml. В результате storage-sample-* успешно развернулись.

@avpco avpco added the bug Something isn't working label Jul 5, 2024
@kobzonega
Copy link
Contributor

@avpco
Thank you for your interest in YDB Operator. I think this duplicate of #226 issue. Please try to update Longhorn component to use PVC with non-root user mount

@kobzonega kobzonega added duplicate This issue or pull request already exists and removed bug Something isn't working labels Aug 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants