首页 > 解决方案 > 如何在 CI 中编写有效的 k8s 删除作业

问题描述

我已经开始学习 k8s,我注意到在我们的组织中,他们有一个 jenkins 工作来删除资源。

该作业具有以下代码并作为外壳运行。

kubectl delete -o name -f $file | grep deployment | xargs kubectl rollout status --namespace=${namespace}

但不幸的是,这个删除作业总是处于失败状态。

13:05:04 + kubectl delete -o name -f services/stg/applications/stg-x/foo-svc.yml
13:05:04 + grep deployment
13:05:04 + xargs kubectl rollout status --namespace=stg-x
13:05:04 Error from server (NotFound): deployments.extensions "stg-x-foo-svc" not found
13:05:04 Build step 'Execute shell' marked build as failure
13:05:17 Finished: FAILURE

这是否意味着我们无法对已删除的部署资源进行部署状态?还是完全不同的问题?寻找一种有效的解决方案,以帮助检查删除后的状态,而不管正在删除什么。

Ps:这个工作对所有资源都是通用的,开发者只是通过文件来删除特定的资源。(副本、部署、守护程序集、pod、有状态集)

标签: kubernetes

解决方案


推荐阅读