我有一个 StatefulSet(参见https://gist.github.com/holyjak/fc6e35a4228d348cf89eef5303473cab#file-eks-pod-no-avail-volume-zone-yml)与volumeClaimTemplate
和相应的StorageClass
定义。我在 AWS EKS 上运行。
我意识到有问题,因为我的 Pod 处于待处理状态,并显示警告“节点没有可用的卷区域”。查看 AWS EC2 控制台后,我注意到有一个卷,但它没有连接到工作节点,而kubectl get pv
已列为 OK。
我手动删除了 EC2 中的卷,并尝试删除 PV:
$ kubectl delete pv <id>
persistentvolume "<id>" deleted
但是这个命令尽管打印了“已删除”却挂起了并且get pv
仍然显示PV。
我也尝试过删除 StatefulSet,但是没有成功。
答案1
解决方案:我显然还必须手动删除持久卷声明(kubectl delete pvc demo-db-storage-demo-db-deployment-0
)。之后,(显然待处理的)PV 删除也完成了。我能够apply
再次获得资源并获得新的卷、PV、PVC 和一个正在运行的 pod。