如何为NebulaGraph k8s运营商部署集群做日志旋转?



在二进制包(RPM/DEB)中部署NebulaGraph时,我可以利用OS的logrotate,这是清理生成的日志的基本期望/解决方案。

虽然在k8的部署中,在操作系统级别不再有这样的层,但我应该做的最先进的事情是什么?还是星云操作器中缺失的部分?

我认为我们也可以将log dir附加到运行logrotate的pod上,但是对我来说它看起来并不优雅(或者我错了?)

经过一番研究,我认为最好的方法是利用K8s Conjob API可以提供的功能。

我们可以这样创建它:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: log-cleanup
spec:
schedule: "0 0 * * *"  # run the job every day at midnight
jobTemplate:
spec:
template:
spec:
containers:
- name: log-cleanup
image: your-log-cleanup-image:latest
command: ["/bin/sh", "-c", "./cleanup.sh /path/to/log"]
restartPolicy: OnFailure

/cleanup.sh中,我们可以简单地将日志删除逻辑或日志归档逻辑(例如将它们移动到s3)

最新更新