登录
首页 >  Golang >  Go问答

监听并捕获 k8s Golang API 中的事件,在一段时间后停止获取事件

来源:stackoverflow

时间:2024-03-03 23:09:25 365浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《监听并捕获 k8s Golang API 中的事件,在一段时间后停止获取事件》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我正在使用 aks 和 k8s golang api。

我正在创建一个 kubernetes 观察器来监视诸如

之类的作业
watchres, error := jobsclient.watch(metav1.listoptions{})

之后我得到了类似的事件通道

eventres := watchres.resultchan()

之后我使用

循环获取事件
we := <-eventres

然后根据这些事件我执行一些操作(例如,当 kubernetes 作业成功时删除资源)

我面临的问题是,一切似乎都工作正常,但在一段时间后,观察者不会删除资源,但作业会成功,可能是什么问题,通道是否超时?但是我不会隐式关闭通道。


解决方案


手表上有默认超时。我相信它设置为 30 分钟。

您可以在 listoptions 中覆盖此值。例如,将超时设置为一小时:

timeout := int64(3600)
watchres, error := jobsClient.Watch(metav1.ListOptions{
    TimeoutSeconds: &timeout,
})

终于介绍完啦!小伙伴们,这篇关于《监听并捕获 k8s Golang API 中的事件,在一段时间后停止获取事件》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>