使用 AGE 标签列出 kubernetes pvc
List kubernetes pvc using labels of AGE
我的 kubernetes aws eks 集群中有超过 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>
- 现在,当我使用该命令并仅添加一个 PVC 的 PVC 名称来代替“不可删除的名称”时,该命令有效。
但是当我添加另一个 pvc 名称而不是像“kubectl get pvc --field-selector metadata.name!=pvc1 pvc2”这样的名称时......它不起作用
正如我提到的,我不想删除 30 个 pvc,但我确实想删除其余 4000 个...所以我需要在命令前面添加这 30 个 pvc。所以我需要这方面的帮助。
- 现在我也想通过 LABELS of AGE 尝试 select bacth 中的资源..我只想 select pvc 超过 2 天..我该怎么做?
你可以试试
kubectl get pvc --field-selector metadata.name!=pvc1,metadata.name!=pvc2
见https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
虽然任务量有点大,但您可以使用类似下面的内容,在删除之前也打印每个 PVC 的名称,以确保:
_contains () {
echo "" | tr ' ' '\n' | grep -F -x -q ""
}
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
done
我的 kubernetes aws eks 集群中有超过 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>
- 现在,当我使用该命令并仅添加一个 PVC 的 PVC 名称来代替“不可删除的名称”时,该命令有效。 但是当我添加另一个 pvc 名称而不是像“kubectl get pvc --field-selector metadata.name!=pvc1 pvc2”这样的名称时......它不起作用
正如我提到的,我不想删除 30 个 pvc,但我确实想删除其余 4000 个...所以我需要在命令前面添加这 30 个 pvc。所以我需要这方面的帮助。
- 现在我也想通过 LABELS of AGE 尝试 select bacth 中的资源..我只想 select pvc 超过 2 天..我该怎么做?
你可以试试
kubectl get pvc --field-selector metadata.name!=pvc1,metadata.name!=pvc2
见https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
虽然任务量有点大,但您可以使用类似下面的内容,在删除之前也打印每个 PVC 的名称,以确保:
_contains () {
echo "" | tr ' ' '\n' | grep -F -x -q ""
}
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
done