kubernetes - 如何在 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、有状态集)
解决方案
推荐阅读
- java - 线性布局按钮之间的垂直空间“权重”
- javascript - 如何测试剧作家输入字段的字符限制?
- javascript - 如何在反应js中迭代数组响应api?
- swift - XCode 12.5 不允许我添加 Swift 包。包解析失败。
存在且不是空目录 (-4) - c++ - 如何优化远程桌面/角度的 OpenGL 纹理?
- artifactory - Artifactory中工件的信息中lastModified和lastUpdated有什么区别
- android - 来自具有日期差异的firebase数据库的android倒数计时器
- angular - 同时监听鼠标和键盘事件
- java - Spring boot 2.2.6 application with apache axis Issue
- android - 使用已保存的 cookie 网页视图登录