目前應用日誌,tomcat日誌 統一輸出到 /data/logs/pod名字/ 目錄下,而且/data/logs 目錄掛載到cephfs上, tomcat 日誌使用 cronolog進行日誌切割api
使用 cronjob 建立一個pod,在天天2點開始 清除日誌。tomcat
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做業會跳過新做業spa
建立cron做業後,使用如下命令獲取其狀態rest
[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的狀態以下code