Ответ 1
Я не уверен, почему это произошло, но после удаления финализаторов pv и pvc через панель инструментов кубернетов оба они были удалены. Это произошло снова после повторения шагов, которые я описал в своем вопросе. Похоже на ошибку.
Я создал следующий постоянный том, позвонив
kubectl create -f nameOfTheFileContainingTheFollowingContent.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-monitoring-static-content
spec:
capacity:
storage: 100Mi
accessModes:
- ReadWriteOnce
hostPath:
path: "/some/path"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-monitoring-static-content-claim
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 100Mi
После этого я попытался удалить pvc. Но эта команда застряла. при вызове kubectl describe pvc pv-monitoring-static-content-claim
я получаю следующий результат:
Name: pv-monitoring-static-content-claim
Namespace: default
StorageClass:
Status: Terminating (lasts 5m)
Volume: pv-monitoring-static-content
Labels: <none>
Annotations: pv.kubernetes.io/bind-completed=yes
pv.kubernetes.io/bound-by-controller=yes
Finalizers: [foregroundDeletion]
Capacity: 100Mi
Access Modes: RWO
Events: <none>
И для kubectl describe pv pv-monitoring-static-content
Name: pv-monitoring-static-content
Labels: <none>
Annotations: pv.kubernetes.io/bound-by-controller=yes
Finalizers: [kubernetes.io/pv-protection foregroundDeletion]
StorageClass:
Status: Terminating (lasts 16m)
Claim: default/pv-monitoring-static-content-claim
Reclaim Policy: Retain
Access Modes: RWO
Capacity: 100Mi
Node Affinity: <none>
Message:
Source:
Type: HostPath (bare host directory volume)
Path: /some/path
HostPathType:
Events: <none>
Не работает подкачка, использующая постоянный объем. Может ли кто-нибудь дать мне подсказку, почему pvc и pv не удалены?
Я не уверен, почему это произошло, но после удаления финализаторов pv и pvc через панель инструментов кубернетов оба они были удалены. Это произошло снова после повторения шагов, которые я описал в своем вопросе. Похоже на ошибку.
PV защищен. Удалите PV перед удалением PVC. Кроме того, удалите любые модули/развертывания, которые требуют любого из указанных PVC. Для получения дополнительной информации ознакомьтесь с Хранение объекта в использовании Защита
Это происходит, когда постоянный том защищен. Вы должны быть в состоянии проверить это:
Команда:
kubectl describe pvc PVC_NAME | grep Finalizers
Выход:
Finalizers: [kubernetes.io/pvc-protection]
Вы можете исправить это, установив для финализаторов значение null с kubectl patch
:
kubectl patch pvc PVC_NAME -p '{"metadata":{"finalizers": []}}' --type=merge
Если PV все еще существует, это может быть потому, что для ReclaimPolicy установлено значение Retain, и в этом случае он не будет удален, даже если PVC исчезнет. Из документов:
У PersistentVolumes могут быть различные политики восстановления, включая "Сохранить", "Переработать" и "Удалить". Для динамически предоставляемых PersistentVolumes политикой возврата по умолчанию является "Удалить". Это означает, что динамически подготовленный том автоматически удаляется, когда пользователь удаляет соответствующий PersistentVolumeClaim. Такое автоматическое поведение может быть неуместным, если том содержит ценные данные. В этом случае более целесообразно использовать политику "Сохранить". С помощью политики "Сохранить", если пользователь удаляет запрос PersistentVolumeClaim, соответствующий объект PersistentVolume не удаляется. Вместо этого он перемещается в фазу "Выпущено", где все его данные могут быть восстановлены вручную.
Просто встретил эту проблему несколько часов назад.
Я удалил развертывания, которые использовали эти ссылки, и PV/PVC автоматически прекращаются.
В моем случае, пока я удаляю модуль, связанный как с pv
и с pvc
, pv
и pvc
в состоянии завершения исчезают
Вы можете избавиться от редактирования вашего ПВХ! Снять защиту ПВХ.
Да, в моем случае это произошло. После того, как я удалил развертывание и соответствующее pv (удаленное полное пространство имен), PersistentVolume перешел в статус Release. Но теперь я снова выполнил развертывание, но эти PersistentVolumes снова не ограничиваются (Все еще находятся в освобожденном состоянии, а модули сбой с ошибкой не удается смонтировать). Можете ли вы помочь мне, как привязать их к стручкам.