operator

command module
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

README

Latest Release Docker Pulls Slack GitHub license Go Report Build Status

Victoria Metrics logo

VictoriaMetrics operator

Overview

Design and implementation inspired by prometheus-operator. It's great a tool for managing monitoring configuration of your applications. VictoriaMetrics operator has api capability with it. So you can use familiar CRD objects: ServiceMonitor, PodMonitor, PrometheusRule and Probe. Or you can use VictoriaMetrics CRDS:

  • VMServiceScrape - defines scraping metrics configuration from pods backed by services.
  • VMPodScrape - defines scraping metrics configuration from pods.
  • VMRule - defines alerting or recording rules.
  • VMProbe - defines a probing configuration for targets with blackbox exporter.

Besides it, operator allows your to manage VictoriaMetrics applications inside kubernetes cluster and simplifies this process quick-start With CRD (Custom Resource Definition) you can define application configuration and apply it to your cluster crd-objects.

Operator simplifies VictoriaMetrics cluster installation, upgrading and managing.

It has integration with VictoriaMetrics vmbackuper - advanced tools for making backups. Check backup docs

Use cases

For kubernetes-cluster administrators, it simplifies installation, configuration, management for VictoriaMetrics application. And the main feature of operator - is ability to delegate applications monitoring configuration to the end-users.

For applications developers, its great possibility for managing observability of applications. You can define metrics scraping and alerting configuration for your application and manage it with an application deployment process. Just define app_deployment.yaml, app_vmpodscrape.yaml and app_vmrule.yaml. That's it, you can apply it to a kubernetes cluster. Check quick-start for an example.

Operator vs helm-chart

VictoriaMetrics provides helm charts. Operator makes the same, simplifies it and provides advanced features.

Documentation

  • quick start doc
  • high availability doc
  • relabeling configuration doc
  • managing crd objects versions doc
  • design and description of implementation design
  • operator objects description doc
  • backups docs
  • security doc

Kubernetes compatibility versions

operator tested at kubernetes versions from 1.13 to 1.18

Troubleshooting

  • cannot apply crd at kubernetes 1.18 + version and kubectl reports error:
Error from server (Invalid): error when creating "release/crds/crd.yaml": CustomResourceDefinition.apiextensions.k8s.io "vmalertmanagers.operator.victoriametrics.com" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[initContainers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[containers].items.properties[ports].items.properties[protocol].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]
Error from server (Invalid): error when creating "release/crds/crd.yaml": CustomResourceDefinition.apiextensions.k8s.io "vmalerts.operator.victoriametrics.com" is invalid: [

upgrade to the latest release version. There is was a bug with kubernetes objects at the early releases.

Community and contributions

Feel free asking any questions regarding VictoriaMetrics:

Development

start:

make run

for test execution run:

#unit tests

make test 

# you need minikube or kind for e2e, do not run it on live cluster
#e2e tests with local binary
make e2e-local

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api module
v1beta1
Package v1beta1 contains API Schema definitions for the victoriametrics v1beta1 API group +kubebuilder:object:generate=true +groupName=operator.victoriametrics.com
Package v1beta1 contains API Schema definitions for the victoriametrics v1beta1 API group +kubebuilder:object:generate=true +groupName=operator.victoriametrics.com
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL