Rumah >pembangunan bahagian belakang >Golang >Alih keluar metrik tidak dapat menjalankan pengawal pengendali 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!
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.
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!