PVC висят в Pending в статическом кластере: нет StorageClass

Viewed 27

Поставил Deckhouse Platform на свои серверы, приложения с PVC не стартуют: PVC в Pending, StorageClass в кластере нет. Заодно горит алерт DeckhouseModuleUseEmptyDir.

1 Answers

В статическом кластере 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.

Related