1. ホーム
  2. kubernetes

[解決済み] Kubernetesです。PersistentVolumeClaim (pvc)を削除できない。

2022-10-09 14:41:29

質問

次のような永続的なボリュームを

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 が削除されないのか、どなたかヒントをいただけないでしょうか。

どのように解決するのですか?

永続的なボリュームが保護されている場合に発生します。クロスベリファイができるはずです。

コマンドを実行します。

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

参考 使用中のストレージオブジェクトの保護