Rumah >pembangunan bahagian belakang >Golang >Alih keluar metrik tidak dapat menjalankan pengawal pengendali kubernetes

Alih keluar metrik tidak dapat menjalankan pengawal pengendali kubernetes

WBOY
WBOYke hadapan
2024-02-10 14:33:08955semak imbas

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

Editor PHP Yuzai memperkenalkan: Apabila menggunakan pengawal pengendali kubernetes, kadangkala kita menghadapi situasi pemadaman penunjuk yang tidak boleh dijalankan. Ini boleh menyebabkan ralat masa jalan dan tidak konsisten. Untuk menyelesaikan isu ini, kami perlu mengambil beberapa langkah untuk mengalih keluar penunjuk tidak berfungsi ini. Artikel ini akan menyediakan penyelesaian terperinci untuk membantu anda berjaya memadamkan metrik pengawal pengendali kubernetes yang tidak berjalan. Mari lihat!

Kandungan soalan

Saya telah mengusahakan operator saya di mana saya mempunyai beberapa nilai tetapan penunjuk tersuai dan ia berfungsi dengan baik (mendaftar dan memaparkan nilai penunjuk). Masalahnya ialah pemadaman penunjuk tidak berlaku. Saya cuba mengisytiharkan fungsi berasingan untuk mengalih keluar penunjuk.

Pengendali saya memulakan set dan perkhidmatan stateful, tetapi selepas memadamkan cr saya, subsumber dipadamkan tetapi metrik tidak mendapat sebarang kemas kini/pengalihan keluar.

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,
        })
    }
}

Saya juga cuba mengisytiharkan predikat menggunakan deletefunc tetapi tidak berjaya, penunjuk saya masih tidak boleh dipadamkan.

Terima kasih atas sebarang bantuan atau petunjuk.

Penyelesaian

Saya dapat melaksanakan fungsi ini, untuk memadamkan metrik hanya gunakan fungsi padam untuk memanggil metrik tersuai berdasarkan operasi sumber yang lengkap.

FYI, memanggil padam pada penunjuk tersuai berfungsi, anda boleh memanggil fungsi tersebut selepas anda selesai mengerjakan sumber tersuai.

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

Atas ialah kandungan terperinci Alih keluar metrik tidak dapat menjalankan pengawal pengendali kubernetes. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam