登录
首页 >  Golang >  Go问答

删除无法运行 kubernetes 操作员控制器的指标

来源:stackoverflow

时间:2024-04-28 14:18:34 293浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《删除无法运行 kubernetes 操作员控制器的指标》,聊聊,我们一起来看看吧!

问题内容

我一直在研究我的操作员,其中我有一些自定义指标设置值并且工作正常(注册和显示指标值)。问题是指标删除没有发生。我试图声明一个单独的函数来删除指标。

我的操作员正在启动有状态集和服务,但在删除我的 cr 后,子资源将被删除,但指标不会得到任何更新/删除。

func (r *cr) reconcile(ctx context.context, req ctrl.request) (ctrl.result, error) {
......
......
        if errors.isnotfound(err) {
            l.info("cr not found so maybe deleted")
            l.info("deleting cr metric instance")
            deletemetric(instance, true)
            return ctrl.result{}, nil
        }
func DeleteMetric(cr *CR, condition bool) {
    l := logf.Log.WithName("CR Metric deletion")
    l.Info("Deleting metric for CR", "instance", cr.Name, "from namespace", cr.Namespace)
    if condition {
        custom_metric_name.Delete(prometheus.Labels{
            "name":      cr.Name,
            "namespace": cr.Namespace,
        })
    }
}

我还尝试使用 deletefunc 声明谓词,但没有成功,我的指标仍然无法删除。

感谢任何帮助或指示。


正确答案


我能够实现此功能,删除指标只需根据已完成的资源操作使用删除函数调用自定义指标即可。

仅供参考,对自定义指标调用删除是可行的,您可以在自定义资源上完成工作后调用该函数。

https://pkg.go.dev/github .com/prometheus/client_golang/prometheus#MetricVec.DeleteLabelValues

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《删除无法运行 kubernetes 操作员控制器的指标》文章吧,也可关注golang学习网公众号了解相关技术文章。

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