K8S中的事件监听器的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
基于client-go、gorm实现,实时监听 & 解析入DB 了多种事件。 代码简明,方便扩展
实时监听 k8s event和namespace、pod等的事件,可以作为监控、系统对接的接入
传送门
go mod tidy go run K8S-Eventlet.go
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 对工厂模式的变相实现可吐槽
看完上述内容,你们掌握K8S中的事件监听器的使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。