【问题标题】:Cleaning kubernetes jobs清理 Kubernetes 工作
【发布时间】:2023-03-23 10:09:01
【问题描述】:

我有一个将 db-job 部署到 k8s 的 spinnaker 管道。 我希望能够在部署另一个作业之前删除该作业,即添加一个大三角帆舞台或以某种方式配置作业以使其自行删除。 我知道 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 devops spinnaker kubernetes-jobs


【解决方案1】:

根据您运行的 kubernetes 版本,您可以在 k8s 作业本身中执行此操作:https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/#jobs-history-limits。需要注意的是,一旦删除,除非您通过某种刮板收集日志,否则您将无法看到作业做了什么,除非您及时到达集群。

【讨论】:

  • 感谢您的回答,但正如我在问题中所说,这里不能选择 cronjob。
猜你喜欢
  • 2016-07-22
  • 2019-09-11
  • 2022-07-15
  • 2018-02-26
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多