kubernetes 如何对NebulaGraph k8s操作员部署的集群进行日志轮换?

agxfikkp  于 2022-12-29  发布在  Kubernetes
关注(0)|答案(1)|浏览(193)

当在二进制包(RPM/DEB)中部署NebulaGraph时,我可以利用OS中的logrotate,这是清理生成的日志的基本期望/解决方案。
而在K8s部署中,在操作系统级别上不再有这样的层,我应该做什么样的最先进的事情?或者它是Nebula-Operator中缺失的一部分?
我认为我们也可以将log dir附加到运行logrotate的pod上,但在我看来它并不优雅(或者我错了?)

o2gm4chl

o2gm4chl1#

经过一番研究,我认为最好的方法可能是利用K8sConjob 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)

相关问题