после применения скрипта 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
Labels
duplicate
This issue or pull request already exists
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-* успешно развернулись.
The text was updated successfully, but these errors were encountered: