Kubernetes集群在删除PV/PVC时卡住

qacovj5a  于 11个月前  发布在  Kubernetes
关注(0)|答案(6)|浏览(147)

我一直在努力让我的简单的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

字符串
我试着创建一个PVC,它永远停留在挂起状态。所以我删除了它,但现在它停留在终止状态。

$ kubectl get pvc
NAME                        STATUS        VOLUME           CAPACITY   ACCESS MODES   STORAGECLASS      AGE
task-pv-claim               Terminating   task-pv-volume   100Gi      RWO            manual            26d


如何创建一个正确创建并可用于Kubernetes官方网站上描述的演示的PV?
PS:我使用kubespray来启动和运行它。
在我的Ubuntu 16.04虚拟机上,安装了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


先谢了。

dfuffjeb

dfuffjeb1#

第一个月
在清单文件中找到以下内容

finalizers:
  -  kubernetes.io/pv-protection

字符串
然后删掉
然后退出,并运行此命令以删除pv

kubectl delete pv (pv name) --grace-period=0 --force

ssm49v7z

ssm49v7z2#

kubectl patch pvc {PVC_NAME} -p '{"metadata":{"finalizers":null}}'

字符串
您需要修补PVC以将“finalizers”设置为null,这允许从节点上最终卸载,并且可以删除PVC。

uyto3xhc

uyto3xhc3#

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

#kubectl delete pvc <PVC_NAME> --grace-period=0 --force

字符串
就您而言

#kubectl delete pvc task-pv-claim  --grace-period=0 --force

pepwfjgg

pepwfjgg4#

对于快速的眼睛:

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

字符串

btxsgosb

btxsgosb5#

如果您的PV或PVC卡住,请删除相关Pod,您的终止状态PV或PVC将不再存在。

laawzig2

laawzig26#

如果你执行一个describe命令

kubectl describe pvc <pvcname>

字符串
你可以看到正在使用和阻止删除的资源:

Used By: <podname>


删除资源后,相关的pvc也会被删除。

相关问题