GithubHelp home page GithubHelp logo

bxy4543 / operator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from victoriametrics/operator

0.0 0.0 0.0 11.95 MB

Kubernetes operator for Victoria Metrics

License: Apache License 2.0

Shell 0.02% Go 98.30% Makefile 1.64% Dockerfile 0.03%

operator's Introduction

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, operator allows you 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 vmbackupmanager - advanced tools for making backups. Check Backup automation for VMSingle or Backup automation for VMCluster.

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

  • external access to cluster resourcesdoc

  • security doc

  • resource validation doc

    NOTE documentations was moved into main VictoriaMetrics repo link All changes must be done there.

Configuration

Operator configured by env variables, list of it can be found at link

It defines default configuration options, like images for components, timeouts, features.

Kubernetes' compatibility versions

operator tested at kubernetes versions from 1.25 to 1.28

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 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

operator's People

Contributors

f41gh7 avatar haleygo avatar amper avatar k1rk avatar tenmozes avatar denisgolius avatar valyala avatar zekker6 avatar elmariofredo avatar flokli avatar lujiajing1126 avatar artifactori avatar umezawatakeshi avatar cosrider avatar hagen1778 avatar tamcore avatar zhiyin009 avatar fatsheep9146 avatar iyuroch avatar g7r avatar dmitryk-dk avatar miketth avatar jaysonyangxd avatar blesswinsamuel avatar avthart avatar allen13 avatar dependabot[bot] avatar gidesh avatar glidea avatar hadesy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.