Open xue8 opened 4 years ago
k8s event 就不会长期保留,一般都会读出来存到其它持久化存储中,可以参考下
k8s event 就不会长期保留,一般都会读出来存到其它持久化存储中,可以参考下
感谢大佬的建议
最终方案:参考 CronJob 的实现,successfulJobsHistoryLimit、failedJobsHistoryLimit 对历史记录数量继续限制。
/archive
@mjolnir-bot 完成归档操作,你可以通过 【提问】Operator开发中,如何解决资源对象太大,导致数据过多的时候拉胯ETCD进行访问
@xue8 cronjob这种方式理论上就是缩短etcd数据存储天数,你那历史30天的需求如果是定下来的就没办法改变吧?
可以换种operator实现的方式:通过将你的crd的增删改查接口注册apiserver 聚合层上 这样crd就不会存在etcd里,而是你自己的数据库里。详见k8s 文档
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
问题描述
请教一下,Operator开发中,资源对象过大,如果历史数据较多的情况下,势必会拉胯 etcd。
按照平均每个资源对象3000个字符,假设都是中文字符且在UTF-8编码中,那么每个字符占3个字节的,这样一换算,每个资源大约 9KB,如果这个资源是个被周期性任务创建产生的,每个小时创建 1000 个,那么一天数据量为:9KB 1000 24 = 211MB, 这么大的数据量,如果又要将这些历史数据保存 1 个月以上,etcd 势必会被压垮。
我先抛砖引玉,分享一下我想到的解决方案:
不知道各位大佬有没有其他更好的实践分享一下,感谢!