Ошибка «VolumeFailedDelete» в кластере k8s, предоставленная Docker-для-Windows - PullRequest
0 голосов
/ 26 июня 2019

Я создал PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: myclaim
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 8Gi

Поскольку PVC не указывает класс хранения, он будет использовать класс хранения по умолчанию в кластере.Для моего кластера это hostpath :

 $ kubectl get sc

    NAME                 PROVISIONER          AGE
    hostpath (default)   docker.io/hostpath   47d

. ReclaimPolicy этого sc - Delete .Но все же, когда я удаляю ПВХ, он не удаляется.При удалении тома произошла ошибка:

$ kubectl describe pv

Name:            pvc-eb128563-97fa-11e9-8f00-00155d380109
Labels:          <none>
Annotations:     pv.kubernetes.io/provisioned-by=docker.io/hostpath
Finalizers:      [kubernetes.io/pv-protection]
StorageClass:    hostpath
Status:          Released
Claim:           default/myclaim
Reclaim Policy:  Delete
Access Modes:    RWO
Capacity:        8Gi
Node Affinity:   <none>
Message:
Source:
    Type:          HostPath (bare host directory volume)
    Path:          /host_mnt/c/Users/Anjana/.docker/Volumes/myclaim/pvc-eb128563-97fa-11e9-8f00-00155d380109
    HostPathType:
Events:
  Type     Reason              Age              From                                                                     Message
  ----     ------              ----             ----                                                                     -------
  Warning  VolumeFailedDelete  7s (x7 over 1m)  docker.io/hostpath DESKTOP-SRHMA82 87a9c372-97ca-11e9-bdd7-00155d38010b  persistent volume path is not prefixed by C:\Users\Anjana\.docker\Volumes

Почему это происходит?Может кто-нибудь помочь мне?

Ответы [ 2 ]

0 голосов
/ 16 июля 2019

У меня такая же проблема.

Предупреждение VolumeFailedDelete persistentvolume / pvc-888e0eed-a795-11e9-8838-00155d9d5106 Путь к постоянному тому не имеет префикса C: \ Users \ user.docker \ Volumes

Том создается через PVC, для hostPath (автоматически) установлено значение /host_mnt/c/Users/user/.docker/Volumes/myclaim/pvc-eb128563-97fa-11e9-8f00-00155d380109

0 голосов
/ 27 июня 2019

Исходя из полученной ошибки

путь постоянного тома не имеет префикса C: \ Users \ Anjana.docker \ Volumes

И просматривая документация :

pathPrefix - это префикс пути, которому должен соответствовать том хоста.Он не поддерживает *.Конечные косые черты обрезаются при проверке префикса пути с путем к хосту.Примеры: /foo разрешит /foo, /foo/ и /foo/bar /foo не позволит /food или /etc/foo

Необходимо проверить, правильно ли настроен путь вВаша спецификация PV yaml.

  hostPath:
    path: 

РЕДАКТИРОВАТЬ: Также Finalizers: [kubernetes.io/pv-protection] Это означает, что ваш PV защищен.Вы можете изменить это, установив финализаторы на null

Дайте мне знать, если это помогло.

...