K8S 扩展之 事件监听器

原创
2020/06/17 16:48
阅读数 1.9K

概述

基于client-go、gorm实现,实时监听 & 解析入DB 了多种事件。 代码简明,方便扩展

实时监听 k8s event和namespace、pod等的事件,可以作为监控、系统对接的接入

传送门

使用

go mod tidy
go run K8S-Eventlet.go

FAQ

go mod 自动依赖可能有问题,若

# k8s.io/client-go/tools/clientcmd/api/v1
/go/pkg/mod/k8s.io/client-go@v12.0.0+incompatible/tools/clientcmd/api/v1/conversion.go:29:15: scheme.AddConversionFuncs undefined (type *runtime.Scheme has no field or method AddConversionFuncs)
/go/pkg/mod/k8s.io/client-go@v12.0.0+incompatible/tools/clientcmd/api/v1/conversion.go:31:12: s.DefaultConvert undefined (type conversion.Scope has no field or method DefaultConvert)

修改一下 go.mod 中的内容:

k8s.io\client-go@v11.0.0+incompatible   换成    k8s.io/client-go v0.18.2
或
k8s.io\client-go@v12.0.0+incompatible   换成    k8s.io/client-go v0.18.2

补充说明

代码比较简明,适合学习、易扩展,需要注意的是,还缺少 queue支持、去重机制。

另,go 对工厂模式的变相实现可吐槽

展开阅读全文
go
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部