kubernetes - 清理 Kubernetes 工作
问题描述
我有一个将 db-job 部署到 k8s 的大三角帆管道。我希望能够在部署另一个作业之前删除该作业,即添加一个大三角帆舞台或以某种方式配置作业,以便它自行删除。我知道 cronjob 会非常适合它,但它处于测试阶段并且不够稳定,无法用于数据库操作。我试图像这样向大三角帆添加一个舞台:
{
"account": "k8s-devops-v2",
"cloudProvider": "kubernetes",
"location": "loc",
"manifestArtifactAccount": "loc-open-source",
"manifestName": "job my-job-name",
"mode": "static",
"name": "Delete Db job",
"options": {
"cascading": true,
"gracePeriodSeconds": null
},
"type": "deleteManifest"
}
但它不会工作。我也不想使用 ttl,因为在创建新工作之前,我不希望有最新的工作。还有其他选择吗?对此的最佳做法是什么?
解决方案
根据您运行的 kubernetes 版本,您可以在 k8s 作业本身中执行此操作:https ://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#jobs-history-limits . 需要注意的是,除非您通过某种刮板收集日志,否则一旦删除,除非您及时到达集群,否则您将无法看到该作业做了什么。
推荐阅读
- swiftui - ForEach 循环的多个工作表
- java - 如何根据布尔值制作开关盒?[具体基于 char.isLetterOrDigit()]
- python - 尝试使用命令删除角色
- sitecore - 在 Solr 中对内容进行排序和存储
- javascript - 返回一个函数,该函数在调用时递增并返回一个计数器变量
- swift - 当我更改语言时,UICollectionView 标题不会从左到右改变它的方向,但它仅在重新启动应用程序时才有效
- c++ - 为什么会反复打印****?
- c - 为什么 fgets() 和 fread() 不能在我的 while 循环中正确替换 scanf()?
- javascript - 如何并排获取图标内的图像和文本?
- logging - 仅使用 sed 选择字符串的中间部分