Kubernetes Clustsr 坚持删除 PV/PVC

far*_*any 9 kubernetes

我一直在努力让我的简单 3 节点 Kubernetes 集群运行。

$ kubectl get nodes                                                                                    NAME   STATUS   ROLES         AGE   VERSION
ubu1   Ready    master        31d   v1.13.4
ubu2   Ready    master,node   31d   v1.13.4
ubu3   Ready    node          31d   v1.13.4
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个 PVC,它永远停留在 Pending 状态。所以我删除了它,但现在它停留在终止状态。

$ kubectl get pvc
NAME                        STATUS        VOLUME           CAPACITY   ACCESS MODES   STORAGECLASS      AGE
task-pv-claim               Terminating   task-pv-volume   100Gi      RWO            manual            26d
Run Code Online (Sandbox Code Playgroud)

如何创建正确创建并可用于官方 kubernetes 网站上描述的演示的 PV?

PS:我曾经kubespray把它启动并运行。

在我的 Ubuntu 16.04 VM 上,这是安装的 Docker 版本:

ubu1:~$ docker version
Client:
 Version:           18.06.2-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        6d37f41
 Built:             Sun Feb 10 03:47:56 2019
 OS/Arch:           linux/amd64
 Experimental:      false
Run Code Online (Sandbox Code Playgroud)

提前致谢。

yas*_*ini 54

kubectl patch pvc {PVC_NAME} -p '{"metadata":{"finalizers":null}}'\n
Run Code Online (Sandbox Code Playgroud)\n

您需要修补 PVC 以将 \xe2\x80\x9cfinalizers\xe2\x80\x9d 设置设置为 null,这允许从节点最终卸载,并且可以删除 PVC。

\n

  • 可以使用“pv”完成同样的操作 (4认同)
  • 在 Windows 上你需要转义引号,但你知道吗?`kubectl patch pvc {PVC_NAME} -p '{\"metadata\":{\"finalizers\":null}}'` (3认同)

aru*_*hpj 14

对于快速的眼睛:

kubectl patch pvc <pvc_name> -p '{"metadata":{"finalizers":null}}'

kubectl delete pvc <pvc_name> --grace-period=0 --force 

kubectl patch pv <pv_name> -p '{"metadata":{"finalizers":null}}'

kubectl delete pv <pv_name> --grace-period=0 --force 
Run Code Online (Sandbox Code Playgroud)


yas*_*ini 10

您可以使用以下命令强制删除 PV 或 PVC。

#kubectl delete pvc <PVC_NAME> --grace-period=0 --force 
Run Code Online (Sandbox Code Playgroud)

在你的情况下

#kubectl delete pvc task-pv-claim  --grace-period=0 --force 
Run Code Online (Sandbox Code Playgroud)


Dra*_*nov 10

kubectl 编辑 pv(pv 名称)

查找以下内容

终结器: - kubernetes.io/pv-protection

并删除它。然后退出并: kubectl delete pv (pv name) --grace-period=0 --force

  • 现在都 2023 年了,为什么我必须这样做 (4认同)
  • 即使有宽限期和强制选项,对我来说仍然悬而未决。 (2认同)