在我的kubernetes aws集群中,我有4000多个pvc。
我必须从那些4000+ pvc中删除几乎3999个pvc,而不是删除30个pvc。
我将使用以下命令:
kubectl delete pvc --field-selector metadata.name!=<name not to delete>测试之前,我将使用
kubectl get pvc --field-selector metadata.name!=<name not to delete>正如我提到的,我不想删除30 pvc,但其余的4000我想删除.所以我需要把这30个pvc放在命令前面。所以我需要帮助。
发布于 2021-01-31 04:56:36
你可以试试
kubectl get pvc --field-selector metadata.name!=pvc1,metadata.name!=pvc2请参阅https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
发布于 2021-01-31 06:27:01
虽然对于这个任务来说有点太过了,但是您可以使用下面这样的东西,在删除之前也会打印每个PVC的名称,以确保:
_contains () {
echo "$1" | tr ' ' '\n' | grep -F -x -q "$2"
}
deleteList="claim-http-0 claim-http-1"
for each in $(kubectl get pvc -o jsonpath="{.items[*].metadata.name}" | tr " " "\n");
do
if _contains "${deleteList}" "${each}"; then
echo $each
kubectl delete pvc $each
fi
donehttps://stackoverflow.com/questions/65975799
复制相似问题