前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【每日一个云原生小技巧 #58】K8s 自动清理完成的 Job

【每日一个云原生小技巧 #58】K8s 自动清理完成的 Job

作者头像
郭旭东
发布2024-01-04 11:55:16
2770
发布2024-01-04 11:55:16
举报
文章被收录于专栏:云原生工具箱云原生工具箱

Kubernetes (K8s) 中的 Job 是用于处理批量处理和一次性任务的资源类型。它确保指定数量的 Pods 成功运行到完成。一旦 Job 中的所有 Pods 成功运行并终止,Job 被视为完成。但是,完成的 Job(及其相关的 Pods)不会自动从 Kubernetes 集群中删除,除非配置了自动清理。

  • 定义: Kubernetes Job 创建一个或多个 Pods,并确保指定数量的 Pods 成功终止。当 Pods 成功完成时,Job 被视为完成。
  • 特点: Job 确保批处理任务运行到完成,而不管有多少次重试。

使用技巧

  1. 重试策略: 配置 backoffLimit 属性以限制失败重试次数。
  2. 并行处理: 使用 parallelism 设置并行 Pod 的数量。
  3. 资源限制: 为 Job 中的 Pods 设置 CPU 和内存限制,以免消耗过多集群资源。
  4. 监控和日志: 实现对 Job 执行的监控和日志记录,以便跟踪其性能和问题排查。

自动清理完成的 Job

Kubernetes 1.21 版本引入了一项新功能,允许自动清理已完成的 Job。这是通过在 Job 规范中设置 ttlSecondsAfterFinished 属性来实现的。

使用案例

案例一:定时备份任务

场景:创建一个每天执行数据库备份的 Job,并在完成后 24 小时自动清理。

示例代码(YAML 配置文件):

代码语言:javascript
复制
apiVersion: batch/v1
kind: Job
metadata:
  name: database-backup
spec:
  ttlSecondsAfterFinished: 86400  # 24 hours
  template:
    spec:
      containers:
      - name: backup
        image: backup-image
        command: ["backup-script"]
      restartPolicy: Never

案例二:数据处理任务

场景:运行一个数据处理任务,处理完数据后在 1 小时内自动清理。

示例代码(YAML 配置文件):

代码语言:javascript
复制
apiVersion: batch/v1
kind: Job
metadata:
  name: data-processing
spec:
  ttlSecondsAfterFinished: 3600  # 1 hour
  template:
    spec:
      containers:
      - name: processor
        image: data-processor-image
        command: ["process-data-script"]
      restartPolicy: Never

通过自动清理功能,可以有效管理集群资源,防止完成的 Job 和 Pods 占用不必要的资源。这种方式使得维护 Kubernetes 集群变得更加高效和清晰。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用技巧
  • 自动清理完成的 Job
  • 使用案例
    • 案例一:定时备份任务
      • 案例二:数据处理任务
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档