程序开发 · 2025年4月28日

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

当前位置: > > > > 删除无法运行 kubernetes 操作员控制器的指标

来源:stackoverflow
2024-04-28 14:18:34
0浏览
收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天给大家整理了《删除无法运行 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 声明谓词,但没有成功,我的指标仍然无法删除。

感谢任何帮助或指示。

正确答案

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

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

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