sig-kubernetes
sig-kubernetes copied to clipboard
云原生社区 Kubernetes SIG
## 问题描述 请教一下,Operator开发中,资源对象过大,如果历史数据较多的情况下,势必会拉胯 etcd。 按照平均每个资源对象3000个字符,假设都是中文字符且在UTF-8编码中,那么每个字符占3个字节的,这样一换算,每个资源大约 9KB,如果这个资源是个被周期性任务创建产生的,每个小时创建 1000 个,那么一天数据量为:9KB * 1000 * 24 = 211MB, 这么大的数据量,如果又要将这些历史数据保存 1 个月以上,etcd 势必会被压垮。 我先抛砖引玉,分享一下我想到的解决方案: 1. 起一个 watchService,将资源对象从 etcd 中卸载到 db 上(如 mysql) 不知道各位大佬有没有其他更好的实践分享一下,感谢!
## 问题描述 (描述清楚问题,5W1H,why/what/where/who/when/how) ## 环境信息 (环境信息,版本信息等) ## 相关代码 (如果有相关代码,贴相关代码以及自己的疑惑和疑问) ## 备注 任何你想要表达的话语。
## 问题描述 (描述清楚问题,5W1H,why/what/where/who/when/how) ## 环境信息 (环境信息,版本信息等) ## 相关代码 (如果有相关代码,贴相关代码以及自己的疑惑和疑问) ## 备注 任何你想要表达的话语。
## 问题描述 最近在学习 informer 机制,但是还是不太了解 resync 的实际用途,现在遇到如下问题: 在 pkg/controller/deployment/deployment_controller.go [101行](https://github.com/kubernetes/kubernetes/blob/c8ebc8ab75a9c36453cf6fa30990fd0a277d856d/pkg/controller/deployment/deployment_controller.go#L101) 中的 NewDeploymentController 会传入 DeploymentInformer 和 ReplicaSetInformer,为什么这两个 Informer 的 AddEventHandler 中 注册的 UpdateFunc “[dc.updateDeployment](https://github.com/kubernetes/kubernetes/blob/c8ebc8ab75a9c36453cf6fa30990fd0a277d856d/pkg/controller/deployment/deployment_controller.go#L173) [dc.updateReplicaSet](https://github.com/kubernetes/kubernetes/blob/c8ebc8ab75a9c36453cf6fa30990fd0a277d856d/pkg/controller/deployment/deployment_controller.go#L256)” updateReplicaSet 中有对比 ResourceVersion 的步骤而 updateDeployment 中没有?...
## 分享内容 (简要介绍你分享的资料内容) ## 分享收获 (描述为什么分享这个资料?学习之后会有什么收获?) ## 备注 任何你想要表达的话语。
## 问题描述 群里有些小伙伴私聊问我如何基于scheduler framework扩展自己的应用,在这里粗略说一下。 假如是基于打分环节扩展,首先需要实现接口,包括Name,Score和ScoreExtensions。 实现完成之后,可以在cmd/kube-scheduler/scheduler.go里面加上 ` command := app.NewSchedulerCommand( app.WithPlugin(nodeload.Name, nodeload.New) )` 然后编译,待编译完成,由于我是用kubeadm安装的集群,所以我的调度器是读的/etc/kuberxx/manifest/kube-scheduler.yml启动的pod,移走文件之后,然后用编译好的二进制启动./kube-scheduler --config=config.xml,然后进入测试环节。 ## 备注 建议群里大佬出个分享文章?