使用k8s cronjob ,清除应用生成的日志文件

目前应用日志,tomcat日志 统一输出到 /data/logs/pod名字/ 目录下,并且/data/logs 目录挂载到cephfs上, tomcat 日志使用 cronolog进行日志切割

 

使用 cronjob 创建一个pod,在每天2点开始 清除日志。

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: cleanlog
  namespace: testihospital
spec:
  concurrencyPolicy: Forbid
  schedule: "0 2 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: cleanlog
            image: busybox
            volumeMounts:
            - name: logs
              mountPath: /data/logs
            command: ["/bin/sh"]
            args: ["-c","find /data/logs/ -type f -mtime +30 -name '*.log' | xargs rm -rf"]
          volumes:
          - name: logs
            persistentVolumeClaim:
              claimName: cephfs-mount2-pvc
          restartPolicy: OnFailure
  successfulJobsHistoryLimit: 1

 

successfulJobsHistoryLimit   字段指定应保留多少已完成和失败的作业, 显示完成 pod的数量

concurrencyPolicy : cron作业不允许并发运行; 如果是时候运行新作业并且之前的作业尚未完成,则cron作业会跳过新作业

 

创建cron作业后,使用以下命令获取其状态

[root@master1 crontab]# kubectl get cronjob hello -n testihospital 
NAME    SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
hello   */1 * * * *   False     0        44s             20m

 

cron作业尚未安排或运行任何作业

[root@master1 ~]# kubectl get jobs --watch -n testihospital
NAME               COMPLETIONS   DURATION   AGE
hello-1543827720   1/1           6s         35s

 

 pod的状态如下

 

转载于:https://www.cnblogs.com/fengjian2016/p/10059489.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值