VictoriaMetrics: фікс помилки “no matches for kind VMAnomaly”

Автор |  10/07/2025
 

Вже не вперше стикаюсь з аналогічними помилками при апгрейді VictoriaMetrics, тож прийшов час записати собі в нотатки.

Отже, після апгрейду victoria-metrics-k8s-stack 0.55.0 => 0.56.0 в логах Operator з’явились помилки:

...
{"logger":"controller-runtime.source.EventHandler","msg":"if kind is a CRD, it should be installed before calling Start","kind":"VMAnomaly.operator.victoriametrics.com","error":"no matches for kind \"VMAnomaly\" in version \"operator.victoriametrics.com/v1\""}
...
{"logger":"setup","msg":"cannot setup manager","error":"cannot start controller manager: failed to wait for vmanomaly caches to sync kind source: *v1.VMAnomaly: timed out waiting for cache to be synced for 
Kind *v1.VMAnomaly"}
...

Скоріш за все через додавання нового ресурсу VMAnomaly в v0.60.0 оператора.

Перевіряємо наявні CRD:

$ kk get crd | grep victoriametrics
vlclusters.operator.victoriametrics.com                 2025-06-17T13:13:06Z
vlogs.operator.victoriametrics.com                      2025-06-10T09:39:22Z
vlsingles.operator.victoriametrics.com                  2025-06-17T13:13:07Z
vmagents.operator.victoriametrics.com                   2025-06-10T09:39:23Z
vmalertmanagerconfigs.operator.victoriametrics.com      2025-06-10T09:39:23Z
vmalertmanagers.operator.victoriametrics.com            2025-06-10T09:39:23Z
vmalerts.operator.victoriametrics.com                   2025-06-10T09:39:22Z
vmauths.operator.victoriametrics.com                    2025-06-10T09:39:22Z
vmclusters.operator.victoriametrics.com                 2025-06-10T09:39:23Z
vmnodescrapes.operator.victoriametrics.com              2025-06-10T09:39:22Z
vmpodscrapes.operator.victoriametrics.com               2025-06-10T09:39:23Z
vmprobes.operator.victoriametrics.com                   2025-06-10T09:39:22Z
vmrules.operator.victoriametrics.com                    2025-06-10T09:39:22Z
vmscrapeconfigs.operator.victoriametrics.com            2025-06-10T09:39:23Z
vmservicescrapes.operator.victoriametrics.com           2025-06-10T09:39:22Z
vmsingles.operator.victoriametrics.com                  2025-06-10T09:39:23Z
vmstaticscrapes.operator.victoriametrics.com            2025-06-10T09:39:23Z
vmusers.operator.victoriametrics.com                    2025-06-10T09:39:22Z

Очікувано, VMAnomaly нема.

Найкращим варіантом було б просто встановити всі CRD з окремого чарту victoriametrics-operator-crds (який під капотом просто встановлює CRD із файлу victoria-metrics-operator/charts/crds/crds/crd.yaml)

Але “так історично склалося”, що CRD у нас вже встановлені вручну (може, тоді не було окремого чарту?), тому найпростіший варіант – просто оновити їх напрямую з файлу:

$ kk apply -f https://raw.githubusercontent.com/VictoriaMetrics/helm-charts/refs/heads/master/charts/victoria-metrics-operator/charts/crds/crds/crd.yaml
...
customresourcedefinition.apiextensions.k8s.io/vmanomalies.operator.victoriametrics.com created
...

Перевіряємо CRD в кластері тепер:

$ kk get crd | grep anomal
vmanomalies.operator.victoriametrics.com                2025-07-09T14:27:43Z

Готово, все працює.