首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用年龄标签的kubernetes pvc列表

使用年龄标签的kubernetes pvc列表
EN

Stack Overflow用户
提问于 2021-01-31 04:41:39
回答 2查看 318关注 0票数 0

在我的kubernetes aws集群中,我有4000多个pvc。

我必须从那些4000+ pvc中删除几乎3999个pvc,而不是删除30个pvc。

我将使用以下命令:

代码语言:javascript
复制
kubectl delete pvc --field-selector metadata.name!=<name not to delete>

测试之前,我将使用

代码语言:javascript
复制
kubectl get pvc --field-selector metadata.name!=<name not to delete>

  • 现在当我使用命令并添加pvc名称时,只有一个PVC代替"name to
  • 删除“命令工作。但是,当我添加另一个pvc名称时,而不是像"kubectl获取pvc -field-selector metadata.name!=pvc 1 pvc2“这样的名称。它不起作用,

正如我提到的,我不想删除30 pvc,但其余的4000我想删除.所以我需要把这30个pvc放在命令前面。所以我需要帮助。

  • 现在我也想试着用年龄标签来选择细菌中的资源。我只想选择2天以上的pvc。我该怎么做?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-31 04:56:36

你可以试试

代码语言:javascript
复制
kubectl get pvc --field-selector metadata.name!=pvc1,metadata.name!=pvc2

请参阅https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get

票数 2
EN

Stack Overflow用户

发布于 2021-01-31 06:27:01

虽然对于这个任务来说有点太过了,但是您可以使用下面这样的东西,在删除之前也会打印每个PVC的名称,以确保:

代码语言:javascript
复制
_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
done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65975799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档