首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清除k8s中的旧资源

清除k8s中的旧资源
EN

Stack Overflow用户
提问于 2022-10-31 11:00:33
回答 1查看 44关注 0票数 1

我想发出一个命令,可以清除所有旧的部署。例如,我在名称空间中有部署。

kubectl -n web get部署--排序-by=.metadata.creationTimeSTAMP

代码语言:javascript
复制
myproject-static-staging-master                  1/1     1            1           54d
myproject-static-staging-task-13373                1/1     1            1           20d
myproject-static-staging-task-13274                1/1     1            1           19d
myproject-static-staging-task-13230                1/1     1            1           19d
myproject-static-staging-task-13323                1/1     1            1           19d
myproject-static-staging-task-13264                1/1     1            1           18d
myproject-static-staging-task-13319                1/1     1            1           13d
myproject-static-staging-task-13470                1/1     1            1           6d20h
myproject-static-staging-task-13179                1/1     1            1           6d20h
myproject-static-staging-task-13453                1/1     1            1           6d4h
myproject-static-staging-moving-to-old           1/1     1            1           6d
myproject-static-staging-moving-test             1/1     1            1           5d20h

我只想保存它(5最新的)

代码语言:javascript
复制
myproject-static-staging-task-13470                1/1     1            1           6d20h
myproject-static-staging-task-13179                1/1     1            1           6d20h
myproject-static-staging-task-13453                1/1     1            1           6d4h
myproject-static-staging-moving-to-old           1/1     1            1           6d
myproject-static-staging-moving-test             1/1     1            1           5d20h

我试过那个命令

kubectl获得部署-n web --模板'{{range .items}{.metadata.name}{{“n”}{end}‘-排序-by=.metadata.creationTimeSTAMP\ grep -v主+ grep myproject-静态-暂存头-n 5\ xargs -r kubectl -n web删除部署

但这是不对的。

EN

回答 1

Stack Overflow用户

发布于 2022-11-01 05:50:58

您可以像这样使用xargs命令:

代码语言:javascript
复制
command1 | xargs -I{} command2 {}

Xargs将用空{}替换来自command1的输出。例如,如果command1的输出为‘1-2’,那么Xargs将调用命令:'command2 1‘、'command2 2’和'command2 3‘。

所以在你的情况下,你可以用

代码语言:javascript
复制
kubectl get deployment -n web --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' --sort-by=.metadata.creationTimestamp | grep -v master | grep myproject-static-staging | tail -r | tail -n +6 | xargs -I{} kubectl -n web delete deployment {}

‘-r’将反转顺序,‘-n +6’将选择除前5个以外的所有行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74262260

复制
相关文章

相似问题

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