• 使用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的状态如下

  • 相关阅读:
    STM32对HAL库的LCD驱动移植
    stm32对HAL库的DAC使用
    STM32对HAL库的ADC(多通道DMA)
    STM32对HAL库的ADC(单通道非DMA)
    STM32 fputc函数(重定向)
    STM32的HAL库DMA串口不定长度的读写操作(二)
    STM32对HAL库的PWM控制
    STM32对HAL库的定时器中断
    STM32对HAL库的外部中断处理
    C#上位机制作之串口接受数据(利用接受事件)
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/10059489.html
Copyright © 2020-2023  润新知