Поставил Deckhouse Platform на свои серверы, приложения с PVC не стартуют: PVC в Pending, StorageClass в кластере нет. Заодно горит алерт DeckhouseModuleUseEmptyDir.
Поставил Deckhouse Platform на свои серверы, приложения с PVC не стартуют: PVC в Pending, StorageClass в кластере нет. Заодно горит алерт DeckhouseModuleUseEmptyDir.
В статическом кластере StorageClass из коробки нет, его нужно создать. Для стендов и нетребовательных приложений проще всего взять модуль local-path-provisioner: том живёт на диске конкретного узла. В наборе модулей Default модуль уже включён, но StorageClass создаётся только по ресурсу LocalPathProvisioner:
apiVersion: deckhouse.io/v1alpha1
kind: LocalPathProvisioner
metadata:
name: localpath # так будет называться StorageClass
spec:
path: /opt/local-path-provisioner
reclaimPolicy: Delete # по умолчанию Retain
В наборе Minimal модуль сначала включите ModuleConfig local-path-provisioner с enabled: true.
StorageClass по умолчанию задаётся параметром defaultClusterStorageClass в ModuleConfig global (d8 k edit mc global). Ставить аннотацию напрямую Deckhouse запрещает.
spec:
settings:
defaultClusterStorageClass: localpath
После этого модули Deckhouse перейдут с emptyDir на PVC, и алерт погаснет. Для production-среды выбирайте сетевое или реплицируемое хранилище, например csi-nfs или csi-ceph.