首页 > 后端开发 > Golang > 正文

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

WBOY
发布: 2024-02-10 14:33:08
转载
912 人浏览过

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

php小编鱼仔介绍:在使用kubernetes操作员控制器时,我们有时会遇到删除无法运行的指标的情况。这可能会导致运行时错误和不一致性。为了解决这个问题,我们需要采取一些步骤来删除这些无法运行的指标。本文将提供详细的解决方案,以帮助您顺利删除无法运行的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 操作员控制器的指标的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!