K8S删除资源(PV)一直卡住
公司最近用K8S,我尝试对MySql做hostPath的目录卷映射用Helm安装MySql的时候,删除MySql命名空间下面的资源后,想删除PV发现一直删除不了。然后我就找问题。最终!!!
·
问题背景
公司最近用K8S,我尝试对MySql做hostPath的目录卷映射
用Helm安装MySql的时候,删除MySql命名空间下面的资源后,想删除PV发现一直删除不了。然后我就找问题。最终!!!
问题原因
我的MySql是装在mysql的命名空间下面,在安装MySql的时候,我只创建了PV资源文件,PV对应的PVC我没有创建,是MySql 自动创建的。
我通过以下命令进行删除:
# 删除MySql的release实例
helm delete mysql -n mysql
删除成功后,Pod、Service、statefulset... 都会帮我们删除。但是他不会帮我们删除PVC。
因为PVC 通常用于存储数据,而 Helm 删除操作默认不会删除持久化数据,以防止意外数据丢失。
此时我们执行命令查看mysql命名空间下面的PVC
# 查看mysql命名空间下面的PVC
kubectl get pvc -n mysql
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-mysql-0 Bound mysql-pv 10Gi RWO 3m56s
可以看到他是有值的。
处理
所以我们需要先删除PVC再删除PV
# 删除mysql命名空间下面的PVC
kubectl delete pvc data-mysql-0 -n mysql
# 删除PV
kubectl delete pv mysql-pv
其它暴力方法
直接删除这个PV对应的命名空间,但是这需要你对这个命名空间和PV所依赖的资源足够了解
# 删除命名空间
kubectl delete ns mysql
小补充
PV是不区分命名空间的
PVC是区分命名空间的
更多推荐
已为社区贡献3条内容
所有评论(0)