
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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号