VictoriaMetrics/docs/operator
Aliaksandr Valialkin 3f5a41e35e
lib/license: cleanups and prettifications for log messages and docs related to licensing
- Make more clear the docs at docs/enterprise.md, so readers could figure out faster
  on how to obtain enterprise key and how to pass it to VictoriaMetrics Enterprise components.

- Fix examples at docs/enterprise.md, which were referring to non-existing `-license-file` command-line flag.
  The `-licenseFile` command-line flag must be used instead.

- Improve the description of `-license*` command-line flags, so users could understand
  faster how to use them.

- Improve the warning message, which is emitted when the deprecated -eula command-line flag is passed,
  so the user could figure out how to switch faster to -license* command-line flags.

- Disallow running VictoriaMetrics components with both -license and -licenseFile command-line flags.

- Disallow running VictoriaMetrics components when -licensFile points to an empty file.

- Consistently use the phrase "This flag is available only in Enterprise binaries" across
  all the enterprise-specific command-line flags.

- Remove unneeded level of indirection for `noLicenseMessage` and `expiredMessage` string contants
  in order to improve code readability and maintainability.

- Remove unneded `return` statements after `logger.Fatalf()` calls, since these calls exit the app and never return.

- Make sure that the info log message about successful license verification is emitted
  when the license is verified successfully. Previously the error message could be logged
  when the license payload is invalid or if it misses some required features.
2023-10-13 14:56:09 +02:00
..
resources Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
additional-scrape.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
api.md lib/license: cleanups and prettifications for log messages and docs related to licensing 2023-10-13 14:56:09 +02:00
auth.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
backups.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
CHANGELOG.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
configuration.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
configuration_syncronization.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
design.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
enterprise.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
FAQ.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
high-availability.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
logo.png Created Operator folder in docs (#2034) 2022-01-21 12:05:58 +02:00
managing-versions.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
migration.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
migration_prometheus-conversion.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
monitoring.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
monitoring_operator-dashboard.png Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
quick-start.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
quick-start_alert-1.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
quick-start_alert-2.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
quick-start_cluster-scheme.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
quick-start_select-1.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
quick-start_select-2.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
quick-start_values.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
README.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
README_operator-workflow.png Automatic update operator docs from VictoriaMetrics/operator@44bdc27 (#5104) 2023-10-02 15:50:18 +02:00
relabeling.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
resources-validation.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
security.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
setup.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
vars.md Automatic update operator docs from VictoriaMetrics/operator@26d1b3b (#5130) 2023-10-05 12:43:28 +02:00
VictoriaMetrics-Operator.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00
vmalertmanager-configuration.md hide deprecated docs from menu (#5095) 2023-10-03 14:28:33 +02:00

sort weight title menu
0 0 VictoriaMetrics Operator
docs
parent weight
operator 0

VictoriaMetrics Operator

Operator serves to make running VictoriaMetrics applications on top of Kubernetes as easy as possible while preserving Kubernetes-native configuration options.

VictoriaMetrics Operator (vmoperator) is the classic kubernetes-operator for VictoriaMetrics with many great features. It allows you to manage Victoria Metrics components in Kubernetes or OpenShift clusters in a declarative style according to GitOps and IaC concepts.

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

Learn more about key concepts of vmoperator and follow the quick start guide for a better experience.

Features of vmoperator

  • Deployment and management in a kubernetes clusters of any number of VictoriaMetrics applications (like vmsingle/vmcluster instances and another components like vmauth, vmagent, vmalert, etc...)
  • Seamless migration from prometheus-operator with auto-conversion of prometheus custom resources
  • Simple VictoriaMetrics cluster installation, configuring, upgrading and managing with crd-objects.
  • Ability to delegate the configuration (parts of configuration) of applications monitoring to the end-users and managing access to different configurations or configuration sections.
  • Integration with VictoriaMetrics vmbackupmanager - advanced tools for making backups. Check Backup automation for VMSingle or Backup automation for VMCluster.
  • Everything you need for monitoring out of the box in k8s-stack helm chart with ready-made usecases and solutions.
  • Ability to template your own deployment scenarios.

Key Concepts

Kubernetes-operators

Kubernetes-operators are software extensions for Kubernetes that make use of custom resources to manage applications and their components. Operators follow Kubernetes principles, notably the control loop. It can be said that operators are custom controllers for Kubernetes that allow you to create business logic for custom resources.

Design and implementation of vmoperator inspired by prometheus-operator.

Useful links:

Custom resources

Kubernetes-Operators use custom resources for interaction. Custom resources are a mechanism built into Kubernetes that allows you to create your own extensions for Kubernetes, working on the same principles as those built into Kubernetes APIs. Custom resources make Kubernetes so modular and extensible.

In addition, thanks to CRD (Custom Resource Definitions), the mechanism of custom resources allows you to declare an API in the format of the OpenAPI specification and verify that the resources correspond to this API.

Reconciliation cycle

The main task of the operator is to bring the state of the cluster in line with what is declared by the user in the custom resources. This process of constant monitoring and adjustment is called the "Reconciliation cycle" - it is the operator's workflow.

The basic workflow of working with the operator can be simplified as the following diagram:

  • Operator declares and owns resources of Victoria Metrics.
  • Kubernetes validates of the resource according to the specification from CRD (see more in custom resources).
  • Operator subscribed to change events (create, update, delete) for related resources.
  • When an event occurs, the operator reacts and updates the state of the objects in the cluster.
  • For some objects in the cluster the reconciliation cycle is performed at a given interval, even without the occurrence of change events (see VM_FORCERESYNCINTERVAL).

Next steps

If you have any questions, check out our FAQ and feel free to can ask them:

If you have any suggestions or find a bug, please create an issue on GitHub.