docs: disable operator, helm docs sync (#8279)
### Describe Your Changes
exclude operator and helm charts docs sync as these repos will be synced
with vmdocs directly
### Checklist
The following checks are **mandatory**:
- [ ] My change adheres [VictoriaMetrics contributing
guidelines](https://docs.victoriametrics.com/contributing/).
(cherry picked from commit 5bdbafb9b6
)
|
@ -17,13 +17,15 @@ jobs:
|
|||
- name: Code checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: main
|
||||
path: __vm
|
||||
|
||||
- name: Checkout private code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: VictoriaMetrics/vmdocs
|
||||
token: ${{ secrets.VM_BOT_GH_TOKEN }}
|
||||
path: docs
|
||||
path: __vm-docs
|
||||
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@v6
|
||||
with:
|
||||
|
@ -31,21 +33,22 @@ jobs:
|
|||
passphrase: ${{ secrets.VM_BOT_PASSPHRASE }}
|
||||
git_user_signingkey: true
|
||||
git_commit_gpgsign: true
|
||||
workdir: docs
|
||||
- name: Set short git commit SHA
|
||||
id: vars
|
||||
git_config_global: true
|
||||
|
||||
- name: Copy docs
|
||||
id: update
|
||||
run: |
|
||||
calculatedSha=$(git rev-parse --short ${{ github.sha }})
|
||||
echo "short_sha=$calculatedSha" >> $GITHUB_OUTPUT
|
||||
working-directory: main
|
||||
- name: update code and commit
|
||||
rsync -zarv \
|
||||
--exclude="Makefile" \
|
||||
docs/ ../__vm-docs/content/victoriametrics
|
||||
echo "SHORT_SHA=$(git rev-parse --short $GITHUB_SHA)" >> $GITHUB_OUTPUT
|
||||
working-directory: __vm
|
||||
|
||||
- name: Push to vmdocs
|
||||
run: |
|
||||
rm -rf content
|
||||
cp -r ../main/docs content
|
||||
make clean-after-copy
|
||||
git config --global user.name "${{ steps.import-gpg.outputs.email }}"
|
||||
git config --global user.email "${{ steps.import-gpg.outputs.email }}"
|
||||
git add .
|
||||
git commit -S -m "sync docs with VictoriaMetrics/VictoriaMetrics commit: ${{ steps.vars.outputs.short_sha }}"
|
||||
git commit -S -m "sync docs with VictoriaMetrics/VictoriaMetrics commit: ${{ steps.update.outputs.SHORT_SHA }}
|
||||
git push
|
||||
working-directory: docs
|
||||
working-directory: __vm-docs
|
|
@ -19,7 +19,7 @@ docs-debug: docs docs-image
|
|||
--rm \
|
||||
--name vmdocs-docker-container \
|
||||
-p 1313:1313 \
|
||||
-v ./docs:/opt/docs/content vmdocs-docker-package
|
||||
-v ./docs:/opt/docs/content/victoriametrics vmdocs-docker-package
|
||||
|
||||
docs-update-version: docs-image
|
||||
$(if $(filter v%,$(PKG_TAG)), \
|
||||
|
@ -27,7 +27,7 @@ docs-update-version: docs-image
|
|||
--rm \
|
||||
--entrypoint /usr/bin/find \
|
||||
--name vmdocs-docker-container \
|
||||
-v ./docs:/opt/docs/content vmdocs-docker-package \
|
||||
-v ./docs:/opt/docs/content/victoriametrics vmdocs-docker-package \
|
||||
content \
|
||||
-regex ".*\.md" \
|
||||
-exec sed -i 's/{{% available_from "#" %}}/{{% available_from "$(PKG_TAG)" %}}/g' {} \;, \
|
||||
|
@ -38,7 +38,7 @@ docs-images-to-webp: docs-image
|
|||
--rm \
|
||||
--entrypoint /usr/bin/find \
|
||||
--name vmdocs-docker-container \
|
||||
-v ./docs:/opt/docs/content vmdocs-docker-package \
|
||||
-v ./docs:/opt/docs/content/victoriametrics vmdocs-docker-package \
|
||||
content \
|
||||
-regex ".*\.\(png\|jpg\|jpeg\)" \
|
||||
-exec sh -c 'cwebp -preset drawing -m 6 -o $$(echo {} | cut -f-1 -d.).webp {} && rm -rf {}' {} \;
|
||||
|
|
|
@ -10,357 +10,4 @@ menu:
|
|||
aliases:
|
||||
- /victorialogs/victorialogs-datasource.html
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
The VictoriaLogs datasource plugin allows you to query and visualize
|
||||
[VictoriaLogs](https://docs.victoriametrics.com/victorialogs/) data in [Grafana](https://grafana.com).
|
||||
|
||||
* [Installation](#installation)
|
||||
* [Getting started development](#getting-started-development)
|
||||
* [How to make new release](#how-to-make-new-release)
|
||||
* [Notes](#notes)
|
||||
* [License](#license)
|
||||
|
||||
## Installation
|
||||
|
||||
For detailed instructions on how to install the plugin in Grafana Cloud or locally,
|
||||
please checkout the [Plugin installation docs](https://grafana.com/docs/grafana/latest/plugins/installation/).
|
||||
|
||||
### Grafana Provisioning
|
||||
|
||||
Provisioning of Grafana plugin requires creating [datasource config file](http://docs.grafana.org/administration/provisioning/#datasources):
|
||||
|
||||
```yaml
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
# <string, required> Name of the VictoriaLogs datasource
|
||||
# displayed in Grafana panels and queries.
|
||||
- name: VictoriaLogs
|
||||
# <string, required> Sets the data source type.
|
||||
type: victoriametrics-logs-datasource
|
||||
# <string, required> Sets the access mode, either
|
||||
# proxy or direct (Server or Browser in the UI).
|
||||
access: proxy
|
||||
# <string> Sets URL for sending queries to VictoriaLogs server.
|
||||
# see https://docs.victoriametrics.com/victorialogs/querying/
|
||||
url: http://victorialogs:9428
|
||||
# <string> Sets the pre-selected datasource for new panels.
|
||||
# You can set only one default data source per organization.
|
||||
isDefault: true
|
||||
```
|
||||
|
||||
Please find the example of provisioning Grafana instance with VictoriaLogs datasource below:
|
||||
|
||||
1. Create a file at `./provisioning/datasources/vm.yml` with datasource example file.
|
||||
|
||||
1. Define Grafana installation via docker-compose:
|
||||
|
||||
```yaml
|
||||
version: '3.0'
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:11.0.0
|
||||
environment:
|
||||
- GF_INSTALL_PLUGINS=victoriametrics-logs-datasource
|
||||
ports:
|
||||
- 3000:3000/tcp
|
||||
volumes:
|
||||
- ./provisioning:/etc/grafana/provisioning
|
||||
```
|
||||
|
||||
1. Run docker-compose file:
|
||||
|
||||
```
|
||||
docker-compose -f docker-compose.yaml up
|
||||
```
|
||||
|
||||
After Grafana starts successfully, datasource should be available in the datasources tab
|
||||
|
||||

|
||||
|
||||
### Install in Kubernetes
|
||||
|
||||
#### Grafana helm chart
|
||||
|
||||
Example with Grafana [helm chart](https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md):
|
||||
|
||||
Option 1. Using Grafana provisioning:
|
||||
|
||||
``` yaml
|
||||
env:
|
||||
GF_INSTALL_PLUGINS: "victoriametrics-logs-datasource"
|
||||
```
|
||||
|
||||
Option 2. Using Grafana plugins section in `values.yaml`:
|
||||
|
||||
``` yaml
|
||||
plugins:
|
||||
- victoriametrics-logs-datasource
|
||||
```
|
||||
|
||||
Option 3. Using init container:
|
||||
|
||||
``` yaml
|
||||
extraInitContainers:
|
||||
- name: "load-vm-ds-plugin"
|
||||
image: "curlimages/curl:7.85.0"
|
||||
command: [ "/bin/sh" ]
|
||||
workingDir: "/var/lib/grafana"
|
||||
securityContext:
|
||||
runAsUser: 472
|
||||
runAsNonRoot: true
|
||||
runAsGroup: 472
|
||||
args:
|
||||
- "-c"
|
||||
- |
|
||||
set -ex
|
||||
mkdir -p /var/lib/grafana/plugins/
|
||||
ver=$(curl -s -L https://api.github.com/repos/VictoriaMetrics/victorialogs-datasource/releases/latest | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1)
|
||||
curl -L https://github.com/VictoriaMetrics/victorialogs-datasource/releases/download/$ver/victoriametrics-logs-datasource-$ver.tar.gz -o /var/lib/grafana/plugins/vl-plugin.tar.gz
|
||||
tar -xf /var/lib/grafana/plugins/vl-plugin.tar.gz -C /var/lib/grafana/plugins/
|
||||
rm /var/lib/grafana/plugins/vl-plugin.tar.gz
|
||||
volumeMounts:
|
||||
# For grafana-operator users, change `name: storage` to `name: grafana-data`
|
||||
- name: storage
|
||||
mountPath: /var/lib/grafana
|
||||
```
|
||||
|
||||
For `grafana-operator` users, the above configuration should be done for the part `/spec/deployment/spec/template/spec/initContainers` of your `kind=Grafana` resource.
|
||||
|
||||
This example uses init container to download and install plugin. To allow Grafana using this container as a sidecar set the following config:
|
||||
|
||||
```yaml
|
||||
sidecar:
|
||||
datasources:
|
||||
initDatasources: true
|
||||
enabled: true
|
||||
```
|
||||
|
||||
See more about chart settings [here](https://github.com/grafana/helm-charts/blob/541d97051de87a309362e02d08741ffc868cfcd6/charts/grafana/values.yaml)
|
||||
|
||||
Option 4. would be to build custom Grafana image with plugin based on same installation instructions.
|
||||
|
||||
#### Grafana operator
|
||||
|
||||
Example with Grafana [operator](https://github.com/grafana-operator/grafana-operator):
|
||||
|
||||
```yaml
|
||||
apiVersion: grafana.integreatly.org/v1beta1
|
||||
kind: Grafana
|
||||
metadata:
|
||||
name: grafana-vm
|
||||
labels:
|
||||
dashboards: grafana
|
||||
spec:
|
||||
persistentVolumeClaim:
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 200Mi
|
||||
deployment:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
initContainers:
|
||||
- name: "load-vm-ds-plugin"
|
||||
image: "curlimages/curl:7.85.0"
|
||||
command: [ "/bin/sh" ]
|
||||
workingDir: "/var/lib/grafana"
|
||||
securityContext:
|
||||
runAsUser: 472
|
||||
runAsNonRoot: true
|
||||
runAsGroup: 472
|
||||
args:
|
||||
- "-c"
|
||||
- |
|
||||
set -ex
|
||||
mkdir -p /var/lib/grafana/plugins/
|
||||
ver=$(curl -s https://api.github.com/repos/VictoriaMetrics/victorialogs-datasource/releases/latest | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1)
|
||||
curl -L https://github.com/VictoriaMetrics/victorialogs-datasource/releases/download/$ver/victoriametrics-logs-datasource-$ver.tar.gz -o /var/lib/grafana/plugins/vl-plugin.tar.gz
|
||||
tar -xf /var/lib/grafana/plugins/vl-plugin.tar.gz -C /var/lib/grafana/plugins/
|
||||
rm /var/lib/grafana/plugins/vl-plugin.tar.gz
|
||||
volumeMounts:
|
||||
- name: grafana-data
|
||||
mountPath: /var/lib/grafana
|
||||
```
|
||||
|
||||
See [Grafana operator reference](https://grafana-operator.github.io/grafana-operator/docs/grafana/) to find more about Grafana operator.
|
||||
This example uses init container to download and install plugin.
|
||||
|
||||
It is also possible to request plugin at `GrafanaDatasource` or `GrafanaDashboard` CRDs.
|
||||
For example:
|
||||
```yaml
|
||||
apiVersion: grafana.integreatly.org/v1beta1
|
||||
kind: GrafanaDatasource
|
||||
metadata:
|
||||
name: vl-datasource
|
||||
spec:
|
||||
datasource:
|
||||
access: proxy
|
||||
type: victoriametrics-logs-datasource
|
||||
name: VL
|
||||
url: http://victoria-logs-single-server.monitoring.svc.cluster.local:9428
|
||||
instanceSelector:
|
||||
matchLabels:
|
||||
dashboards: grafana
|
||||
plugins:
|
||||
- name: victoriametrics-logs-datasource
|
||||
version: "0.14.3"
|
||||
---
|
||||
apiVersion: grafana.integreatly.org/v1beta1
|
||||
kind: GrafanaDashboard
|
||||
metadata:
|
||||
name: vl-dashboard
|
||||
spec:
|
||||
resyncPeriod: 30s
|
||||
plugins:
|
||||
- name: victoriametrics-logs-datasource
|
||||
version: "0.14.3"
|
||||
instanceSelector:
|
||||
matchLabels:
|
||||
dashboards: "grafana"
|
||||
json: |
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": {
|
||||
"type": "grafana",
|
||||
"uid": "-- Grafana --"
|
||||
},
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 0,
|
||||
"links": [],
|
||||
"panels": [],
|
||||
"preload": false,
|
||||
"refresh": "",
|
||||
"schemaVersion": 40,
|
||||
"tags": [],
|
||||
"templating": {
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-6h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {},
|
||||
"timezone": "browser",
|
||||
"title": "Example",
|
||||
"version": 0,
|
||||
"weekStart": ""
|
||||
}
|
||||
```
|
||||
|
||||
### Dev release installation
|
||||
|
||||
1. To download plugin build and move contents into Grafana plugins directory:
|
||||
|
||||
``` sh
|
||||
ver=$(curl -s https://api.github.com/repos/VictoriaMetrics/victorialogs-datasource/releases/latest | grep -oE 'v[0-9]+\.[0-9]+\.[0-9]+' | head -1)
|
||||
curl -L https://github.com/VictoriaMetrics/victorialogs-datasource/releases/download/$ver/victoriametrics-logs-datasource-$ver.tar.gz -o /var/lib/grafana/plugins/vl-plugin.tar.gz
|
||||
tar -xf /var/lib/grafana/plugins/vl-plugin.tar.gz -C /var/lib/grafana/plugins/
|
||||
rm /var/lib/grafana/plugins/vl-plugin.tar.gz
|
||||
```
|
||||
|
||||
1. Restart Grafana
|
||||
|
||||
## Getting started development
|
||||
|
||||
### 1. Configure Grafana
|
||||
|
||||
Installing dev version of Grafana plugin requires to change `grafana.ini` config to allow loading unsigned plugins:
|
||||
|
||||
``` ini
|
||||
# Directory where Grafana will automatically scan and look for plugins
|
||||
plugins = {{path to directory with plugin}}
|
||||
```
|
||||
|
||||
``` ini
|
||||
[plugins]
|
||||
allow_loading_unsigned_plugins = victoriametrics-logs-datasource
|
||||
```
|
||||
|
||||
### 2. Run the plugin
|
||||
|
||||
In the project directory, you can run:
|
||||
|
||||
```sh
|
||||
# install dependencies
|
||||
yarn install
|
||||
|
||||
# run the app in the development mode
|
||||
yarn dev
|
||||
|
||||
# build the plugin for production to the `victoriametrics-logs-datasource` folder and zip build
|
||||
yarn build:zip
|
||||
```
|
||||
|
||||
### 3. How to build backend plugin
|
||||
|
||||
From the root folder of the project run the following command:
|
||||
|
||||
```
|
||||
make vl-backend-plugin-build
|
||||
```
|
||||
|
||||
This command will build executable multi-platform files to the `victoriametrics-logs-datasource` folder for the following platforms:
|
||||
|
||||
* linux/amd64
|
||||
* linux/arm64
|
||||
* linux/arm
|
||||
* linux/386
|
||||
* amd64
|
||||
* arm64
|
||||
* windows
|
||||
|
||||
### 4.How to build frontend plugin
|
||||
|
||||
From the root folder of the project run the following command:
|
||||
|
||||
```
|
||||
make vl-frontend-plugin-build
|
||||
```
|
||||
|
||||
This command will build all frontend app into `victoriametrics-logs-datasource` folder.
|
||||
|
||||
### 5. How to build frontend and backend parts of the plugin:
|
||||
|
||||
When frontend and backend parts of the plugin is required, run the following command from the root folder of the project:
|
||||
|
||||
```
|
||||
make vl-plugin-build
|
||||
```
|
||||
|
||||
This command will build frontend part and backend part or the plugin and locate both parts into `victoriametrics-logs-datasource` folder.
|
||||
|
||||
## How to make new release
|
||||
|
||||
1. Make sure there are no open security issues.
|
||||
1. Change version in package.json in a `main` branch
|
||||
1. Trigger [release pipeline](https://github.com/VictoriaMetrics/victorialogs-datasource/actions/workflows/release.yaml).
|
||||
1. Go to [releases page](https://github.com/VictoriaMetrics/victorialogs-datasource/releases) once pipeline is finished and verify release with the name `TAG` has been created and has all the needed binaries and checksums attached.
|
||||
|
||||
## Notes
|
||||
|
||||
In the `plugin.json` file of our plugin, the `metrics` field is set to `true`. This is not to support metric queries in the classical sense but to ensure our plugin can be selected in the Grafana panel editor.
|
||||
|
||||
For more information on the fields in `plugin.json`, please refer to the [Grafana documentation](https://grafana.com/developers/plugin-tools/reference-plugin-json#properties).
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under
|
||||
the [Apache 2.0 license](https://github.com/VictoriaMetrics/victorialogs-datasource/blob/main/LICENSE).
|
||||
{{% content "grafana-datasource/README.md" %}}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
# CHANGELOG
|
||||
|
||||
- See [CHANGELOG for `victoria-logs-single` helm chart](charts/victoria-logs-single/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-agent` helm chart](charts/victoria-metrics-agent/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-alert` helm chart](charts/victoria-metrics-alert/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-anomaly` helm chart](charts/victoria-metrics-anomaly/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-auth` helm chart](charts/victoria-metrics-auth/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-cluster` helm chart](charts/victoria-metrics-cluster/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-gateway` helm chart](charts/victoria-metrics-gateway/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-k8s-stack` helm chart](charts/victoria-metrics-k8s-stack/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-operator` helm chart](charts/victoria-metrics-operator/CHANGELOG.md)
|
||||
- See [CHANGELOG for `victoria-metrics-single` helm chart](charts/victoria-metrics-single/CHANGELOG.md)
|
|
@ -1,77 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](REQUIREMENTS.md).
|
||||
* [OPTIONAL] Configure authentication on your Github account to use the SSH protocol instead of HTTP. Watch this tutorial to learn how to set up: https://help.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account
|
||||
* Create a fork this repository.
|
||||
* Clone the forked repository to your local system:
|
||||
|
||||
```bash
|
||||
git clone URL_FORKED_REPOSITORY
|
||||
```
|
||||
|
||||
* Add the address for the remote original repository:
|
||||
|
||||
```bash
|
||||
git remote -v
|
||||
git remote add upstream https://github.com/VictoriaMetrics/helm-charts
|
||||
git remote -v
|
||||
```
|
||||
|
||||
* Create a branch. Example:
|
||||
|
||||
```bash
|
||||
git checkout -b BRANCH_NAME
|
||||
```
|
||||
|
||||
* Make sure you are on the correct branch using the following command. The branch in use contains the '*' before the name.
|
||||
|
||||
```bash
|
||||
git branch
|
||||
```
|
||||
|
||||
* Make your changes and tests to the new branch.
|
||||
* Run command ``helm-docs`` to update content of ``README.md`` file of all charts using the ``README.md.gotmpl`` template.
|
||||
* Add a line to the ``CHANGELOG.md`` file of the modified chart with the changes made.
|
||||
* Commit the changes to the branch.
|
||||
* Push files to repository remote with command:
|
||||
|
||||
```bash
|
||||
git push --set-upstream origin BRANCH_NAME
|
||||
```
|
||||
|
||||
* Create Pull Request (PR) to the `master` branch. See this [tutorial](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
|
||||
* Update the content with the suggestions of the reviewer (if necessary).
|
||||
* After your pull request is merged to the `master` branch, update your local clone:
|
||||
|
||||
```bash
|
||||
git checkout master
|
||||
git pull upstream master
|
||||
```
|
||||
|
||||
* Clean up after your pull request is merged with command:
|
||||
|
||||
```bash
|
||||
git branch -d BRANCH_NAME
|
||||
```
|
||||
|
||||
* Then you can update the ``master`` branch in your forked repository.
|
||||
|
||||
```bash
|
||||
git push origin master
|
||||
```
|
||||
|
||||
* And push the deletion of the feature branch to your GitHub repository with command:
|
||||
|
||||
```bash
|
||||
git push --delete origin BRANCH_NAME
|
||||
```
|
||||
|
||||
* To keep your fork in sync with the original repository, use these commands:
|
||||
|
||||
```bash
|
||||
git pull upstream master
|
||||
git push origin master
|
||||
```
|
||||
|
||||
Reference:
|
||||
* https://blog.scottlowe.org/2015/01/27/using-fork-branch-git-workflow/
|
|
@ -1,138 +0,0 @@
|
|||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
This repository contains helm charts for VictoriaMetrics and VictoriaLogs.
|
||||
|
||||
## Add a chart helm repository (can be skipped for OCI repository)
|
||||
|
||||
Access a Kubernetes cluster.
|
||||
|
||||
Add a chart helm repository with follow commands:
|
||||
|
||||
```console
|
||||
helm repo add vm https://victoriametrics.github.io/helm-charts/
|
||||
|
||||
helm repo update
|
||||
```
|
||||
|
||||
List [all charts](#list-of-charts) and versions of `vm` repository available to installation:
|
||||
|
||||
```console
|
||||
helm search repo vm/
|
||||
```
|
||||
|
||||
The command must display existing helm chart e.g.
|
||||
|
||||
```shell
|
||||
NAME CHART VERSION APP VERSION DESCRIPTION
|
||||
vm/victoria-logs-single 0.8.13 v1.5.0 Victoria Logs Single version - high-performance...
|
||||
vm/victoria-metrics-agent 0.15.5 v1.109.1 Victoria Metrics Agent - collects metrics from ...
|
||||
vm/victoria-metrics-alert 0.13.7 v1.109.1 Victoria Metrics Alert - executes a list of giv...
|
||||
vm/victoria-metrics-anomaly 1.6.11 v1.18.8 Victoria Metrics Anomaly Detection - a service ...
|
||||
vm/victoria-metrics-auth 0.8.5 v1.109.1 Victoria Metrics Auth - is a simple auth proxy ...
|
||||
vm/victoria-metrics-cluster 0.17.2 v1.109.1 Victoria Metrics Cluster version - high-perform...
|
||||
vm/victoria-metrics-distributed 0.7.3 v1.109.1 A Helm chart for Running VMCluster on Multiple ...
|
||||
vm/victoria-metrics-gateway 0.6.5 v1.109.1 Victoria Metrics Gateway - Auth & Rate-Limittin...
|
||||
vm/victoria-metrics-k8s-stack 0.33.5 v1.109.1 Kubernetes monitoring on VictoriaMetrics stack....
|
||||
vm/victoria-metrics-operator 0.40.4 v0.51.3 Victoria Metrics Operator
|
||||
vm/victoria-metrics-single 0.13.6 v1.109.1 Victoria Metrics Single version - high-performa...
|
||||
```
|
||||
|
||||
## Installing the chart
|
||||
|
||||
Export default values of `victoria-metrics-cluster` chart to file `values.yaml`:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm show values vm/victoria-metrics-cluster > values.yaml
|
||||
```
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-agent > values.yaml
|
||||
```
|
||||
|
||||
Change the values according to the need of the environment in ``values.yaml`` file.
|
||||
|
||||
Test the installation with command:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm install victoria-metrics vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run
|
||||
```
|
||||
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm install victoria-metrics oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE --debug --dry-run
|
||||
```
|
||||
|
||||
Install chart with command:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm install victoria-metrics vm/victoria-metrics-cluster -f values.yaml -n NAMESPACE
|
||||
```
|
||||
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm install victoria-metrics oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-cluster -f values.yaml -n NAMESPACE
|
||||
```
|
||||
|
||||
## Validate installation
|
||||
|
||||
Get the pods lists by running these commands:
|
||||
|
||||
```console
|
||||
kubectl get pods -A | grep 'victoria-metrics'
|
||||
|
||||
# or list all resorces of victoria-metrics
|
||||
|
||||
kubectl get all -n NAMESPACE | grep victoria
|
||||
```
|
||||
|
||||
Get the application by running this commands:
|
||||
|
||||
```console
|
||||
helm list -f victoria-metrics -n NAMESPACE
|
||||
```
|
||||
|
||||
See the history of versions of ``victoria-metrics`` application with command.
|
||||
|
||||
```console
|
||||
helm history victoria-metrics -n NAMESPACE
|
||||
```
|
||||
|
||||
## How to uninstall VictoriaMetrics
|
||||
|
||||
Remove application with command.
|
||||
|
||||
```console
|
||||
helm uninstall victoria-metrics -n NAMESPACE
|
||||
```
|
||||
|
||||
## Kubernetes compatibility versions
|
||||
|
||||
helm charts tested at kubernetes versions from 1.28 to 1.30.
|
||||
|
||||
## List of Charts
|
||||
|
||||
- [VictoriaLogs Single](https://docs.victoriametrics.com/helm/victorialogs-single)
|
||||
- [VictoriaMetrics Agent](https://docs.victoriametrics.com/helm/victoriametrics-agent)
|
||||
- [VictoriaMetrics Alert](https://docs.victoriametrics.com/helm/victoriametrics-alert)
|
||||
- [VictoriaMetrics Anomaly](https://docs.victoriametrics.com/helm/victoriametrics-anomaly)
|
||||
- [VictoriaMetrics Auth](https://docs.victoriametrics.com/helm/victoriametrics-auth)
|
||||
- [VictoriaMetrics Cluster](https://docs.victoriametrics.com/helm/victoriametrics-cluster)
|
||||
- [VictoriaMetrics Gateway](https://docs.victoriametrics.com/helm/victoriametrics-gateway)
|
||||
- [VictoriaMetrics Distributed](https://docs.victoriametrics.com/helm/victoriametrics-distributed)
|
||||
- [VictoriaMetrics K8s Stack](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack)
|
||||
- [VictoriaMetrics Operator](https://docs.victoriametrics.com/helm/victoriametrics-operator)
|
||||
- [VictoriaMetrics Single](https://docs.victoriametrics.com/helm/victoriametrics-single)
|
|
@ -1,143 +0,0 @@
|
|||
---
|
||||
weight: 0
|
||||
title: Requirements
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
parent: helm
|
||||
aliases:
|
||||
- /helm/requirements/index.html
|
||||
---
|
||||
## Kubernetes Cluster
|
||||
|
||||
You will need to create a Kubernetes cluster locally using [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube), [microk8s](https://microk8s.io), [kind](https://kind.sigs.k8s.io), [k3s](https://k3s.io) or other tools.
|
||||
|
||||
Or use Kubernetes cluster in [EKS](https://aws.amazon.com/eks), [GKE](https://cloud.google.com/kubernetes-engine), [AKS](https://docs.microsoft.com/en-us/azure/aks), [DOKS](https://www.digitalocean.com/products/kubernetes) or other cloud provider.
|
||||
|
||||
## Install Docker-CE
|
||||
|
||||
Follow instructions of page for install Docker-CE.
|
||||
|
||||
* Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/
|
||||
* Debian: https://docs.docker.com/install/linux/docker-ce/debian/
|
||||
* CentOS: https://docs.docker.com/install/linux/docker-ce/centos/
|
||||
* MacOS: https://docs.docker.com/docker-for-mac/install/
|
||||
|
||||
Start the Docker service, configure Docker to boot up with the OS and add your user to the Docker group.
|
||||
|
||||
```bash
|
||||
# Start the Docker service
|
||||
sudo systemctl start docker
|
||||
|
||||
# Configure Docker to boot up with the OS
|
||||
sudo systemctl enable docker
|
||||
|
||||
# Add your user to the Docker group
|
||||
sudo usermod -aG docker $USER
|
||||
sudo setfacl -m user:$USER:rw /var/run/docker.sock
|
||||
```
|
||||
|
||||
Source: https://docs.docker.com/engine/install/linux-postinstall/#configure-docker-to-start-on-boot
|
||||
|
||||
## Install Kubectl
|
||||
|
||||
Simple shell function for Kubectl installation in Linux 64 bits. Copy and paste this code:
|
||||
|
||||
```bash
|
||||
sudo su
|
||||
|
||||
VERSION=v1.22.2
|
||||
KUBECTL_BIN=kubectl
|
||||
|
||||
function install_kubectl {
|
||||
if [ -z $(which $KUBECTL_BIN) ]; then
|
||||
curl -LO https://storage.googleapis.com/kubernetes-release/release/$VERSION/bin/linux/amd64/$KUBECTL_BIN
|
||||
chmod +x ${KUBECTL_BIN}
|
||||
sudo mv ${KUBECTL_BIN} /usr/local/bin/${KUBECTL_BIN}
|
||||
sudo ln -sf /usr/local/bin/${KUBECTL_BIN} /usr/bin/${KUBECTL_BIN}
|
||||
else
|
||||
echo "Kubectl is most likely installed"
|
||||
fi
|
||||
}
|
||||
|
||||
install_kubectl
|
||||
|
||||
which kubectl
|
||||
|
||||
kubectl version --client
|
||||
|
||||
exit
|
||||
```
|
||||
|
||||
Kubectl documentation:
|
||||
|
||||
https://kubernetes.io/docs/reference/kubectl/overview/
|
||||
|
||||
**Credits:** Juan Pablo Perez - https://www.linkedin.com/in/juanpabloperezpeelmicro/
|
||||
|
||||
https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course
|
||||
|
||||
## Helm Docs
|
||||
|
||||
Run the following commands to install ``helm-docs``.
|
||||
|
||||
```bash
|
||||
HELM_DOCS_VERSION=1.5.0
|
||||
HELM_DOCS_PACKAGE=helm-docs_``$HELM_DOCS_VERSION``_linux_x86_64.tar.gz
|
||||
|
||||
cd /tmp
|
||||
|
||||
wget https://github.com/norwoodj/helm-docs/releases/download/v$HELM_DOCS_VERSION/$HELM_DOCS_PACKAGE
|
||||
|
||||
tar xzvf $HELM_DOCS_PACKAGE
|
||||
|
||||
sudo mv helm-docs /usr/local/bin/
|
||||
|
||||
sudo chmod +rx /usr/local/bin/helm-docs
|
||||
|
||||
helm-docs --version
|
||||
```
|
||||
|
||||
Documentation: https://github.com/norwoodj/helm-docs
|
||||
|
||||
The documentation generated by ``helm-docs`` is based on the contents of the ``values.yaml``, ``README.md.gotmpl`` and ``Chart.yaml`` file. It tries to overwrite the contents of the ``README.md`` file within the chart directory.
|
||||
|
||||
## Install Helm 3
|
||||
|
||||
Execute these commands to install helm 3.14+.
|
||||
|
||||
```bash
|
||||
sudo su
|
||||
|
||||
HELM_TAR_FILE=helm-v3.15.3-linux-amd64.tar.gz
|
||||
HELM_URL=https://get.helm.sh
|
||||
HELM_BIN=helm3
|
||||
|
||||
function install_helm3 {
|
||||
|
||||
if [ -z $(which $HELM_BIN) ]; then
|
||||
wget ${HELM_URL}/${HELM_TAR_FILE}
|
||||
tar -xvzf ${HELM_TAR_FILE}
|
||||
chmod +x linux-amd64/helm
|
||||
sudo cp linux-amd64/helm /usr/local/bin/$HELM_BIN
|
||||
sudo ln -sfn /usr/local/bin/$HELM_BIN /usr/local/bin/helm
|
||||
rm -rf ${HELM_TAR_FILE} linux-amd64
|
||||
echo -e "\nwhich ${HELM_BIN}"
|
||||
which ${HELM_BIN}
|
||||
else
|
||||
echo "Helm 3 is most likely installed"
|
||||
fi
|
||||
}
|
||||
|
||||
install_helm3
|
||||
which $HELM_BIN
|
||||
$HELM_BIN version
|
||||
|
||||
exit
|
||||
```
|
||||
|
||||
Documentation: https://helm.sh/docs/
|
||||
|
||||
**Credits**: Juan Pablo Perez - https://www.linkedin.com/in/juanpabloperezpeelmicro/
|
||||
|
||||
https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 0
|
||||
title: Helm Charts
|
||||
menu:
|
||||
docs:
|
||||
weight: 35
|
||||
identifier: helm
|
||||
pageRef: /helm/
|
||||
aliases:
|
||||
- /helm
|
||||
- /helm/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,503 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.8.16
|
||||
|
||||
**Release date:** 07 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- add `.Values.server.vmServiceScrape` for [VMOperator](https://docs.victoriametrics.com/operator/) [VMServiceScrape](https://docs.victoriametrics.com/operator/api/#vmservicescrape) resource
|
||||
- update victorialogs version to [v1.8.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.8.0-victorialogs)
|
||||
|
||||
## 0.8.15
|
||||
|
||||
**Release date:** 06 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- added ability to override default headless service .Values.server.service.clusterIP with empty value
|
||||
- vector chart 0.37.x -> 0.40.x
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
|
||||
## 0.8.14
|
||||
|
||||
**Release date:** 20 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- update victorialogs version to v1.6.1
|
||||
- add `.Values.statefulSet.updateStrategy`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1928) for details.
|
||||
|
||||
## 0.8.13
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- victorialogs version: v1.4.0 -> v1.5.0
|
||||
|
||||
## 0.8.12
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.37
|
||||
- Exclude markdown files from package
|
||||
- victorialogs version: v1.3.2 -> v1.4.0
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.8.11
|
||||
|
||||
**Release date:** 2024-12-09
|
||||
|
||||

|
||||

|
||||
|
||||
- victorialogs version: v1.1.0 -> v1.3.2
|
||||
|
||||
## 0.8.10
|
||||
|
||||
**Release date:** 2024-12-05
|
||||
|
||||

|
||||

|
||||
|
||||
- added `server.retentionDiskUsage` to control [retention by disk space](https://docs.victoriametrics.com/victorialogs/#retention-by-disk-space-usage). See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1845)
|
||||
- victorialogs version: v1.0.0 -> v1.1.0
|
||||
|
||||
## 0.8.9
|
||||
|
||||
**Release date:** 2024-12-03
|
||||
|
||||

|
||||

|
||||
|
||||
- do not set clusterIP value, when service type is not ClusterIP. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1838)
|
||||
|
||||
## 0.8.8
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- enable watch-config in vector by default
|
||||
- exclude default service port, when serviceMonitor.targetPort is defined
|
||||
|
||||
## 0.8.7
|
||||
|
||||
**Release date:** 2024-11-28
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.32 -> 0.0.33
|
||||
|
||||
## 0.8.6
|
||||
|
||||
**Release date:** 2024-11-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Use only pod FQDN for statefulsets in `vm.es.urls` template
|
||||
|
||||
## 0.8.5
|
||||
|
||||
**Release date:** 2024-11-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Added `vector.customConfigNamespace` to force Vector configmap creation in a given namespace even if vector.enabled: false
|
||||
- Added `service.targetPort` and `serviceMonitor.targetPort` to add ability to point service to one of extraContainers port, like oauth2-proxy
|
||||
|
||||
## 0.8.4
|
||||
|
||||
**Release date:** 2024-11-26
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.31 -> 0.0.32
|
||||
- synced rules and dashboards
|
||||
- added .Values.dashboards.namespace to override default namespace for dashboards
|
||||
|
||||
## 0.8.3
|
||||
|
||||
**Release date:** 2024-11-25
|
||||
|
||||

|
||||

|
||||
|
||||
- removed duplicated app label from dashboards. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1795).
|
||||
- synced dashboards
|
||||
|
||||
## 0.8.2
|
||||
|
||||
**Release date:** 2024-11-22
|
||||
|
||||

|
||||

|
||||
|
||||
- Removed redundant `VECTOR_SELF_NODE_NAME` env variable from vector values. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1727).
|
||||
- Added Vector dashboard. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1721).
|
||||
- updated common dependency 0.0.23 -> 0.0.31
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
- Upgraded VictoriaLogs 0.41.0 -> 1.0.0
|
||||
|
||||
## 0.8.1
|
||||
|
||||
**Release date:** 2024-11-08
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.21 -> 0.0.23
|
||||
- added `log.message` to a list of default vector message fields
|
||||
|
||||
## 0.8.0
|
||||
|
||||
**Release date:** 2024-11-08
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note 1**: In a response to multiple collector related configuration feature requests and inability to use fluent-bit YAML configuration parser to provide
|
||||
ability easily override parts of default configuration we've considered using Vector as a default logs collector instead of fluent-bit.
|
||||
Please consider using [vector chart docs](https://github.com/vectordotdev/helm-charts/tree/develop/charts/vector) values under `vector` key
|
||||
to update your agent configuration if you are using it.
|
||||
|
||||
- Allow selecting multiple/all instances in a dashboard. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1699)
|
||||
- Upgraded VictoriaLogs 0.40.0 -> 0.41.0
|
||||
- Replaced default fluent-bit collector with vector
|
||||
- Parsed json fields are now nested into `log` key. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1708)
|
||||
- updated common dependency 0.0.19 -> 0.0.21
|
||||
|
||||
## 0.7.3
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- made message, time, stream fields configurable. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1695)
|
||||
|
||||
## 0.7.2
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to override PVC name for Deployment
|
||||
- updated dashboards
|
||||
- added JSON parsing
|
||||
- upgraded victorialogs 0.37.0 -> 0.40.0
|
||||
- made configurable service port in fluent-bit output config. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1693)
|
||||
|
||||
## 0.7.1
|
||||
|
||||
**Release date:** 2024-10-25
|
||||
|
||||

|
||||

|
||||
|
||||
- Support multiple paths for a single ingress domain
|
||||
|
||||
## 0.7.0
|
||||
|
||||
**Release date:** 2024-10-25
|
||||
|
||||

|
||||

|
||||
|
||||
- Added grafana dashboard. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1590)
|
||||
- Custom fluent-bit template to push data to multiple VLogs instances when replica count is greater than 1
|
||||
|
||||
## 0.6.6
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.6.5
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
|
||||
## 0.6.4
|
||||
|
||||
**Release date:** 2024-09-23
|
||||
|
||||

|
||||

|
||||
|
||||
- VictoriaLogs 0.29.0
|
||||
- Fixed host template in default fluent-bit output configuration
|
||||
|
||||
## 0.6.3
|
||||
|
||||
**Release date:** 2024-09-16
|
||||
|
||||

|
||||

|
||||
|
||||
- Avoid variant if tag is set explicitly
|
||||
|
||||
## 0.6.2
|
||||
|
||||
**Release date:** 2024-09-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Made replicas configurable
|
||||
- Allow override default for statefulset headless service
|
||||
|
||||
## 0.6.1
|
||||
|
||||
**Release date:** 2024-09-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to configure container port
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Renamed `.Values.server.persistentVolume.storageClass` to `.Values.server.persistentVolume.storageClassName`
|
||||
- Removed necessity to set `.Values.server.persistentVolume.existingClaim` when volume is expected to be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189)
|
||||
- Fixed PVC in StatefulSet
|
||||
|
||||
## 0.6.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
**Update note**: main container name was changed to `vlogs`, which will recreate a pod.
|
||||
|
||||
**Update note**: requires Helm 3.14+
|
||||
|
||||
- Added `basicAuth` support for `ServiceMonitor`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Updated `.Values.server.readinessProbe` to `.Values.server.probe.readiness`
|
||||
- Updated `.Values.server.livenessProbe` to `.Values.server.probe.liveness`
|
||||
- Updated `.Values.server.startupProbe` to `.Values.server.probe.startup`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Added `.Values.server.emptyDir` to customize default data directory
|
||||
- Merged headless and non-headless services, removed statefulset service specific variables
|
||||
- Use static container names in a pod
|
||||
- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support
|
||||
- Added `.Values.server.service.ipFamilies` and `.Values.server.service.ipFamilyPolicy` for service IP family management
|
||||
|
||||
## 0.5.4
|
||||
|
||||
**Release date:** 2024-07-25
|
||||
|
||||

|
||||

|
||||
|
||||
- update VictoriaLogs to [v0.28.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.28.0-victorialogs).
|
||||
|
||||
## 0.5.3
|
||||
|
||||
**Release date:** 2024-07-08
|
||||
|
||||

|
||||

|
||||
|
||||
- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092).
|
||||
|
||||
## 0.5.2
|
||||
|
||||
**Release date:** 2024-06-17
|
||||
|
||||

|
||||

|
||||
|
||||
- fix invalid label selector usage in notes printed after chart installation
|
||||
|
||||
## 0.5.1
|
||||
|
||||
**Release date:** 2024-05-30
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaLogs to [v0.15.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.15.0-victorialogs).
|
||||
|
||||
## 0.5.0
|
||||
|
||||
**Release date:** 2024-05-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update fluent-bit chart to 0.46.7 and fluentbit to 3.0.4
|
||||
- Update VictoriaLogs version to 0.9.1
|
||||
|
||||
## 0.4.0
|
||||
|
||||
**Release date:** 2024-05-20
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgrade VictoriaLogs to [v0.8.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.8.0-victorialogs)
|
||||
- Move `.Values.server.name`, `.Values.server.fullnameOverride` to `.Values.global.victoriaLogs.server`. This allows to avoid issues with Fluent Bit output definition. See the [pull request]() for the details.
|
||||
- Include `kubernetes_namespace_name` field in the [stream fields](https://docs.victoriametrics.com/victorialogs/keyconcepts/#stream-fields) configuration of Fluent Bit output.
|
||||
|
||||
## 0.3.8
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters.
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.3.7
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of victorialogs to [0.5.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.5.2-victorialogs)
|
||||
|
||||
## 0.3.6
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.3.5
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of vlogs single to [0.5.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.5.0-victorialogs)
|
||||
|
||||
## 0.3.4
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of vlogs single to [0.4.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.4.2-victorialogs)
|
||||
|
||||
## 0.3.3
|
||||
|
||||
**Release date:** 2023-10-10
|
||||
|
||||

|
||||

|
||||
|
||||
- Add `kubernetes_container_name` into default [stream fields](https://docs.victoriametrics.com/victorialogs/keyconcepts#stream-fields) configuration `fluent-bit`.
|
||||
|
||||
## 0.3.2
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of vlogs single to [0.4.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.4.1-victorialogs)
|
||||
|
||||
## 0.3.1
|
||||
|
||||
**Release date:** 2023-09-13
|
||||
|
||||

|
||||

|
||||
|
||||
* added: extraObjects: [] for dynamic supportive objects configuration
|
||||
|
||||
## 0.3.0
|
||||
|
||||
**Release date:** 2023-08-15
|
||||
|
||||

|
||||

|
||||
|
||||
* vlogs-single: update to 0.3.0 (#598)
|
||||
* Remove repeated volumeMounts section (#610)
|
||||
|
||||
## 0.1.3
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
* vlogs-single: fix podSecurityContext and securityContext usage (#597)
|
||||
* charts/victoria-logs-single: fix STS render when using statefulset is disabled (#585)
|
||||
* charts/victoria-logs-single: add imagePullSecrets (#586)
|
||||
|
||||
## 0.1.2
|
||||
|
||||
**Release date:** 2023-06-23
|
||||
|
||||

|
||||

|
||||
|
||||
* bump version of logs single
|
||||
* Fix wrong condition on fluent-bit dependency (#568)
|
||||
|
||||
### Default value changes
|
||||
|
||||
```diff
|
||||
# No changes in this release
|
||||
```
|
||||
|
||||
## 0.1.1
|
||||
|
||||
**Release date:** 2023-06-22
|
||||
|
||||

|
||||

|
||||
|
||||
* charts/victoria-logs-single: template Host field (#566)
|
||||
|
||||
## 0.1.0
|
||||
|
||||
**Release date:** 2023-06-22
|
||||
|
||||

|
||||

|
||||
|
||||
* fix the chart image and jsonline endpoint
|
||||
* add victoria-logs to build process, make package
|
||||
* charts/victoria-logs-single: add fluentbit setup (#563)
|
||||
|
||||
## 0.0.1
|
||||
|
||||
**Release date:** 2023-06-12
|
||||
|
||||

|
||||

|
||||
|
||||
* charts/victoria-logs-single: add new chart (#560)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victorialogs-single-changelog
|
||||
parent: helm-victorialogs-single
|
||||
url: /helm/victorialogs-single/changelog
|
||||
aliases:
|
||||
- /helm/victorialogs-single/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: VictoriaLogs Single
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 1
|
||||
identifier: helm-victorialogs-single
|
||||
url: /helm/victorialogs-single
|
||||
aliases:
|
||||
- /helm/victorialogs-single/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,542 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.15.8
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.15.7
|
||||
|
||||
**Release date:** 05 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- added `.Values.allowedMetricsEndpoints` to set allowed scrape endpoints. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1970) for details.
|
||||
|
||||
## 0.15.6
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.15.5
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.15.4
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.15.3
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Exclude markdown files from package
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.15.2
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- bump version of VM components to [v1.108.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
|
||||
## 0.15.1
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.15.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.31 -> 0.0.33
|
||||
- Added service.targetPort and serviceMonitor.targetPort to add ability to point service to one of extraContainers port, like oauth2-proxy
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.14.9
|
||||
|
||||
**Release date:** 2024-11-22
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.28 -> 0.0.31
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
|
||||
## 0.14.8
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.23 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.14.7
|
||||
|
||||
**Release date:** 2024-11-12
|
||||
|
||||

|
||||

|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.23
|
||||
- added template for configmap name
|
||||
- fixed statefulset variable name typo
|
||||
|
||||
## 0.14.6
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- Use only podLabels as extra labels for pods
|
||||
- Renamed `.Values.statefulset` to `.Values.statefulSet` for consistency
|
||||
- Fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
|
||||
## 0.14.5
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.14.4
|
||||
|
||||
**Release date:** 2024-10-29
|
||||
|
||||

|
||||

|
||||
|
||||
- Support HPA for Statefulset
|
||||
|
||||
## 0.14.3
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.14.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.14.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
|
||||
## 0.14.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.13.0
|
||||
|
||||
**Release date:** 2024-09-27
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: `remoteWriteUrls` and `multiTenantUrls` parameters were replaced by `remoteWrite`. Please follow [upgrade guide](./README.md#upgrade-to-0130)
|
||||
|
||||
- Fail if no remoteWriteUrls set
|
||||
- Added `remoteWrite` array param, which can contain all `remoteWrite.*` flag values. Please check chart docs for details.
|
||||
|
||||
## 0.12.2
|
||||
|
||||
**Release date:** 2024-09-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Removed deprecated API from RBAC. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1438)
|
||||
|
||||
## 0.12.1
|
||||
|
||||
**Release date:** 2024-09-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Fixed PVC in StatefulSet
|
||||
|
||||
## 0.12.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
- Added ability to configure container port
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Removed necessity to set `.Values.persistentVolume.existingClaim` when volume is expected to be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189)
|
||||
|
||||
## 0.11.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: main container name was changed to `vmagent`, which will recreate a pod.
|
||||
|
||||
**Update note**: requires Helm 3.14+
|
||||
|
||||
- Removed `PodSecurityPolicy`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Added params to configure probes `.Values.probe.readiness`, `.Values.probe.liveness` and `.Values.probe.startup`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Added `.Values.emptyDir` to customize default cache directory
|
||||
- Use static container names in a pod
|
||||
- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support
|
||||
- Added `.Values.service.ipFamilies` and `.Values.service.ipFamilyPolicy` for service IP family management
|
||||
|
||||
## 0.10.14
|
||||
|
||||
**Release date:** 2024-08-14
|
||||
|
||||

|
||||

|
||||
|
||||
- add basicAuth support for ServiceMonitor
|
||||
- fix license volume mount when using statefulset mode
|
||||
|
||||
## 0.10.13
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.10.12
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- fix possible template error when `.Values.rbac.namespaced=true`. Thanks to @guptaachin for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1179).
|
||||
|
||||
## 0.10.11
|
||||
|
||||
**Release date:** 2024-07-23
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0)
|
||||
|
||||
## 0.10.10
|
||||
|
||||
**Release date:** 2024-07-08
|
||||
|
||||

|
||||

|
||||
|
||||
- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092).
|
||||
|
||||
## 0.10.9
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.10.8
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 0.10.7
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.10.6
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters.
|
||||
- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0)
|
||||
|
||||
## 0.10.5
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1)
|
||||
|
||||
## 0.10.4
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.10.3
|
||||
|
||||
**Release date:** 2024-03-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Actually fix templating of HPA for vmagent. Previously, it was rendered with incorrect `kind` and thus was unusable. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/922).
|
||||
|
||||
## 0.10.2
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0)
|
||||
|
||||
## 0.10.1
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix templating of HPA for vmagent. Previously, it was rendered with incorrect `kind` and thus was unusable. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/905).
|
||||
|
||||
## 0.10.0
|
||||
|
||||
**Release date:** 2024-02-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Add ability to use HPA for vmagent. See [this](https://github.com/VictoriaMetrics/helm-charts/pull/863) pull request.
|
||||
|
||||
## 0.9.17
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1)
|
||||
|
||||
## 0.9.16
|
||||
|
||||
**Release date:** 2023-12-20
|
||||
|
||||

|
||||

|
||||
|
||||
- Add init containers for deployment and statefulset. See [#806](https://github.com/VictoriaMetrics/helm-charts/pull/806) by @MemberIT.
|
||||
|
||||
## 0.9.15
|
||||
|
||||
**Release date:** 2023-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix configuration of volume mount for license key referenced by using secret.
|
||||
|
||||
## 0.9.14
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0)
|
||||
|
||||
## 0.9.13
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1)
|
||||
|
||||
## 0.9.12
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0)
|
||||
|
||||
## 0.9.11
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0)
|
||||
- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.9.10
|
||||
|
||||
**Release date:** 2023-09-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5)
|
||||
|
||||
## 0.9.9
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4)
|
||||
|
||||
## 0.9.8
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of vmagent to `v1.93.3`
|
||||
|
||||
## 0.9.6
|
||||
|
||||
**Release date:** 2023-08-30
|
||||
|
||||

|
||||

|
||||
|
||||
- fix `honor_timestamps` field for cadvisor scrape job (#626)
|
||||
|
||||
## 0.9.5
|
||||
|
||||
**Release date:** 2023-08-24
|
||||
|
||||

|
||||

|
||||
|
||||
- Disable `honorTimestamps` for cadvisor scrape job by default (#617)
|
||||
|
||||
## 0.9.4
|
||||
|
||||
**Release date:** 2023-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.93.0 to v1.93.1
|
||||
|
||||
## 0.9.3
|
||||
|
||||
**Release date:** 2023-08-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.1 to v1.93.0
|
||||
|
||||
## 0.9.2
|
||||
|
||||
**Release date:** 2023-07-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599)
|
||||
|
||||
## 0.9.1
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.91.3 to v1.92.0
|
||||
- make package merge gen-docs
|
||||
|
||||
## 0.9.0
|
||||
|
||||
**Release date:** 2023-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of agent, alert, auth, cluster, single
|
||||
- feat(vmagent): Add support for topologySpreadConstraints field (#583)
|
||||
- Feat: Add custom objects to vma helm charts (#558)
|
||||
- fix(vmagent): Use endpoints instead of endpointslices on kubernetes-apiservers (#574)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-agent-changelog
|
||||
parent: helm-victoriametrics-agent
|
||||
url: /helm/victoriametrics-agent/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-agent/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 2
|
||||
title: VictoriaMetrics Agent
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 2
|
||||
identifier: helm-victoriametrics-agent
|
||||
url: /helm/victoriametrics-agent
|
||||
aliases:
|
||||
- /helm/victoriametrics-agent/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,481 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.13.9
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.13.8
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.13.7
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.13.6
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.13.5
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Exclude markdown files from package
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.13.4
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- bump version of VM components to [v1.108.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
|
||||
## 0.13.3
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.13.2
|
||||
|
||||
**Release date:** 2024-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Alertmanager 0.25.0 -> 0.27.0
|
||||
|
||||
## 0.13.1
|
||||
|
||||
**Release date:** 2024-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- removed .Values.server.enabled, vmalert is now always enabled
|
||||
|
||||
## 0.13.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.28 -> 0.0.33
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.12.6
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updated context for serviceaccount name
|
||||
- updated common dependency 0.0.23 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.12.5
|
||||
|
||||
**Release date:** 2024-11-12
|
||||
|
||||

|
||||

|
||||
|
||||
- changed `alertmanager.podMetadata.labels` to `alertmanager.podLabels`
|
||||
- changed `alertmanager.podMetadata.annotations` to `alertmanager.podAnnotations`
|
||||
- fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.23
|
||||
- added template for configmap name. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1734)
|
||||
|
||||
## 0.12.4
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- use common templates
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.12.3
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.12.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.12.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
|
||||
## 0.12.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.11.1
|
||||
|
||||
**Release date:** 2024-09-10
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Updated alertmanager args for IPv6 compatibility. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/856)
|
||||
- Added ability to set init containers for alertmanager and vmalert pods
|
||||
|
||||
## 0.11.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
- Added ability to configure container port
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Renamed `.Values.alertmanager.persistentVolume.storageClass` to `.Values.alertmanager.persistentVolume.storageClassName`
|
||||
|
||||
## 0.10.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: `vmalert` main container name was changed to `vmalert`, which will recreate a pod.
|
||||
|
||||
**Update note**: `alertmanager` main container name was changed to `alertmanager`, which will recreate a pod.
|
||||
|
||||
**Update note**: requires Helm 3.14+
|
||||
|
||||
- Added `basicAuth` support for `ServiceMonitor`
|
||||
- Removed `PodSecurityPolicy`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Added `.Values.alertmanager.emptyDir` to customize default cache directory
|
||||
- Addded alertmanager service `.Values.alertmanager.service.externalTrafficPolicy` and `.Values.alertmanager.service.healthCheckNodePort`
|
||||
- Use static container names in a pod
|
||||
- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support
|
||||
- Added `.Values.server.service.ipFamilies`, `.Values.server.service.ipFamilyPolicy`, `.Values.alertmanager.service.ipFamilies` and `.Values.alertmanager.service.ipFamilyPolicy` for services IP family management
|
||||
|
||||
## 0.9.12
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.9.11
|
||||
|
||||
**Release date:** 2024-07-23
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0)
|
||||
|
||||
## 0.9.10
|
||||
|
||||
**Release date:** 2024-07-17
|
||||
|
||||

|
||||

|
||||
|
||||
- add an option to provide additional environment variables for Alertmanager via `.Values.alertmanager.envFrom`.
|
||||
|
||||
## 0.9.9
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.9.8
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 0.9.7
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.9.6
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters.
|
||||
- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0)
|
||||
|
||||
## 0.9.5
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1)
|
||||
|
||||
## 0.9.4
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.9.3
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
## 0.9.2
|
||||
|
||||
**Release date:** 2024-02-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix possible null value on flag `notifier.url`, `remoteRead.url` and `remoteWrite.url` in vmalert deployment.
|
||||
- Fix alertmanager using some of server's values in its deployment template.
|
||||
|
||||
## 0.9.1
|
||||
|
||||
**Release date:** 2024-02-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Allow overriding Alertmanager listen address and port via `alertmanager.listenAddress`.
|
||||
|
||||
## 0.9.0
|
||||
|
||||
**Release date:** 2024-02-22
|
||||
|
||||

|
||||

|
||||
|
||||
- Support adding extra arguments, containers, volumes and volume mounts to the alertmanager deployment.
|
||||
- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0)
|
||||
|
||||
## 0.8.7
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1)
|
||||
|
||||
## 0.8.6
|
||||
|
||||
**Release date:** 2023-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix configuration of volume mount for license key referenced by using secret.
|
||||
|
||||
## 0.8.5
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0)
|
||||
|
||||
## 0.8.4
|
||||
|
||||
**Release date:** 2023-12-08
|
||||
|
||||

|
||||

|
||||
|
||||
- fix `notifier.url` check, as it's only needed when alerting rule is used. (#767)
|
||||
|
||||
## 0.8.3
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1)
|
||||
|
||||
## 0.8.2
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0)
|
||||
|
||||
## 0.8.1
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0)
|
||||
- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.8.0
|
||||
|
||||
**Release date:** 2023-09-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Add `extraObjects` which to allow deploying additional resources with the chart release (#689)
|
||||
- Fix vmalert notifier address if builtin alertmanager is enabled and using baseURLPrefix.
|
||||
|
||||
## 0.7.8
|
||||
|
||||
**Release date:** 2023-09-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix misplaced `imagePullSecrets` for server (#675)
|
||||
- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5)
|
||||
|
||||
## 0.7.7
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4)
|
||||
|
||||
## 0.7.6
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of vmalert to `v1.93.3`
|
||||
|
||||
## 0.7.4
|
||||
|
||||
**Release date:** 2023-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.93.0 to v1.93.1
|
||||
|
||||
## 0.7.3
|
||||
|
||||
**Release date:** 2023-08-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.1 to v1.93.0
|
||||
|
||||
## 0.7.2
|
||||
|
||||
**Release date:** 2023-07-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599)
|
||||
|
||||
## 0.7.1
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.91.3 to v1.92.0
|
||||
- fix misused securityContext and podSecurityContext (#592)
|
||||
|
||||
## 0.7.0
|
||||
|
||||
**Release date:** 2023-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of agent, alert, auth, cluster, single
|
||||
- Update liveness/readiness probes in deployment template with custom values for victoriametrics-alert (#549)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-alert-changelog
|
||||
parent: helm-victoriametrics-alert
|
||||
url: /helm/victoriametrics-alert/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-alert/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 3
|
||||
title: VictoriaMetrics Alert
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 3
|
||||
identifier: helm-victoriametrics-alert
|
||||
url: /helm/victoriametrics-alert
|
||||
aliases:
|
||||
- /helm/victoriametrics-alert/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,462 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
|
||||
## 1.7.2
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.19.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1192).
|
||||
|
||||
## 1.7.1
|
||||
|
||||
**Release date:** 21 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.19.1](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1191).
|
||||
|
||||
## 1.7.0
|
||||
|
||||
**Release date:** 21 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.19.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1190).
|
||||
- updated common dependency 0.0.34 -> 0.0.37
|
||||
- Exclude markdown files from package
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 1.6.11
|
||||
|
||||
**Release date:** 2024-12-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.8](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1188).
|
||||
|
||||
## 1.6.10
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.7](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1187).
|
||||
|
||||
## 1.6.9
|
||||
|
||||
**Release date:** 2024-12-01
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.6](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1186).
|
||||
- updated common dependency 0.0.32 -> 0.0.33
|
||||
|
||||
## 1.6.8
|
||||
|
||||
**Release date:** 2024-11-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.5](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1185).
|
||||
- updated common dependency 0.0.28 -> 0.0.32
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
|
||||
## 1.6.7
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.4](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1184).
|
||||
- updated common dependency 0.0.23 -> 0.0.28
|
||||
|
||||
## 1.6.6
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded ['vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.3](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1183). This is a patch release that fixes a service crash during parallelized data processing with [VmReader](https://docs.victoriametrics.com/anomaly-detection/components/reader/#vm-reader).
|
||||
|
||||
|
||||
## 1.6.5
|
||||
|
||||
**Release date:** 2024-11-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded [`vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1182)
|
||||
|
||||
## 1.6.4
|
||||
|
||||
**Release date:** 2024-11-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded [`vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.1](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1181)
|
||||
- use common templates
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- added podLabels and podAnnotations to add extra pod labels and annotations
|
||||
- updated common dependency 0.0.19 -> 0.0.23
|
||||
|
||||
## 1.6.3
|
||||
|
||||
**Release date:** 2024-10-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded [`vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.18.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1180)
|
||||
|
||||
## 1.6.2
|
||||
|
||||
**Release date:** 2024-10-22
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded [`vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.17.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1172)
|
||||
|
||||
## 1.6.1
|
||||
|
||||
**Release date:** 2024-10-18
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded [`vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.17.1](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1171)
|
||||
|
||||
## 1.6.0
|
||||
|
||||
**Release date:** 2024-10-17
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded [`vmanomaly`](https://docs.victoriametrics.com/anomaly-detection/) to [1.17.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1170)
|
||||
|
||||
## 1.5.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 1.5.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded common chart dependency
|
||||
|
||||
## 1.5.0
|
||||
|
||||
**Release date:** 2024-10-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Upgraded vmanomaly to [1.16.1](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1161)
|
||||
- Added the ability to enable persistence for models and data via `.Values.persistentVolume.dumpModels` and `.Values.persistentVolume.dumpData` variables respectively.
|
||||
- Fix default `podSecurityContext` configuration to ensure fs group matches container user.
|
||||
- Fix passing empty `tenant_id` in case tenant is not defined in values.
|
||||
|
||||
## 1.4.6
|
||||
|
||||
**Release date:** 2024-09-16
|
||||
|
||||

|
||||

|
||||
|
||||
- Added the ability to add annotations to the configMap using `values.configMapAnnotations`
|
||||
- Fixed license file flag name
|
||||
|
||||
## 1.4.5
|
||||
|
||||
**Release date:** 2024-09-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Removed vmanomaly not existing `loggerFormat` extra arg. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1476)
|
||||
|
||||
## 1.4.4
|
||||
|
||||
**Release date:** 2024-09-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Fixed PVC in StatefulSet
|
||||
|
||||
## 1.4.3
|
||||
|
||||
**Release date:** 2024-08-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Removed `eula` support
|
||||
- Disable PodMonitor, when pull port is not defined
|
||||
- Upgraded application version to 1.15.9
|
||||
- Fixed default podDisruptionBudget configuration
|
||||
|
||||
## 1.4.2
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||

|
||||
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Fixed volume template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1280)
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Renamed `.Values.persistentVolume.storageClass` to `.Values.persistentVolume.storageClassName`
|
||||
- Removed necessity to set `.Values.persistentVolume.existingClaim` when it should be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189)
|
||||
- Added PDB, PodMonitor, extra volumes and extra volumeMounts
|
||||
|
||||
## 1.4.1
|
||||
|
||||
**Release date:** 2024-08-15
|
||||
|
||||

|
||||

|
||||
|
||||
- Update vmanomaly to [v1.15.4](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1154).
|
||||
|
||||
## 1.4.0
|
||||
|
||||
**Release date:** 2024-08-14
|
||||
|
||||

|
||||

|
||||
|
||||
- Update vmanomaly to [v1.15.3](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1153).
|
||||
- Update configuration example format to match the latest version of vmanomaly.
|
||||
|
||||
## 1.3.4
|
||||
|
||||
**Release date:** 2024-07-19
|
||||
|
||||

|
||||

|
||||
|
||||
- leave empty `schedulers` and `models` section to fix aliases error
|
||||
|
||||
## 1.3.3
|
||||
|
||||
**Release date:** 2024-07-17
|
||||
|
||||

|
||||

|
||||
|
||||
- fix default value for `.Values.config.schedulers.class`.
|
||||
|
||||
## 1.3.2
|
||||
|
||||
**Release date:** 2024-07-17
|
||||
|
||||

|
||||

|
||||
|
||||
- changes made for vmanomaly [v1.13.2](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1132)
|
||||
|
||||
## 1.3.1
|
||||
|
||||
**Release date:** 2024-07-08
|
||||
|
||||

|
||||

|
||||
|
||||
- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092).
|
||||
|
||||
## 1.3.0
|
||||
|
||||
**Release date:** 2024-06-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Add ability to configure persistent volume for vmanomaly models storage.
|
||||
- Fix `.Values.podSecurityContext` not being applied to the pod.
|
||||
- Update vmanomaly to [v1.13.0](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1130).
|
||||
|
||||
## 1.2.4
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 1.2.3
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 1.2.2
|
||||
|
||||
**Release date:** 2024-04-02
|
||||
|
||||

|
||||

|
||||
|
||||
- apply [v1.12](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1120) as a default (no config changes).
|
||||
|
||||
## 1.2.1
|
||||
|
||||
**Release date:** 2024-03-20
|
||||
|
||||

|
||||

|
||||
|
||||
- Add support of passing preset configuration.
|
||||
|
||||
## 1.2.0
|
||||
|
||||
**Release date:** 2024-02-26
|
||||
|
||||

|
||||

|
||||
|
||||
- apply [v1.11](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1110) change in [schedulers section](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/): add configuration for using multiple schedulers at once via `schedulers`. Old `scheduler` field is deprecated and will be automatically converted to `schedulers` definition starting from [v1.11](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1110).
|
||||
- docs fixes
|
||||
|
||||
## 1.1.1
|
||||
|
||||
**Release date:** 2024-02-20
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix passing path to license file location when using `license.secret` mount.
|
||||
|
||||
## 1.1.0
|
||||
|
||||
**Release date:** 2024-02-19
|
||||
|
||||

|
||||

|
||||
|
||||
- apply [v1.10](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1100) change in [models section](https://docs.victoriametrics.com/anomaly-detection/components/models/): add configuration for using multiple models at once via `models`. Old `model` field is deprecated and will be automatically converted to `models` definition starting from [v1.10](https://docs.victoriametrics.com/anomaly-detection/changelog/#v1100).
|
||||
- docs fixes
|
||||
|
||||
## 1.0.0
|
||||
|
||||
**Release date:** 2024-02-05
|
||||
|
||||

|
||||

|
||||
|
||||
- Breaking change: passing [full vmanomaly config](https://docs.victoriametrics.com/anomaly-detection/components/) via `config` parameter.
|
||||
- vmanomaly image moving to DockerHub
|
||||
|
||||
## 0.5.0
|
||||
|
||||
**Release date:** 2023-10-31
|
||||
|
||||

|
||||

|
||||
|
||||
- Add options to use `bearer_token` for reader and writer authentication.
|
||||
- Add `verify_tls` option to bypass TLS verification for reader and writer.
|
||||
- Add `extra_filters` option to supply additional filters to enforce for reader queries.
|
||||
|
||||
## 0.4.1
|
||||
|
||||
**Release date:** 2023-10-10
|
||||
|
||||

|
||||

|
||||
|
||||
- Add an options to override default `metric_format` for remote write configuration of vmanomaly.
|
||||
|
||||
## 0.4.0
|
||||
|
||||
**Release date:** 2023-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
* add ability to provide license key
|
||||
|
||||
## 0.3.5
|
||||
|
||||
**Release date:** 2023-06-22
|
||||
|
||||

|
||||

|
||||
|
||||
* bump version of vmanomaly
|
||||
* charts/victoria-metrics-anomaly: fix monitoring config indentation (#567)
|
||||
|
||||
## 0.3.4
|
||||
|
||||
**Release date:** 2023-06-22
|
||||
|
||||

|
||||

|
||||
|
||||
* bump vmanomaly remove tricky make command
|
||||
* charts/victoria-metrics-anomaly: make monitoring config more configurable (#562)
|
||||
|
||||
## 0.3.3
|
||||
|
||||
**Release date:** 2023-06-07
|
||||
|
||||

|
||||

|
||||
|
||||
* bump anomaly chart, make package make merge
|
||||
|
||||
## 0.3.2
|
||||
|
||||
**Release date:** 2023-06-06
|
||||
|
||||

|
||||

|
||||
|
||||
* Anomaly: change defaults (#518)
|
||||
* charts/operator: update version to 0.30.4 adds extraArgs and serviceMonitor options for operator
|
||||
* vmanomaly re-release
|
||||
|
||||
## 0.3.1
|
||||
|
||||
**Release date:** 2023-01-26
|
||||
|
||||

|
||||

|
||||
|
||||
* vmanomaly: fix monitoring part of config (#457)
|
||||
|
||||
## 0.3.0
|
||||
|
||||
**Release date:** 2023-01-24
|
||||
|
||||

|
||||

|
||||
|
||||
* release vmanomaly v1.1.0 (#454)
|
||||
* vmanomaly: fix config for pull-based monitoring (#446)
|
|
@ -1,921 +0,0 @@
|
|||
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
Victoria Metrics Anomaly Detection - a service that continuously scans Victoria Metrics time series and detects unexpected changes within data patterns in real-time.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](https://docs.victoriametrics.com/helm/requirements/).
|
||||
|
||||
* PV support on underlying infrastructure
|
||||
|
||||
## Chart Details
|
||||
|
||||
This chart will do the following:
|
||||
|
||||
* Rollout victoria metrics anomaly
|
||||
|
||||
## How to install
|
||||
|
||||
Access a Kubernetes cluster.
|
||||
|
||||
### Setup chart repository (can be omitted for OCI repositories)
|
||||
|
||||
Add a chart helm repository with follow commands:
|
||||
|
||||
```console
|
||||
helm repo add vm https://victoriametrics.github.io/helm-charts/
|
||||
|
||||
helm repo update
|
||||
```
|
||||
List versions of `vm/victoria-metrics-anomaly` chart available to installation:
|
||||
|
||||
```console
|
||||
helm search repo vm/victoria-metrics-anomaly -l
|
||||
```
|
||||
|
||||
### Install `victoria-metrics-anomaly` chart
|
||||
|
||||
Export default values of `victoria-metrics-anomaly` chart to file `values.yaml`:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm show values vm/victoria-metrics-anomaly > values.yaml
|
||||
```
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-anomaly > values.yaml
|
||||
```
|
||||
|
||||
Change the values according to the need of the environment in ``values.yaml`` file.
|
||||
|
||||
Test the installation with command:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm install vma vm/victoria-metrics-anomaly -f values.yaml -n NAMESPACE --debug --dry-run
|
||||
```
|
||||
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-anomaly -f values.yaml -n NAMESPACE --debug --dry-run
|
||||
```
|
||||
|
||||
Install chart with command:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm install vma vm/victoria-metrics-anomaly -f values.yaml -n NAMESPACE
|
||||
```
|
||||
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm install vma oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-anomaly -f values.yaml -n NAMESPACE
|
||||
```
|
||||
|
||||
Get the pods lists by running this commands:
|
||||
|
||||
```console
|
||||
kubectl get pods -A | grep 'vma'
|
||||
```
|
||||
|
||||
Get the application by running this command:
|
||||
|
||||
```console
|
||||
helm list -f vma -n NAMESPACE
|
||||
```
|
||||
|
||||
See the history of versions of `vma` application with command.
|
||||
|
||||
```console
|
||||
helm history vma -n NAMESPACE
|
||||
```
|
||||
|
||||
## How to uninstall
|
||||
|
||||
Remove application with command.
|
||||
|
||||
```console
|
||||
helm uninstall vma -n NAMESPACE
|
||||
```
|
||||
|
||||
## Documentation of Helm Chart
|
||||
|
||||
Install ``helm-docs`` following the instructions on this [tutorial](https://docs.victoriametrics.com/helm/requirements/).
|
||||
|
||||
Generate docs with ``helm-docs`` command.
|
||||
|
||||
```bash
|
||||
cd charts/victoria-metrics-anomaly
|
||||
|
||||
helm-docs
|
||||
```
|
||||
|
||||
The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README.
|
||||
|
||||
## Parameters
|
||||
|
||||
The following tables lists the configurable parameters of the chart and their default values.
|
||||
|
||||
For more `vmanomaly` config parameters see https://docs.victoriametrics.com/anomaly-detection/components
|
||||
|
||||
Change the values according to the need of the environment in ``victoria-metrics-anomaly/values.yaml`` file.
|
||||
|
||||
<table class="helm-vars">
|
||||
<thead>
|
||||
<th class="helm-vars-key">Key</th>
|
||||
<th class="helm-vars-type">Type</th>
|
||||
<th class="helm-vars-default">Default</th>
|
||||
<th class="helm-vars-description">Description</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>affinity</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Affinity configurations</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>annotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Annotations to be added to the deployment</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">models: {}
|
||||
preset: ""
|
||||
reader:
|
||||
class: vm
|
||||
datasource_url: ""
|
||||
queries: {}
|
||||
sampling_period: 1m
|
||||
tenant_id: ""
|
||||
schedulers: {}
|
||||
writer:
|
||||
class: vm
|
||||
datasource_url: ""
|
||||
tenant_id: ""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Full <a href="https://docs.victoriametrics.com/anomaly-detection/components/" target="_blank">vmanomaly config section</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.models</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p><a href="https://docs.victoriametrics.com/anomaly-detection/components/models/" target="_blank">Models section</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.preset</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Whether to use preset configuration. If not empty, preset name should be specified.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.reader</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">class: vm
|
||||
datasource_url: ""
|
||||
queries: {}
|
||||
sampling_period: 1m
|
||||
tenant_id: ""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p><a href="https://docs.victoriametrics.com/anomaly-detection/components/reader/" target="_blank">Reader section</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.reader.class</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vm
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.reader.datasource_url</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Datasource URL address. Required for example <code>http://single-victoria-metrics-single-server.default.svc.cluster.local:8428</code> or <code>http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480</code></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.reader.queries</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Required. PromQL/MetricsQL query to select data in format: QUERY_ALIAS: “QUERY”. As accepted by “/query_range?query=%s”. See <a href="https://docs.victoriametrics.com/anomaly-detection/components/reader/#per-query-parameters" target="_blank">here</a> for more details.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.reader.sampling_period</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">1m
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Frequency of the points returned. Will be converted to <code>/query_range?step=%s</code> param (in seconds). <strong>Required</strong> since 1.9.0.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.reader.tenant_id</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.schedulers</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p><a href="https://docs.victoriametrics.com/anomaly-detection/components/scheduler/" target="_blank">Scheduler section</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.writer</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">class: vm
|
||||
datasource_url: ""
|
||||
tenant_id: ""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p><a href="https://docs.victoriametrics.com/anomaly-detection/components/writer/" target="_blank">Writer section</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.writer.class</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vm
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.writer.datasource_url</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Datasource URL address. Required for example <code>http://single-victoria-metrics-single-server.default.svc.cluster.local:8428</code> or <code>http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480</code></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>config.writer.tenant_id</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>configMapAnnotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Annotations to be added to configMap</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>containerWorkingDir</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">/vmanomaly
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Container working directory</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>emptyDir</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Empty dir configuration when persistence is disabled</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>env</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Additional environment variables (ex.: secret tokens, flags)</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>envFrom</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Specify alternative source for env variables</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extraArgs</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Extra command line arguments for container of component</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extraContainers</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Extra containers to run in a pod with anomaly container</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extraHostPathMounts</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Additional hostPath mounts</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extraObjects</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Add extra specs dynamically to this chart</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extraVolumeMounts</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Extra Volume Mounts for the container</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extraVolumes</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Extra Volumes for the pod</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fullnameOverride</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override resources fullname</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>global.cluster.dnsDomain</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">cluster.local.
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>K8s cluster domain suffix, uses for building storage pods’ FQDN. Details are <a href="https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>global.compatibility</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">openshift:
|
||||
adaptSecurityContext: auto
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Openshift security context compatibility configuration</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>global.image.registry</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Image registry, that can be shared across multiple helm charts</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>global.imagePullSecrets</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Image pull secrets, that can be shared across multiple helm charts</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>image.pullPolicy</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">IfNotPresent
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Pull policy of Docker image</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>image.registry</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Victoria Metrics anomaly Docker registry</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>image.repository</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">victoriametrics/vmanomaly
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Victoria Metrics anomaly Docker repository and image name</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>image.tag</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Tag of Docker image</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>imagePullSecrets</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Image pull secrets</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>license</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">key: ""
|
||||
secret:
|
||||
key: ""
|
||||
name: ""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>License key configuration for vmanomaly. See <a href="https://docs.victoriametrics.com/vmanomaly#licensing" target="_blank">docs</a> Required starting from v1.5.0.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>license.key</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>License key for vmanomaly</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>license.secret</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">key: ""
|
||||
name: ""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Use existing secret with license key for vmanomaly</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>license.secret.key</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Key in secret with license key</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>license.secret.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Existing secret name</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nameOverride</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override chart name</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nodeSelector</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>NodeSelector configurations. Details are <a href="https://kubernetes.io/docs/user-guide/node-selection/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">accessModes:
|
||||
- ReadWriteOnce
|
||||
annotations: {}
|
||||
dumpData: true
|
||||
dumpModels: true
|
||||
enabled: false
|
||||
existingClaim: ""
|
||||
matchLabels: {}
|
||||
size: 1Gi
|
||||
storageClassName: ""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Persistence to store models on disk. Available starting from v1.13.0</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.accessModes</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">- ReadWriteOnce
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Array of access modes. Must match those of existing PV or dynamic provisioner. Details are <a href="http://kubernetes.io/docs/user-guide/persistent-volumes/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.annotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Persistant volume annotations</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.dumpData</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Enables dumpling data which is fetched from VictoriaMetrics to persistence disk. This is helpful to reduce memory usage.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.dumpModels</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Enables dumping models to persistence disk. This is helpful to reduce memory usage.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">false
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create/use Persistent Volume Claim for models dump.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.existingClaim</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Existing Claim name. If defined, PVC must be created manually before volume will be bound</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.matchLabels</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Bind Persistent Volume by labels. Must match all labels of targeted PV.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.size</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">1Gi
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Size of the volume. Should be calculated based on the metrics you send and retention policy you set.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>persistentVolume.storageClassName</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podAnnotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Annotations to be added to pod</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podDisruptionBudget</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">enabled: false
|
||||
labels: {}
|
||||
minAvailable: 1
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>See <code>kubectl explain poddisruptionbudget.spec</code> for more. Details are <a href="https://kubernetes.io/docs/tasks/run-application/configure-pdb/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podLabels</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Labels to be added to pod</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podMonitor.annotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>PodMonitor annotations</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podMonitor.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">false
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Enable PodMonitor</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podMonitor.extraLabels</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>PodMonitor labels</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>podSecurityContext</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">enabled: true
|
||||
fsGroup: 1000
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Pod’s security context. Details are <a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>resources</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Resource object. Details are <a href="http://kubernetes.io/docs/user-guide/compute-resources/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>securityContext</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">enabled: true
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Check <a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/" target="_blank">here</a> for details.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>serviceAccount.annotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Annotations to add to the service account</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>serviceAccount.create</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Specifies whether a service account should be created</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>serviceAccount.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">null
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>The name of the service account to use. If not set and create is true, a name is generated using the fullname template</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>tolerations</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">[]
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Tolerations configurations. Details are <a href="https://kubernetes.io/docs/concepts/configuration/assign-pod-node/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-anomaly-changelog
|
||||
parent: helm-victoriametrics-anomaly
|
||||
url: /helm/victoriametrics-anomaly/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-anomaly/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 4
|
||||
title: VictoriaMetrics Anomaly
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 4
|
||||
identifier: helm-victoriametrics-anomaly
|
||||
url: /helm/victoriametrics-anomaly
|
||||
aliases:
|
||||
- /helm/victoriametrics-anomaly/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,400 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.8.7
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.8.6
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.8.5
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.8.4
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.8.3
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Exclude markdown files from package
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.8.2
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- bump version of VM components to [v1.108.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
|
||||
## 0.8.1
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.8.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- fixed multiple ingress rendering. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1777)
|
||||
- updated common dependency 0.0.28 -> 0.0.33
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.7.7
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.26 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.7.6
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||

|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.26
|
||||
- added init containers
|
||||
|
||||
## 0.7.5
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- added podLabels for pods only and use extraLabels for deployment
|
||||
- fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
|
||||
## 0.7.4
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- multiple paths for a host in ingress
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.7.3
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.7.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.7.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
|
||||
## 0.7.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.6.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
- Added ability to configure container port
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
|
||||
## 0.5.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: main container name was changed to `vmauth`, which will recreate a pod.
|
||||
|
||||
**Update note**: requires Helm 3.14+
|
||||
|
||||
- Added `basicAuth` support for `ServiceMonitor`
|
||||
- Removed `PodSecurityPolicy`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Added params to configure probes `.Values.probe.readiness`, `.Values.probe.liveness` and `.Values.probe.startup`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Use static container names in a pod
|
||||
- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support
|
||||
- Added `.Values.service.ipFamilies` and `.Values.service.ipFamilyPolicy` for service IP family management
|
||||
|
||||
## 0.4.14
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.4.13
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.4.12
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 0.4.11
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.4.10
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters.
|
||||
- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0)
|
||||
|
||||
## 0.4.9
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1)
|
||||
|
||||
## 0.4.8
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.4.7
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- replaces httpGet ready probe with tcpSocket check. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/528) for details
|
||||
- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0)
|
||||
|
||||
## 0.4.6
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1)
|
||||
|
||||
## 0.4.5
|
||||
|
||||
**Release date:** 2023-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix configuration of volume mount for license key referenced by using secret.
|
||||
|
||||
## 0.4.4
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0)
|
||||
|
||||
## 0.4.3
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1)
|
||||
|
||||
## 0.4.2
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0)
|
||||
|
||||
## 0.4.1
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0)
|
||||
- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.4.0
|
||||
|
||||
**Release date:** 2023-09-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Add `extraObjects` which to allow deploying additional resources with the chart release (#689)
|
||||
|
||||
## 0.3.8
|
||||
|
||||
**Release date:** 2023-09-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5)
|
||||
|
||||
## 0.3.7
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4)
|
||||
|
||||
## 0.3.6
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of vmauth to `v1.93.3`
|
||||
|
||||
## 0.3.4
|
||||
|
||||
**Release date:** 2023-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.93.0 to v1.93.1
|
||||
|
||||
## 0.3.3
|
||||
|
||||
**Release date:** 2023-08-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.1 to v1.93.0
|
||||
|
||||
## 0.3.2
|
||||
|
||||
**Release date:** 2023-07-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599)
|
||||
|
||||
## 0.3.1
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.91.3 to v1.92.0
|
||||
|
||||
## 0.3.0
|
||||
|
||||
**Release date:** 2023-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of agent, alert, auth, cluster, single
|
||||
- charts/victoria-metrics-auth: add support of specifying extra labels (#577)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-auth-changelog
|
||||
parent: helm-victoriametrics-auth
|
||||
url: /helm/victoriametrics-auth/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-auth/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 5
|
||||
title: VictoriaMetrics Auth
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 5
|
||||
identifier: helm-victoriametrics-auth
|
||||
url: /helm/victoriametrics-auth
|
||||
aliases:
|
||||
- /helm/victoriametrics-auth/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,684 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.17.7
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.17.6
|
||||
|
||||
**Release date:** 06 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- Reverted enabling headless service for vmselect by default.
|
||||
|
||||
## 0.17.5
|
||||
|
||||
**Release date:** 06 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- added ability to override default headless service `.Values.vmselect.service.clusterIP` with empty value
|
||||
- added `.Values.common.image.tag` to set the same tag for all cluster components.
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
|
||||
## 0.17.4
|
||||
|
||||
**Release date:** 04 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- fixed service templates ports rendering when opentsdbListenAddr flag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1961) for details.
|
||||
|
||||
## 0.17.3
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.17.2
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.17.1
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.17.0
|
||||
|
||||
**Release date:** 09 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
**Update note**: A default `minReadySeconds` has been added for the vmstorage statefulset, vmstorage pods will restart after the upgrade.
|
||||
**Update note**: The default probes of vminsert, vmselect, vmauth, and vmstorage have been changed, all pods will restart after the upgrade.
|
||||
|
||||
- Remove vmstorage liveness probe, as vminsert already handles routing and retries, while liveness probes can inadvertently introduce delays, DNS instability, and unnecessary disruptions.
|
||||
- Reduce the default readiness probe interval to 5s (was 15s) and the failure threshold to 10 (was 3).
|
||||
- Add a default minReadySeconds for vmstorage, to help stabilizing service during rollout.
|
||||
|
||||
## 0.16.2
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Exclude markdown files from package
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.16.1
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- bump version of VM components to [v1.108.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
|
||||
## 0.16.0
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- do not set clusterIP value, when service type is not ClusterIP. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1838)
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.15.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.14.13
|
||||
|
||||
**Release date:** 2024-11-28
|
||||
|
||||

|
||||

|
||||
|
||||
- removed unsupported selectNodes SRV discovery
|
||||
- updated common dependency 0.0.28 -> 0.0.33
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
|
||||
## 0.14.12
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.25 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.14.11
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||

|
||||
|
||||
- updated context for serviceaccount name
|
||||
- updated common dependency 0.0.23 -> 0.0.25
|
||||
|
||||
## 0.14.10
|
||||
|
||||
**Release date:** 2024-11-08
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.20 -> 0.0.23
|
||||
|
||||
## 0.14.9
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.20
|
||||
|
||||
## 0.14.8
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
|
||||
## 0.14.7
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- multiple paths for a host in ingress
|
||||
- support HPA for vmselect statefulset
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.14.6
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.14.5
|
||||
|
||||
**Release date:** 2024-10-18
|
||||
|
||||

|
||||

|
||||
|
||||
- Fixed vmbackupmanager args
|
||||
|
||||
## 0.14.4
|
||||
|
||||
**Release date:** 2024-10-18
|
||||
|
||||

|
||||

|
||||
|
||||
- Fixed annotations in service account template
|
||||
|
||||
## 0.14.3
|
||||
|
||||
**Release date:** 2024-10-18
|
||||
|
||||

|
||||

|
||||
|
||||
- Fixed HPA template name
|
||||
|
||||
## 0.14.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.14.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Support extra storageNodes. Fail if no storageNodes set
|
||||
- Support enabling automatic discovery of vmstorage addresses using DNS SRV records in enterprise version
|
||||
- Added HPA with scaledown disabled by default
|
||||
- Allow excluding vmstorage nodes from vminsert. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1549)
|
||||
- Upgraded common chart dependency
|
||||
|
||||
## 0.14.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.13.7
|
||||
|
||||
**Release date:** 2024-09-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Fixed security context for vmstorage statefulset
|
||||
|
||||
## 0.13.6
|
||||
|
||||
**Release date:** 2024-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- fixed cluster native address port rendering on vmselect statefulset. Thanks to @Red-M
|
||||
|
||||
## 0.13.5
|
||||
|
||||
**Release date:** 2024-09-05
|
||||
|
||||

|
||||

|
||||
|
||||
- fixed priority class name templating for vmselect deployment
|
||||
|
||||
## 0.13.4
|
||||
|
||||
**Release date:** 2024-09-05
|
||||
|
||||

|
||||

|
||||
|
||||
- Removed deprecated autoscaling v2beta2 API support
|
||||
- Added podLabels support
|
||||
|
||||
## 0.13.3
|
||||
|
||||
**Release date:** 2024-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- fixed vmstorage resources templating
|
||||
|
||||
## 0.13.2
|
||||
|
||||
**Release date:** 2024-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Fixed vmstorage restore cmd args template
|
||||
|
||||
## 0.13.1
|
||||
|
||||
**Release date:** 2024-09-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Deprecated `vmstorage.vmbackupmanager.enable` in a favour of `vmstorage.vmbackupmanager.enabled`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/940).
|
||||
- Fixed PVC in StatefulSet
|
||||
|
||||
## 0.13.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Renamed `.Values.vmstorage.persistentVolume.storageClass` to `.Values.vmstorage.persistentVolume.storageClassName`
|
||||
- Removed necessity to set `.Values.vmstorage.persistentVolume.existintClaim` when it should be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189)
|
||||
- Removed `eula` support
|
||||
|
||||
## 0.12.1
|
||||
|
||||
**Release date:** 2024-08-22
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to configure container port
|
||||
- Fixed volume template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1280)
|
||||
|
||||
## 0.12.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: `vmselect` main container name was changed to `vmselect`, which will recreate a pod.
|
||||
|
||||
**Update note**: `vmstorage` main container name was changed to `vmstorage`, which will recreate a pod.
|
||||
|
||||
**Update note**: `vminsert` main container name was changed to `vminsert`, which will recreate a pod.
|
||||
|
||||
**Update note**: requires Helm 3.14+
|
||||
|
||||
- Added `basicAuth` support for `ServiceMonitor`
|
||||
- Removed `PodSecurityPolicy`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Added ability to override liveness and readiness probes
|
||||
- Updated `.Values.vmbackupmanager.readinessProbe` to `.Values.vmbackupmanager.probe.readiness`
|
||||
- Updated `.Values.vmbackupmanager.livenessProbe` to `.Values.vmbackupmanager.probe.liveness`
|
||||
- Updated `.Values.vmbackupmanager.startupProbe` to `.Values.vmbackupmanager.probe.startup`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Fix templating of Ingress port when using custom port name.
|
||||
- Added `.Values.vmselect.emptyDir` and `.Values.vmstorage.emptyDir` to customize default cache directory
|
||||
- Merged headless and non-headless services, removed statefulset service specific variables
|
||||
- Added `.Values.vmselect.service.healthCheckNodePort` and `.Values.vmselect.service.externalTrafficPolicy`
|
||||
- Added `.Values.vmstorage.service.healthCheckNodePort` and `.Values.vmstorage.service.externalTrafficPolicy`
|
||||
- Added `.Values.vminsert.service.healthCheckNodePort` and `.Values.vminsert.service.externalTrafficPolicy`
|
||||
- Use static container names in a pod
|
||||
- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support
|
||||
- Added `.Values.vmstorage.service.ipFamilies` and `.Values.vmstorage.service.ipFamilyPolicy` for service IP family management
|
||||
- Added `.Values.vmselect.service.ipFamilies` and `.Values.vmselect.service.ipFamilyPolicy` for service IP family management
|
||||
- Added `.Values.vminsert.service.ipFamilies` and `.Values.vminsert.service.ipFamilyPolicy` for service IP family management
|
||||
|
||||
## 0.11.23
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.11.22
|
||||
|
||||
**Release date:** 2024-07-31
|
||||
|
||||

|
||||

|
||||
|
||||
- fix mount name for `vmstorage` when using `.Values.vmstorage.persistentVolume.name` to override PVC name. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1181) for the details. Thanks to @srinusanduri for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1182).
|
||||
|
||||
## 0.11.21
|
||||
|
||||
**Release date:** 2024-07-23
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0)
|
||||
|
||||
## 0.11.20
|
||||
|
||||
**Release date:** 2024-07-08
|
||||
|
||||

|
||||

|
||||
|
||||
- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092).
|
||||
|
||||
## 0.11.19
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- fix workload's readinessProbe and livenessProbe when using custom port name. Thanks to @hanumanhuda for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1061).
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.11.18
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 0.11.17
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.11.16
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/931) and [this PR](https://github.com/VictoriaMetrics/helm-charts/pull/936).
|
||||
- enable templating for `port name` so users can replace the default with custom values in use cases such as outlined in [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/972) and has been addressed in [this PR](https://github.com/VictoriaMetrics/helm-charts/pull/975).
|
||||
- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0)
|
||||
|
||||
## 0.11.15
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1)
|
||||
|
||||
## 0.11.14
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.11.13
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0)
|
||||
|
||||
## 0.11.12
|
||||
|
||||
**Release date:** 2024-02-09
|
||||
|
||||

|
||||

|
||||
|
||||
- Remove unsupported `scheme` field under `livenessProbe.tcpSocket`. See [#844](https://github.com/VictoriaMetrics/helm-charts/pull/844) by @MisguidedEmails.
|
||||
|
||||
## 0.11.11
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1)
|
||||
- Switch probes scheme to `HTTPS` if vminsert and vmselect enabled tls in extraArgs.
|
||||
|
||||
## 0.11.10
|
||||
|
||||
**Release date:** 2023-12-19
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix templating `podManagementPolicy` value in StatefulSet configuration of vmselect. See [#807](https://github.com/VictoriaMetrics/helm-charts/pull/807) by @MemberIT.
|
||||
|
||||
## 0.11.9
|
||||
|
||||
**Release date:** 2023-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix configuration of volume mount for license key referenced by using secret.
|
||||
|
||||
## 0.11.8
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0)
|
||||
|
||||
## 0.11.7
|
||||
|
||||
**Release date:** 2023-12-08
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix `vminsert` configuration for volumes when using `extraVolumes`.
|
||||
|
||||
## 0.11.6
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1)
|
||||
|
||||
## 0.11.5
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0)
|
||||
|
||||
## 0.11.4
|
||||
|
||||
**Release date:** 2023-10-25
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix deployment `volumeMounts` when providing enterprise license key for VictoriaMetrics enterprise. See [this pr](https://github.com/VictoriaMetrics/helm-charts/pull/734) for details.
|
||||
|
||||
## 0.11.3
|
||||
|
||||
**Release date:** 2023-10-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Add license enforcement for vmbackupmanager in order to avoid running it without enterprise license key. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.11.2
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0)
|
||||
- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.11.1
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- From pod labels removed dynamic label `helm.sh/chart` to avoid restarting every time the chart is updated without changing the pods parameters. **Note that this time it will cause the pods to restart** (#695)
|
||||
|
||||
## 0.11.0
|
||||
|
||||
**Release date:** 2023-09-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Add `extraObjects` which to allow deploying additional resources with the chart release (#689)
|
||||
|
||||
## 0.10.9
|
||||
|
||||
**Release date:** 2023-09-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Support `behavior` setting in horizontal pod autoscalers for vminsert and vmselect (#679)
|
||||
- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5)
|
||||
|
||||
## 0.10.8
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4)
|
||||
|
||||
## 0.10.7
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of Victoria Metrics Cluster to `v1.93.3`
|
||||
|
||||
## 0.10.5
|
||||
|
||||
**Release date:** 2023-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.93.0 to v1.93.1
|
||||
|
||||
## 0.10.4
|
||||
|
||||
**Release date:** 2023-08-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.1 to v1.93.0
|
||||
- charts/victoria-metrics-cluster: remove incorrect comment (#607)
|
||||
- vmstorage, vminsert: Add topologySpreadConstraints (#596)
|
||||
|
||||
## 0.10.3
|
||||
|
||||
**Release date:** 2023-07-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599)
|
||||
|
||||
## 0.10.2
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.91.3 to v1.92.0
|
||||
- fix misused securityContext and podSecurityContext (#592)
|
||||
|
||||
## 0.10.1
|
||||
|
||||
**Release date:** 2023-07-25
|
||||
|
||||

|
||||

|
||||
|
||||
- fix typo in suppressStorageFQDNsRender, address #580 (#581)
|
||||
|
||||
## 0.10.0
|
||||
|
||||
**Release date:** 2023-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of agent, alert, auth, cluster, single
|
||||
- charts/victoria-metrics-cluster: fix indent for vmselect statefulset (#576)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-cluster-changelog
|
||||
parent: helm-victoriametrics-cluster
|
||||
url: /helm/victoriametrics-cluster/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-cluster/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 6
|
||||
title: VictoriaMetrics Cluster
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 6
|
||||
identifier: helm-victoriametrics-cluster
|
||||
url: /helm/victoriametrics-cluster
|
||||
aliases:
|
||||
- /helm/victoriametrics-cluster/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,349 +0,0 @@
|
|||
# CHANGELOG for `victoria-metrics-common` helm-chart
|
||||
|
||||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.0.39
|
||||
|
||||
**Release date:** 05 Feb 2025
|
||||
|
||||

|
||||
|
||||
- Fix overwrite per service empty registry
|
||||
|
||||
## 0.0.38
|
||||
|
||||
**Release date:** 04 Feb 2025
|
||||
|
||||

|
||||
|
||||
- Fixed minor securityContext template typo
|
||||
|
||||
## 0.0.37
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||

|
||||
|
||||
- quote collection values in arguments
|
||||
|
||||
## 0.0.36
|
||||
|
||||
**Release date:** 24 Dec 2024
|
||||
|
||||

|
||||
|
||||
- Exclude markdown files from package
|
||||
- Unset empty registry in `vm.image` template to fix global registry propagation
|
||||
|
||||
## 0.0.35
|
||||
|
||||
**Release date:** 2024-12-17
|
||||
|
||||

|
||||
|
||||
- fixed tls in common templates. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1874)
|
||||
|
||||
## 0.0.34
|
||||
|
||||
**Release date:** 2024-12-11
|
||||
|
||||

|
||||
|
||||
- moved helm chart requirement to a common template
|
||||
|
||||
## 0.0.33
|
||||
|
||||
**Release date:** 2024-11-28
|
||||
|
||||

|
||||
|
||||
- use container port instead of service one in `vm.host` template, while appIdx is defined
|
||||
- expect tls extraArg parameter as boolean value
|
||||
|
||||
## 0.0.32
|
||||
|
||||
**Release date:** 2024-11-25
|
||||
|
||||

|
||||
|
||||
- removed suffix, that starts with `@sha` from app version label. see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1801).
|
||||
|
||||
## 0.0.31
|
||||
|
||||
**Release date:** 2024-11-21
|
||||
|
||||

|
||||
|
||||
- fixed minor typo in vm.labels
|
||||
|
||||
## 0.0.30
|
||||
|
||||
**Release date:** 2024-11-21
|
||||
|
||||

|
||||
|
||||
- support template rendering in `vm.app.name` template
|
||||
|
||||
## 0.0.29
|
||||
|
||||
**Release date:** 2024-11-19
|
||||
|
||||

|
||||
|
||||
- Allow lookup in context root for `vm.url`, `vm.host` templates
|
||||
|
||||
## 0.0.28
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||
|
||||
- Allow lookup in context root for `vm.url`, `vm.host` templates
|
||||
|
||||
## 0.0.27
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||
|
||||
- fail fullname templates if data for appKey is not found
|
||||
- find by appKey in Values and context root
|
||||
|
||||
## 0.0.26
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||
|
||||
- do not append key only if it's passed to a template
|
||||
|
||||
## 0.0.25
|
||||
|
||||
**Release date:** 2024-11-12
|
||||
|
||||

|
||||
|
||||
- fixed adding suffix for `vm.plain.fullname`
|
||||
|
||||
## 0.0.24
|
||||
|
||||
**Release date:** 2024-11-12
|
||||
|
||||

|
||||
|
||||
- Disabled impact of `<component>.name` on resource name to avoid confusion
|
||||
- Fixed `vm.app.name` template for appCtx that contains slice
|
||||
|
||||
## 0.0.23
|
||||
|
||||
**Release date:** 2024-11-08
|
||||
|
||||

|
||||
|
||||
- fix: context cleanup
|
||||
|
||||
## 0.0.22
|
||||
|
||||
**Release date:** 2024-11-08
|
||||
|
||||

|
||||
|
||||
- Removed unused cases from `vm.fullname`
|
||||
|
||||
## 0.0.21
|
||||
|
||||
**Release date:** 2024-11-07
|
||||
|
||||

|
||||
|
||||
- Added ability to disable name truncation
|
||||
- Truncate `/` from `vm.url` output
|
||||
|
||||
## 0.0.20
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||
|
||||
- Fixed boolean args rendering
|
||||
|
||||
## 0.0.19
|
||||
|
||||
**Release date:** 2024-11-04
|
||||
|
||||

|
||||
|
||||
- TODO
|
||||
|
||||
## 0.0.18
|
||||
|
||||
**Release date:** 2024-10-29
|
||||
|
||||

|
||||
|
||||
- vm.managed.fullname template modify prefixes
|
||||
|
||||
## 0.0.17
|
||||
|
||||
**Release date:** 2024-10-25
|
||||
|
||||

|
||||
|
||||
- Added vm.podLabels template
|
||||
- Do no append default `<component>` prefix/suffix when `<component>.fullnameOverride` set
|
||||
|
||||
## 0.0.16
|
||||
|
||||
**Release date:** 2024-10-15
|
||||
|
||||

|
||||
|
||||
- Allow extract name prefix from app level fullnameOverride property
|
||||
|
||||
## 0.0.15
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||
|
||||
- Display compatibility error message
|
||||
|
||||
## 0.0.14
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||
|
||||
- Fixed openshift compatibility templates
|
||||
|
||||
## 0.0.13
|
||||
|
||||
**Release date:** 2024-09-16
|
||||
|
||||

|
||||
|
||||
- Do not use image variant if custom image tag is set in `vm.image` template
|
||||
- Support multiple license flag styles, which are different for vmanomaly and other services
|
||||
|
||||
## 0.0.12
|
||||
|
||||
**Release date:** 2024-09-16
|
||||
|
||||

|
||||
|
||||
- Add enterprise to existing variant if enterprise enabled
|
||||
- Added `vm.enterprise.disabled` template to check if enterprise license is disabled
|
||||
- Use `service.servicePort` as a port source if flag is not set in `vm.url`
|
||||
|
||||
## 0.0.11
|
||||
|
||||
**Release date:** 2024-09-11
|
||||
|
||||

|
||||
|
||||
- Added ability to pass extra prefix for `vm.managed.fullname`
|
||||
|
||||
## 0.0.10
|
||||
|
||||
**Release date:** 2024-09-10
|
||||
|
||||

|
||||
|
||||
- Fixed protocol extraction with TLS enabled
|
||||
- Typo fixes
|
||||
- use appkey as `app` label by default
|
||||
- support multiple service naming styles for `vm.service`
|
||||
|
||||
## 0.0.9
|
||||
|
||||
**Release date:** 2024-09-02
|
||||
|
||||

|
||||
|
||||
- Allow `appKey` argument to be a list to support deeply nested objects
|
||||
- Added `vm.namespace`, which returns `namespaceOverride` or `global.namespaceOverride` or `Release.Namespace` as a default
|
||||
- Added `vm.managed.fullname`, which returns default fullname prefixed by `appKey`
|
||||
- Added `vm.plain.fullname`, which returns default fullname suffixed by `appKey`
|
||||
|
||||
## 0.0.8
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||
|
||||
- Added `vm.service` for unified service name generation
|
||||
- Added `vm.url` to construct service base url
|
||||
- Added `vm.name` for chart name
|
||||
- Added `vm.fullname` which is actively used in resource name construction
|
||||
- Added `vm.chart` to construct chart name label value
|
||||
- Added `vm.labels` for common labels
|
||||
- Added `vm.sa` for service account name
|
||||
- Added `vm.release` for release name
|
||||
- Added `vm.selectorLabels` for common selector labels
|
||||
|
||||
## 0.0.7
|
||||
|
||||
**Release date:** 2024-08-27
|
||||
|
||||

|
||||
|
||||
- Support short and long args flags in `vm.args`
|
||||
- Updated `vm.enterprise.only` error message
|
||||
|
||||
## 0.0.6
|
||||
|
||||
**Release date:** 2024-08-27
|
||||
|
||||

|
||||
|
||||
- Changed structure of `vm.args` template output
|
||||
- Removed `eula` support
|
||||
|
||||
## 0.0.5
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||
|
||||
- Fixed `vm.enterprise.only` template to check if at least one of both global.licence.eula and .Values.license.eula are defined
|
||||
- Convert `vm.args` bool `true` values to flags without values
|
||||
|
||||
## 0.0.4
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||
|
||||
- Updated `vm.probe.*` templates to remove Helm 3.14 restriction.
|
||||
- Added `vm.args` template for cmd args generation
|
||||
|
||||
## 0.0.3
|
||||
|
||||
**Release date:** 2024-08-25
|
||||
|
||||

|
||||
|
||||
- Moved license templates from other charts `vm.license.volume`, `vm.license.mount`, `vm.license.flag`
|
||||
- Moved `vm.compatibility.renderSecurityContext` template
|
||||
- Fixed a case, when null is passed to a `.Values.global`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1296)
|
||||
|
||||
## 0.0.2
|
||||
|
||||
**Release date:** 2024-08-23
|
||||
|
||||

|
||||
|
||||
- Added `vm.port.from.flag` template to extract port from cmd flag listen address.
|
||||
|
||||
## 0.0.1
|
||||
|
||||
**Release date:** 2024-08-15
|
||||
|
||||

|
||||
|
||||
- Added `vm.enterprise.only` template to fail rendering if required license arguments weren't set.
|
||||
- Added `vm.image` template that introduces common chart logic of how to build image name from application variables.
|
||||
- Added `vm.ingress.port` template to render properly ingress port configuration depending on args type.
|
||||
- Added `vm.probe.*` templates to render probes params consistently across all templates.
|
|
@ -1,50 +0,0 @@
|
|||
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
Victoria Metrics Common - contains shared templates for all Victoria Metrics helm charts
|
||||
|
||||
## Documentation of Helm Chart
|
||||
|
||||
Install ``helm-docs`` following the instructions on this [tutorial](https://docs.victoriametrics.com/helm/requirements/).
|
||||
|
||||
Generate docs with ``helm-docs`` command.
|
||||
|
||||
```bash
|
||||
cd charts/victoria-metrics-common
|
||||
|
||||
helm-docs
|
||||
```
|
||||
|
||||
The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README.
|
||||
|
||||
## Parameters
|
||||
|
||||
The following table lists the template functions of the chart and description.
|
||||
|
||||
<table class="helm-vars">
|
||||
<thead>
|
||||
<th class="helm-vars-key">Key</th>
|
||||
<th class="helm-vars-type">Type</th>
|
||||
<th class="helm-vars-default">Default</th>
|
||||
<th class="helm-vars-description">Description</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>unitTest</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">false
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.7.5
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.7.4
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.7.3
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.7.2
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.7.1
|
||||
|
||||
**Release date:** 10 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- fixed typo useMultitenantMode -> useMultiTenantMode in remotewrite settings
|
||||
- allow passing additional remotewrite setings
|
||||
|
||||
## 0.7.0
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- upgraded operator, it's required to [update CRDs manually](../victoriametrics-k8s-stack/#upgrade-guide)
|
||||
- bump version of VM components to [v1.108.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
- Exclude markdown files from package
|
||||
|
||||
## 0.6.2
|
||||
|
||||
**Release date:** 2024-12-17
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- updated k8s-stack chart 0.28.4 -> 0.31.2
|
||||
|
||||
## 0.6.1
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.6.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.28 -> 0.0.33
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.5.0
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: This release contains breaking changes. please follow [upgrade guide](./#upgrade-to-050)
|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- added `.Values.zoneTpl` to define a default configuration for each `.Values.availabilityZones`
|
||||
- updated common dependency 0.0.19 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.4.2
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.4.1
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.4.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.3.1
|
||||
|
||||
**Release date:** 2024-09-19
|
||||
|
||||

|
||||

|
||||
|
||||
- Do not truncate datasource name
|
||||
- Support customizing vmauthQueryGlobal spec. Thanks to @olivierbouffet for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1511).
|
||||
- Support overriding the default name for extra vmagent and vmcluster per zone.
|
||||
|
||||
## 0.3.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
|
||||
## 0.2.2
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.2.1
|
||||
|
||||
**Release date:** 2024-07-23
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0)
|
||||
|
||||
## 0.2.0
|
||||
|
||||
**Release date:** 2024-07-15
|
||||
|
||||

|
||||

|
||||
|
||||
- Breaking change: disable multitenancy mode by default, see how to enable it in <https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-distributed#how-to-use-multitenancy>. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1137) for details.
|
||||
|
||||
## 0.1.1
|
||||
|
||||
**Release date:** 2024-06-27
|
||||
|
||||

|
||||

|
||||
|
||||
- [vmauth-read-balancer-zone]: change server from vmselect pod enumeration to service DNS address, so it still work when vmselect scales.
|
|
@ -1,844 +0,0 @@
|
|||
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
A Helm chart for Running VMCluster on Multiple Availability Zones
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Install the follow packages: ``git``, ``kubectl``, ``helm``, ``helm-docs``. See this [tutorial](https://docs.victoriametrics.com/helm/requirements/).
|
||||
|
||||
* PV support on underlying infrastructure.
|
||||
|
||||
* Multiple availability zones.
|
||||
|
||||
## Chart Details
|
||||
|
||||
This chart sets up multiple VictoriaMetrics cluster instances on multiple [availability zones](https://kubernetes.io/docs/setup/best-practices/multiple-zones/), provides both global write and read entrypoints.
|
||||
|
||||
The default setup is as shown below:
|
||||
|
||||

|
||||
|
||||
For write:
|
||||
1. extra-vmagent(optional): scrapes external targets and all the components installed by this chart, sends data to global write entrypoint.
|
||||
2. vmauth-global-write: global write entrypoint, proxies requests to one of the zone `vmagent` with `least_loaded` policy.
|
||||
3. vmagent(per-zone): remote writes data to availability zones that enabled `.Values.availabilityZones[*].write.allow`, and [buffer data on disk](https://docs.victoriametrics.com/vmagent/#calculating-disk-space-for-persistence-queue) when zone is unavailable to ingest.
|
||||
4. vmauth-write-balancer(per-zone): proxies requests to vminsert instances inside it's zone with `least_loaded` policy.
|
||||
5. vmcluster(per-zone): processes write requests and stores data.
|
||||
|
||||
For read:
|
||||
1. vmcluster(per-zone): processes query requests and returns results.
|
||||
2. vmauth-read-balancer(per-zone): proxies requests to vmselect instances inside it's zone with `least_loaded` policy.
|
||||
3. vmauth-read-proxy(per-zone): uses all the `vmauth-read-balancer` as servers if zone has `.Values.availabilityZones[*].read.allow` enabled, always prefer "local" `vmauth-read-balancer` to reduce cross-zone traffic with `first_available` policy.
|
||||
4. vmauth-global-read: global query entrypoint, proxies requests to one of the zone `vmauth-read-proxy` with `first_available` policy.
|
||||
5. grafana(optional): uses `vmauth-global-read` as default datasource.
|
||||
|
||||
>Note:
|
||||
As the topology shown above, this chart doesn't include components like vmalert, alertmanager, etc by default.
|
||||
You can install them using dependency [victoria-metrics-k8s-stack](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-k8s-stack) or having separate release.
|
||||
|
||||
### Why use `victoria-metrics-distributed` chart?
|
||||
|
||||
One of the best practice of running production kubernetes cluster is running with [multiple availability zones](https://kubernetes.io/docs/setup/best-practices/multiple-zones/). And apart from kubernetes control plane components, we also want to spread our application pods on multiple zones, to continue serving even if zone outage happens.
|
||||
|
||||
VictoriaMetrics supports [data replication](https://docs.victoriametrics.com/cluster-victoriametrics/#replication-and-data-safety) natively which can guarantees data availability when part of the vmstorage instances failed. But it doesn't works well if vmstorage instances are spread on multiple availability zones, since data replication could be stored on single availability zone, which will be lost when zone outage happens.
|
||||
To avoid this, vmcluster must be installed on multiple availability zones, each containing a 100% copy of data. As long as one zone is available, both global write and read entrypoints should work without interruption.
|
||||
|
||||
### How to write data?
|
||||
|
||||
The chart provides `vmauth-global-write` as global write entrypoint, it supports [push-based data ingestion protocols](https://docs.victoriametrics.com/vmagent/#how-to-push-data-to-vmagent) as VictoriaMetrics does.
|
||||
Optionally, you can push data to any of the per-zone vmagents, and they will replicate the received data across zones.
|
||||
|
||||
### How to query data?
|
||||
|
||||
The chart provides `vmauth-global-read` as global read entrypoint, it picks the first available zone (see [first_available](https://docs.victoriametrics.com/vmauth/#high-availability) policy) as it's preferred datasource and switches automatically to next zone if first one is unavailable, check [vmauth `first_available`](https://docs.victoriametrics.com/vmauth/#high-availability) for more details.
|
||||
If you have services like [vmalert](https://docs.victoriametrics.com/vmalert) or Grafana deployed in each zone, then configure them to use local `vmauth-read-proxy`. Per-zone `vmauth-read-proxy` always prefers "local" vmcluster for querying and reduces cross-zone traffic.
|
||||
|
||||
You can also pick other proxies like kubernetes service which supports [Topology Aware Routing](https://kubernetes.io/docs/concepts/services-networking/topology-aware-routing/) as global read entrypoint.
|
||||
|
||||
### What happens if zone outage happen?
|
||||
|
||||
If availability zone `zone-eu-1` is experiencing an outage, `vmauth-global-write` and `vmauth-global-read` will work without interruption:
|
||||
1. `vmauth-global-write` stops proxying write requests to `zone-eu-1` automatically;
|
||||
2. `vmauth-global-read` and `vmauth-read-proxy` stops proxying read requests to `zone-eu-1` automatically;
|
||||
3. `vmagent` on `zone-us-1` fails to send data to `zone-eu-1.vmauth-write-balancer`, starts to buffer data on disk(unless `-remoteWrite.disableOnDiskQueue` is specified, which is not recommended for this topology);
|
||||
To keep data completeness for all the availability zones, make sure you have enough disk space on vmagent for buffer, see [this doc](https://docs.victoriametrics.com/vmagent/#calculating-disk-space-for-persistence-queue) for size recommendation.
|
||||
|
||||
And to avoid getting incomplete responses from `zone-eu-1` which gets recovered from outage, check vmagent on `zone-us-1` to see if persistent queue has been drained. If not, remove `zone-eu-1` from serving query by setting `.Values.availabilityZones.{zone-eu-1}.read.allow=false` and change it back after confirm all data are restored.
|
||||
|
||||
### How to use [multitenancy](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy)?
|
||||
|
||||
By default, all the data that written to `vmauth-global-write` belong to tenant `0`. To write data to different tenants, set `.Values.enableMultitenancy=true` and create new tenant users for `vmauth-global-write`.
|
||||
For example, writing data to tenant `1088` with following steps:
|
||||
1. create tenant VMUser for vmauth `vmauth-global-write` to use:
|
||||
```
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: tenant-1088-rw
|
||||
labels:
|
||||
tenant-test: "true"
|
||||
spec:
|
||||
targetRefs:
|
||||
- static:
|
||||
## list all the zone vmagent here
|
||||
url: "http://vmagent-vmagent-zone-eu-1:8429"
|
||||
url: "http://vmagent-vmagent-zone-us-1:8429"
|
||||
paths:
|
||||
- "/api/v1/write"
|
||||
- "/prometheus/api/v1/write"
|
||||
- "/write"
|
||||
- "/api/v1/import"
|
||||
- "/api/v1/import/.+"
|
||||
target_path_suffix: /insert/1088/
|
||||
username: tenant-1088
|
||||
password: secret
|
||||
```
|
||||
|
||||
Add extra VMUser selector in vmauth `vmauth-global-write`
|
||||
```
|
||||
spec:
|
||||
userSelector:
|
||||
matchLabels:
|
||||
tenant-test: "true"
|
||||
```
|
||||
|
||||
2. send data to `vmauth-global-write` using above token.
|
||||
Example command using vmagent:
|
||||
```
|
||||
/path/to/vmagent -remoteWrite.url=http://vmauth-vmauth-global-write-$ReleaseName-vm-distributed:8427/prometheus/api/v1/write -remoteWrite.basicAuth.username=tenant-1088 -remoteWrite.basicAuth.password=secret
|
||||
```
|
||||
|
||||
## How to install
|
||||
|
||||
Access a Kubernetes cluster.
|
||||
|
||||
### Setup chart repository (can be omitted for OCI repositories)
|
||||
|
||||
Add a chart helm repository with follow commands:
|
||||
|
||||
```console
|
||||
helm repo add vm https://victoriametrics.github.io/helm-charts/
|
||||
|
||||
helm repo update
|
||||
```
|
||||
List versions of `vm/victoria-metrics-distributed` chart available to installation:
|
||||
|
||||
```console
|
||||
helm search repo vm/victoria-metrics-distributed -l
|
||||
```
|
||||
|
||||
### Install `victoria-metrics-distributed` chart
|
||||
|
||||
Export default values of `victoria-metrics-distributed` chart to file `values.yaml`:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm show values vm/victoria-metrics-distributed > values.yaml
|
||||
```
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-distributed > values.yaml
|
||||
```
|
||||
|
||||
Change the values according to the need of the environment in ``values.yaml`` file.
|
||||
|
||||
Test the installation with command:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm install vmd vm/victoria-metrics-distributed -f values.yaml -n NAMESPACE --debug --dry-run
|
||||
```
|
||||
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm install vmd oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-distributed -f values.yaml -n NAMESPACE --debug --dry-run
|
||||
```
|
||||
|
||||
Install chart with command:
|
||||
|
||||
- For HTTPS repository
|
||||
|
||||
```console
|
||||
helm install vmd vm/victoria-metrics-distributed -f values.yaml -n NAMESPACE
|
||||
```
|
||||
|
||||
- For OCI repository
|
||||
|
||||
```console
|
||||
helm install vmd oci://ghcr.io/victoriametrics/helm-charts/victoria-metrics-distributed -f values.yaml -n NAMESPACE
|
||||
```
|
||||
|
||||
Get the pods lists by running this commands:
|
||||
|
||||
```console
|
||||
kubectl get pods -A | grep 'vmd'
|
||||
```
|
||||
|
||||
Get the application by running this command:
|
||||
|
||||
```console
|
||||
helm list -f vmd -n NAMESPACE
|
||||
```
|
||||
|
||||
See the history of versions of `vmd` application with command.
|
||||
|
||||
```console
|
||||
helm history vmd -n NAMESPACE
|
||||
```
|
||||
|
||||
## How to upgrade
|
||||
|
||||
In order to serving query and ingestion while upgrading components version or changing configurations, it's recommended to perform maintenance on availability zone one by one.
|
||||
First, performing update on availability zone `zone-eu-1`:
|
||||
1. remove `zone-eu-1` from serving query by setting `.Values.availabilityZones.{zone-eu-1}.read.allow=false`;
|
||||
2. run `helm upgrade vm-dis -n NAMESPACE` with updated configurations for `zone-eu-1` in `values.yaml`;
|
||||
3. wait for all the components on zone `zone-eu-1` running;
|
||||
4. wait `zone-us-1` vmagent persistent queue for `zone-eu-1` been drained, add `zone-eu-1` back to serving query by setting `.Values.availabilityZones.{zone-eu-1}.read.allow=true`.
|
||||
|
||||
Then, perform update on availability zone `zone-us-1` with the same steps1~4.
|
||||
|
||||
### Upgrade to 0.5.0
|
||||
|
||||
This release was refactored, names of the parameters was changed:
|
||||
|
||||
- `vmauthIngestGlobal` was changed to `write.global.vmauth`
|
||||
- `vmauthQueryGlobal` was changed to `read.global.vmauth`
|
||||
- `availabilityZones[*].allowIngest` was changed to `availabilityZones[*].write.allow`
|
||||
- `availabilityZones[*].allowRead` was changed to `availabilityZones[*].read.allow`
|
||||
- `availabilityZones[*].nodeSelector` was moved to `availabilityZones[*].common.spec.nodeSelector`
|
||||
- `availabilityZones[*].extraAffinity` was moved to `availabilityZones[*].common.spec.affinity`
|
||||
- `availabilityZones[*].topologySpreadConstraints` was moved to `availabilityZones[*].common.spec.topologySpreadConstraints`
|
||||
- `availabilityZones[*].vmauthIngest` was moved to `availabilityZones[*].write.vmauth`
|
||||
- `availabilityZones[*].vmauthQueryPerZone` was moved to `availabilityZones[*].read.perZone.vmauth`
|
||||
- `availabilityZones[*].vmauthCrossAZQuery` was moved to `availabilityZones[*].read.crossZone.vmauth`
|
||||
|
||||
Example:
|
||||
|
||||
If before an upgrade you had given below configuration
|
||||
|
||||
```yaml
|
||||
vmauthIngestGlobal:
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
vmauthQueryGlobal:
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
availabilityZones:
|
||||
- name: zone-eu-1
|
||||
vmauthIngest:
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
vmcluster:
|
||||
spec:
|
||||
retentionPeriod: "14"
|
||||
```
|
||||
|
||||
after upgrade it will look like this:
|
||||
|
||||
```yaml
|
||||
write:
|
||||
global:
|
||||
vmauth:
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
read:
|
||||
global:
|
||||
vmauth:
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
availabilityZones:
|
||||
- name: zone-eu-1
|
||||
write:
|
||||
vmauth:
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
vmcluster:
|
||||
spec:
|
||||
retentionPeriod: "14"
|
||||
```
|
||||
|
||||
## How to uninstall
|
||||
|
||||
Remove application with command.
|
||||
|
||||
```console
|
||||
helm uninstall vmd -n NAMESPACE
|
||||
```
|
||||
|
||||
## Documentation of Helm Chart
|
||||
|
||||
Install ``helm-docs`` following the instructions on this [tutorial](https://docs.victoriametrics.com/helm/requirements/).
|
||||
|
||||
Generate docs with ``helm-docs`` command.
|
||||
|
||||
```bash
|
||||
cd charts/victoria-metrics-distributed
|
||||
|
||||
helm-docs
|
||||
```
|
||||
|
||||
The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README.
|
||||
|
||||
## Parameters
|
||||
|
||||
The following tables lists the configurable parameters of the chart and their default values.
|
||||
|
||||
Change the values according to the need of the environment in ``victoria-metrics-distributed`/values.yaml`` file.
|
||||
|
||||
<table class="helm-vars">
|
||||
<thead>
|
||||
<th class="helm-vars-key">Key</th>
|
||||
<th class="helm-vars-type">Type</th>
|
||||
<th class="helm-vars-default">Default</th>
|
||||
<th class="helm-vars-description">Description</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>availabilityZones</td>
|
||||
<td>list</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">- name: zone-eu-1
|
||||
- name: zone-us-1
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Config for all availability zones. Each element represents custom zone config, which overrides a default one from <code>zoneTpl</code></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>availabilityZones[0].name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">zone-eu-1
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Availability zone name</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>availabilityZones[1].name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">zone-us-1
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Availability zone name</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>common.vmagent.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">port: "8429"
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Common VMAgent spec, which can be overridden by each VMAgent configuration. Available parameters can be found <a href="https://docs.victoriametrics.com/operator/api/index.html#vmagentspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>common.vmauth.spec.port</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">"8427"
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>common.vmcluster.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">vminsert:
|
||||
port: "8480"
|
||||
serviceSpec:
|
||||
spec:
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
vmselect:
|
||||
port: "8481"
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Common VMCluster spec, which can be overridden by each VMCluster configuration. Available parameters can be found <a href="https://docs.victoriametrics.com/operator/api/index.html#vmclusterspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>enableMultitenancy</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">false
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Enable multitenancy mode see <a href="https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-distributed#how-to-use-multitenancy" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>extra</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">vmagent:
|
||||
enabled: true
|
||||
name: test-vmagent
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Set up an extra vmagent to scrape all the scrape objects by default, and write data to above write-global endpoint.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fullnameOverride</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">""
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Overrides the chart’s computed fullname.</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>global</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">cluster:
|
||||
dnsDomain: cluster.local.
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Global chart properties</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>global.cluster.dnsDomain</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">cluster.local.
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>K8s cluster domain suffix, uses for building storage pods’ FQDN. Details are <a href="https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nameOverride</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vm-distributed
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Overrides the chart’s name</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read.global.vmauth.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create vmauth as the global read entrypoint</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read.global.vmauth.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmauth-global-read-{{ .fullname }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmauth object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>read.global.vmauth.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMAuth CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmauthspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>victoria-metrics-k8s-stack</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">alertmanager:
|
||||
enabled: false
|
||||
enabled: true
|
||||
grafana:
|
||||
enabled: true
|
||||
victoria-metrics-operator:
|
||||
enabled: true
|
||||
vmagent:
|
||||
enabled: false
|
||||
vmalert:
|
||||
enabled: false
|
||||
vmcluster:
|
||||
enabled: false
|
||||
vmsingle:
|
||||
enabled: false
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Set up vm operator and other resources like vmalert, grafana if needed</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>write.global.vmauth.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create a vmauth as the global write entrypoint</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>write.global.vmauth.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmauth-global-write-{{ .fullname }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmauth object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>write.global.vmauth.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMAuth CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmauthspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">common:
|
||||
spec:
|
||||
affinity: {}
|
||||
nodeSelector:
|
||||
topology.kubernetes.io/zone: '{{ (.zone).name }}'
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
read:
|
||||
allow: true
|
||||
crossZone:
|
||||
vmauth:
|
||||
enabled: true
|
||||
name: vmauth-read-proxy-{{ (.zone).name }}
|
||||
spec: {}
|
||||
perZone:
|
||||
vmauth:
|
||||
enabled: true
|
||||
name: vmauth-read-balancer-{{ (.zone).name }}
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
vmagent:
|
||||
annotations: {}
|
||||
enabled: true
|
||||
name: vmagent-{{ (.zone).name }}
|
||||
spec: {}
|
||||
vmcluster:
|
||||
enabled: true
|
||||
name: vmcluster-{{ (.zone).name }}
|
||||
spec:
|
||||
replicationFactor: 2
|
||||
retentionPeriod: "14"
|
||||
vminsert:
|
||||
extraArgs: {}
|
||||
replicaCount: 2
|
||||
resources: {}
|
||||
vmselect:
|
||||
extraArgs: {}
|
||||
replicaCount: 2
|
||||
resources: {}
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
resources: {}
|
||||
storageDataPath: /vm-data
|
||||
write:
|
||||
allow: true
|
||||
vmauth:
|
||||
enabled: true
|
||||
name: vmauth-write-balancer-{{ (.zone).name }}
|
||||
spec:
|
||||
extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Default config for each availability zone components, including vmagent, vmcluster, vmauth etc. Defines a template for each availability zone, which can be overridden for each availability zone at <code>availabilityZones[*]</code></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.common.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">affinity: {}
|
||||
nodeSelector:
|
||||
topology.kubernetes.io/zone: '{{ (.zone).name }}'
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: ScheduleAnyway
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Common for <a href="https://docs.victoriametrics.com/operator/api/#vmagentspec" target="_blank">VMAgent</a>, <a href="https://docs.victoriametrics.com/operator/api/#vmauthspec" target="_blank">VMAuth</a>, <a href="https://docs.victoriametrics.com/operator/api/#vmclusterspec" target="_blank">VMCluster</a> spec params, like nodeSelector, affinity, topologySpreadConstraint, etc</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.allow</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Allow data query from this zone through global query endpoint</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.crossZone.vmauth.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create a vmauth with all the zone with <code>allow: true</code> as query backends</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.crossZone.vmauth.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmauth-read-proxy-{{ (.zone).name }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmauth object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.crossZone.vmauth.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMAuth CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmauthspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.perZone.vmauth.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create vmauth as a local read endpoint</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.perZone.vmauth.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmauth-read-balancer-{{ (.zone).name }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmauth object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.read.perZone.vmauth.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMAuth CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmauthspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmagent.annotations</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>VMAgent remote write proxy annotations</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmagent.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create VMAgent remote write proxy</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmagent.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmagent-{{ (.zone).name }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmagent object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmagent.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">{}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMAgent CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmagentspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmcluster.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create VMCluster</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmcluster.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmcluster-{{ (.zone).name }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmcluster, by default is <zoneName></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.vmcluster.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">replicationFactor: 2
|
||||
retentionPeriod: "14"
|
||||
vminsert:
|
||||
extraArgs: {}
|
||||
replicaCount: 2
|
||||
resources: {}
|
||||
vmselect:
|
||||
extraArgs: {}
|
||||
replicaCount: 2
|
||||
resources: {}
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
resources: {}
|
||||
storageDataPath: /vm-data
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMCluster CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmclusterspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.write.allow</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Allow data ingestion to this zone</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.write.vmauth.enabled</td>
|
||||
<td>bool</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">true
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Create vmauth as a local write endpoint</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.write.vmauth.name</td>
|
||||
<td>string</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="">
|
||||
<code class="language-yaml">vmauth-write-balancer-{{ (.zone).name }}
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Override the name of the vmauth object</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zoneTpl.write.vmauth.spec</td>
|
||||
<td>object</td>
|
||||
<td><pre class="helm-vars-default-value language-yaml" lang="plaintext">
|
||||
<code class="language-yaml">extraArgs:
|
||||
discoverBackendIPs: "true"
|
||||
</code>
|
||||
</pre>
|
||||
</td>
|
||||
<td><p>Spec for VMAuth CRD, see <a href="https://docs.victoriametrics.com/operator/api#vmauthspec" target="_blank">here</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-distributed-changelog
|
||||
parent: helm-victoriametrics-distributed
|
||||
url: /helm/victoriametrics-distributed/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-distributed/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 7
|
||||
title: VictoriaMetrics Distributed
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 7
|
||||
identifier: helm-victoriametrics-distributed
|
||||
url: /helm/victoriametrics-distributed
|
||||
aliases:
|
||||
- /helm/victoriametrics-distributed/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
Before ![]() (image error) Size: 72 KiB |
|
@ -1,407 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.6.7
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.6.6
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.6.5
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.6.4
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.6.3
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Exclude markdown files from package
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.6.2
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- bump version of VM components to [v1.108.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
|
||||
## 0.6.1
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.6.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.28 -> 0.0.33
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.5.7
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.26 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.5.6
|
||||
|
||||
**Release date:** 2024-11-14
|
||||
|
||||

|
||||

|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.26
|
||||
- added template for configmap name
|
||||
- added init containers
|
||||
|
||||
## 0.5.5
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- added extraLabels for Deployment and podLabels for Pods
|
||||
- fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
|
||||
## 0.5.4
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- multiple paths for a host in ingress
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.5.3
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.5.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.5.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
|
||||
## 0.5.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.4.0
|
||||
|
||||
**Release date:** 2024-09-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Deprecated `rateLimiter.enable` in a favour of `rateLimiter.enabled`
|
||||
- Deprecated `auth.enable` in a favour of `auth.enabled`
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
|
||||
## 0.3.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
- Added ability to configure container port
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Removed `eula` support
|
||||
|
||||
## 0.2.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: main container name was changed to `vmgateway`, which will recreate a pod.
|
||||
|
||||
**Update note**: requires Helm 3.14+
|
||||
|
||||
- Added `basicAuth` support for `ServiceMonitor`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Added params to configure probes `.Values.probe.readiness`, `.Values.probe.liveness` and `.Values.probe.startup`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Use static container names in a pod
|
||||
- Added `.Values.service.ipFamilies` and `.Values.service.ipFamilyPolicy` for service IP family management
|
||||
|
||||
## 0.1.64
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.1.63
|
||||
|
||||
**Release date:** 2024-07-23
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0)
|
||||
|
||||
## 0.1.62
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.1.61
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 0.1.60
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.1.59
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0)
|
||||
|
||||
## 0.1.58
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1)
|
||||
|
||||
## 0.1.57
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.1.56
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0)
|
||||
|
||||
## 0.1.55
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1)
|
||||
|
||||
## 0.1.54
|
||||
|
||||
**Release date:** 2023-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix configuration of volume mount for license key referenced by using secret.
|
||||
- Fix `vmbackupmanager` flags configuration when providing license key via secret.
|
||||
|
||||
## 0.1.53
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0)
|
||||
|
||||
## 0.1.52
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1)
|
||||
|
||||
## 0.1.51
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0)
|
||||
|
||||
## 0.1.50
|
||||
|
||||
**Release date:** 2023-10-25
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix deployment `volumeMounts` when providing enterprise license key for VictoriaMetrics enterprise. See [this pr](https://github.com/VictoriaMetrics/helm-charts/pull/734) for details.
|
||||
|
||||
## 0.1.49
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0)
|
||||
- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.1.48
|
||||
|
||||
**Release date:** 2023-09-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5)
|
||||
|
||||
## 0.1.47
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4)
|
||||
|
||||
## 0.1.46
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of vmgateway to `v1.93.3`
|
||||
|
||||
## 0.1.43
|
||||
|
||||
**Release date:** 2023-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.93.0 to v1.93.1
|
||||
|
||||
## 0.1.42
|
||||
|
||||
**Release date:** 2023-08-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.1 to v1.93.0
|
||||
|
||||
## 0.1.41
|
||||
|
||||
**Release date:** 2023-07-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599)
|
||||
|
||||
## 0.1.40
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.91.3 to v1.92.0
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-gateway-changelog
|
||||
parent: helm-victoriametrics-gateway
|
||||
url: /helm/victoriametrics-gateway/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-gateway/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 8
|
||||
title: VictoriaMetrics Gateway
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 8
|
||||
identifier: helm-victoriametrics-gateway
|
||||
url: /helm/victoriametrics-gateway
|
||||
aliases:
|
||||
- /helm/victoriametrics-gateway/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,40 +0,0 @@
|
|||
# Release process guidance
|
||||
|
||||
## Update version for VictoriaMetrics kubernetes monitoring stack
|
||||
|
||||
1. Update dependency requirements in [Chart.yml](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/Chart.yaml)
|
||||
2. Apply changes via `helm dependency update`
|
||||
3. Update image tag in chart values:
|
||||
|
||||
<div class="with-copy" markdown="1">
|
||||
|
||||
```console
|
||||
make sync-rules
|
||||
make sync-dashboards
|
||||
```
|
||||
</div>
|
||||
4. Bump version of the victoria-metrics-k8s-stack [Chart.yml](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-k8s-stack/Chart.yaml)
|
||||
5. Run linter:
|
||||
|
||||
<div class="with-copy" markdown="1">
|
||||
|
||||
```console
|
||||
make lint
|
||||
```
|
||||
|
||||
</div>
|
||||
6. Render templates locally to check for errors:
|
||||
|
||||
<div class="with-copy" markdown="1">
|
||||
|
||||
```console
|
||||
helm template vm-k8s-stack ./charts/victoria-metrics-k8s-stack --output-dir out --values ./charts/victoria-metrics-k8s-stack/values.yaml --debug
|
||||
```
|
||||
|
||||
</div>
|
||||
7. Test updated chart by installing it to your kubernetes cluster.
|
||||
8. Update docs with
|
||||
```console
|
||||
helm-docs
|
||||
```
|
||||
9. Commit the changes and send a [PR](https://github.com/VictoriaMetrics/helm-charts/pulls)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-k8s-stack-changelog
|
||||
parent: helm-victoriametrics-k8s-stack
|
||||
url: /helm/victoriametrics-k8s-stack/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-k8s-stack/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 9
|
||||
title: VictoriaMetrics K8s Stack
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 9
|
||||
identifier: helm-victoriametrics-k8s-stack
|
||||
url: /helm/victoriametrics-k8s-stack
|
||||
aliases:
|
||||
- /helm/victoriametrics-k8s-stack/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
Before ![]() (image error) Size: 93 KiB |
|
@ -1,753 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
|
||||
## 0.42.0
|
||||
|
||||
**Release date:** 05 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- updates operator to [v0.53.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.53.0) version
|
||||
|
||||
## 0.41.2
|
||||
|
||||
**Release date:** 05 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- added `.Values.allowedMetricsEndpoints`
|
||||
|
||||
## 0.41.1
|
||||
|
||||
**Release date:** 04 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- Added default values for securityContext and podSecurityContext
|
||||
|
||||
## 0.41.0
|
||||
|
||||
**Release date:** 22 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- updates operator to [v0.52.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.52.0) version
|
||||
|
||||
## 0.40.5
|
||||
|
||||
**Release date:** 20 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Made certManager certificates commonName and duration configurable. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1924).
|
||||
- Add pod priority class configuration for operator. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1929).
|
||||
|
||||
## 0.40.4
|
||||
|
||||
**Release date:** 13 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- updates operator to [v0.51.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.51.3) version
|
||||
|
||||
## 0.40.3
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.36 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.40.2
|
||||
|
||||
**Release date:** 24 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- add option to enable hostNetwork for custom CNI based deployments
|
||||
- updated common dependency 0.0.35 -> 0.0.36
|
||||
- updates operator to [v0.51.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.51.2) version
|
||||
|
||||
## 0.40.1
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- Compact CRD template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1888).
|
||||
- Exclude markdown files from package
|
||||
|
||||
## 0.40.0
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- updates operator to [v0.51.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.51.1) version
|
||||
|
||||
|
||||
## 0.40.0-rc.1
|
||||
|
||||
**Release date:** 2024-12-17
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.32 -> 0.0.33
|
||||
- add an option to mount `ServiceAccount` token manually for security hardening reasons.
|
||||
|
||||
## 0.39.1
|
||||
|
||||
**Release date:** 2024-11-25
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.31 -> 0.0.32
|
||||
|
||||
## 0.39.0
|
||||
|
||||
**Release date:** 2024-11-25
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.28 -> 0.0.31
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
|
||||
## 0.38.0
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.28
|
||||
- added back `crds.enabled: false` option, which disables CRD creation, but due to limitation of dependencies condition it allows to disable only in combination with `crds.plain: false`
|
||||
- disabled cleanup, while `crds.enabled: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1563).
|
||||
- updates operator to [v0.50.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.49.0) version
|
||||
|
||||
## 0.37.0
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- Migrated to common templates
|
||||
- updates operator to [v0.49.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.49.0) version
|
||||
|
||||
|
||||
## 0.36.0
|
||||
|
||||
**Release date:** 2024-10-22
|
||||
|
||||

|
||||

|
||||
|
||||
- replaced `crd.enabled` property to `crds.plain`. Instead of disabling CRDs it selects if CRDs should be rendered from template or as plain CRDs
|
||||
|
||||
## 0.35.5
|
||||
|
||||
**Release date:** 2024-10-15
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.48.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.48.4) version
|
||||
|
||||
## 0.35.4
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.35.3
|
||||
|
||||
**Release date:** 2024-10-10
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
- made webhook pod port configurable. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1565)
|
||||
- added configurable cleanup hook resources. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1571)
|
||||
- added ability to configure `terminationGracePeriodSeconds` and `lifecycle`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1563) for details
|
||||
|
||||
## 0.35.2
|
||||
|
||||
**Release date:** 2024-09-29
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.48.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.48.3) version
|
||||
|
||||
## 0.35.1
|
||||
|
||||
**Release date:** 2024-09-26
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.48.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.48.1) version
|
||||
|
||||
## 0.35.0
|
||||
|
||||
**Release date:** 2024-09-26
|
||||
|
||||

|
||||

|
||||
|
||||
- Made webhook port configurable. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1506)
|
||||
- Changed crd cleanup hook delete policy to prevent `resource already exists` error.
|
||||
- updates operator to [v0.48.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.48.0) version
|
||||
|
||||
## 0.34.8
|
||||
|
||||
**Release date:** 2024-09-10
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Fixed template for cert-manager certificates
|
||||
- Fixed operator Role creation when only watching own namespace using `watchNamespaces`
|
||||
- Changed webhook service port from 443 to 9443
|
||||
|
||||
## 0.34.7
|
||||
|
||||
**Release date:** 2024-09-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Do not create ClusterRole if `watchNamespaces` contains only namespace, where operator is deployed
|
||||
|
||||
## 0.34.6
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.47.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.3) version
|
||||
- Made `cleanupCRD` deprecated in a favour of `crd.cleanup.enabled`
|
||||
- Made `cleanupImage` deprecated in a favour of `crd.cleanup.image`
|
||||
- Made `watchNamespace` string deprecated in a favour of `watchNamespaces` slice
|
||||
- Decreased rendering time by 2 seconds
|
||||
|
||||
## 0.34.5
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||

|
||||
|
||||
- fixes typo at clean webhook. vmlogs->vlogs.
|
||||
|
||||
## 0.34.4
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||

|
||||
|
||||
- fixes RBAC by rollback <https://github.com/VictoriaMetrics/helm-charts/commit/7d75b93525bb0a99a8011b700d0a51b6b762321c>
|
||||
|
||||
## 0.34.3
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||

|
||||
|
||||
- removes not implemented scrape CRDs from validation webhook
|
||||
|
||||
## 0.34.2
|
||||
|
||||
**Release date:** 2024-08-26
|
||||
|
||||

|
||||

|
||||
|
||||
- set `admissionWebhooks.keepTLSSecret` to `true` by default
|
||||
- fixed indent, for Issuer crd, when `cert-manager.enabled: true`
|
||||
- updates operator to [v0.47.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.2) version
|
||||
|
||||
## 0.34.1
|
||||
|
||||
**Release date:** 2024-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: main container name was changed to `operator`, which will recreate a pod.
|
||||
|
||||
- Updated operator to v0.47.1 release
|
||||
- Added global imagePullSecrets and image.registry
|
||||
- Use static container names in a pod
|
||||
- Updated operator service scrape config
|
||||
- Added `.Values.vmstorage.service.ipFamilies` and `.Values.vmstorage.service.ipFamilyPolicy` for service IP family management
|
||||
- Enabled webhook by default
|
||||
- Generate webhook certificate when Cert Manager is not enabled
|
||||
- Added ability to configure container port
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
|
||||
## 0.34.0
|
||||
|
||||
**Release date:** 2024-08-15
|
||||
|
||||

|
||||

|
||||
|
||||
- Set minimal kubernetes version to 1.25
|
||||
- Removed support for policy/v1beta1/PodDisruptionBudget
|
||||
- Added configurable probes at `.Values.probe`
|
||||
- updates operator to [v0.47.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.0) release
|
||||
- adds RBAC permissions to VLogs object
|
||||
|
||||
## 0.33.6
|
||||
|
||||
**Release date:** 2024-08-07
|
||||
|
||||

|
||||

|
||||
|
||||
- add missing permission to allow patching `horizontalpodautoscalers` when operator watches single namespace.
|
||||
|
||||
## 0.33.5
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- fix cleanup job image tag when `.Capabilities.KubeVersion.Minor` returns version with plus sign. See [this pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1169) by @dimaslv.
|
||||
|
||||
## 0.33.4
|
||||
|
||||
**Release date:** 2024-07-10
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.46.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.4) release
|
||||
|
||||
## 0.33.3
|
||||
|
||||
**Release date:** 2024-07-05
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.46.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.3) release
|
||||
|
||||
## 0.33.2
|
||||
|
||||
**Release date:** 2024-07-04
|
||||
|
||||

|
||||

|
||||
|
||||
- breaking change: operator uses different entrypoint, remove `command` entrypoint
|
||||
- breaking change: operator uses new flag for leader election `leader-elect`
|
||||
- removes podsecurity policy. It's longer supported by kubernetes
|
||||
- updates operator to [v0.46.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.2) release
|
||||
|
||||
## 0.33.1
|
||||
|
||||
**Release date:** 2024-07-03
|
||||
|
||||

|
||||

|
||||
|
||||
- breaking change: operator uses different entrypoint, remove `command` entrypoint
|
||||
- breaking change: operator uses new flag for leader election `leader-elect`
|
||||
- removes podsecurity policy. It's longer supported by kubernetes
|
||||
- updates operator to [v0.46.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.46.0) release
|
||||
|
||||
## 0.32.3
|
||||
|
||||
**Release date:** 2024-07-02
|
||||
|
||||

|
||||

|
||||
|
||||
- use bitnami/kubectl image for cleanup instead of deprecated gcr.io/google_containers/hyperkube
|
||||
|
||||
## 0.32.2
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
- fix default image tag when using `Chart.AppVersion`, previously the version is missing "v".
|
||||
|
||||
## 0.32.1
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.32.0
|
||||
|
||||
**Release date:** 2024-06-10
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.45.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.45.0)
|
||||
|
||||
## 0.31.2
|
||||
|
||||
**Release date:** 2024-05-14
|
||||
|
||||

|
||||

|
||||
|
||||
- fix missing serviceaccounts patch permission in ClusterRole, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1012) for details.
|
||||
|
||||
## 0.31.1
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- fix serviceAccount template when `.Values.serviceAccount.create=false`, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1002) by @tylerturk for details.
|
||||
- support creating aggregated clusterRoles for VM CRDs with admin and read permissions, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/996) by @reegnz for details.
|
||||
|
||||
## 0.31.0
|
||||
|
||||
**Release date:** 2024-05-09
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.44.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.44.0)
|
||||
|
||||
## 0.30.3
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to [v0.43.5](https://github.com/VictoriaMetrics/operator/releases/tag/v0.43.5)
|
||||
|
||||
## 0.30.2
|
||||
|
||||
**Release date:** 2024-04-23
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to v0.43.1 version
|
||||
- fixes typo at single-namespace role for `vmscrapeconfig`. See this [issue](https://github.com/VictoriaMetrics/helm-charts/issues/987) for details.
|
||||
|
||||
## 0.30.1
|
||||
|
||||
**Release date:** 2024-04-18
|
||||
|
||||

|
||||

|
||||
|
||||
- TODO
|
||||
|
||||
- updates operator to v0.43.1 version
|
||||
|
||||
## 0.30.0
|
||||
|
||||
**Release date:** 2024-04-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator to v0.43.0-0 version
|
||||
- adds `events` create permission
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters.
|
||||
|
||||
## 0.29.6
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- clean up vmauth as well when uninstall chart with `cleanupCRD: true`, since it also has `finalizers`.
|
||||
- sync new crd VMScrapeConfig from operator, see detail in <https://docs.victoriametrics.com/operator/api/#vmscrapeconfig>.
|
||||
|
||||
## 0.29.5
|
||||
|
||||
**Release date:** 2024-04-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.42.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.4)
|
||||
|
||||
## 0.29.4
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
|
||||
## 0.29.3
|
||||
|
||||
**Release date:** 2024-03-12
|
||||
|
||||

|
||||

|
||||
|
||||
- TODO
|
||||
|
||||
## 0.29.2
|
||||
|
||||
**Release date:** 2024-03-06
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.42.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.2)
|
||||
|
||||
## 0.29.0
|
||||
|
||||
**Release date:** 2024-03-06
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.42.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.1)
|
||||
|
||||
## 0.29.0
|
||||
|
||||
**Release date:** 2024-03-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.42.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.42.0)
|
||||
|
||||
## 0.28.1
|
||||
|
||||
**Release date:** 2024-02-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.41.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.2)
|
||||
|
||||
## 0.28.0
|
||||
|
||||
**Release date:** 2024-02-09
|
||||
|
||||

|
||||

|
||||
|
||||
- Update victoriametrics CRD resources yaml.
|
||||
|
||||
## 0.27.11
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.41.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.41.1)
|
||||
|
||||
## 0.27.10
|
||||
|
||||
**Release date:** 2024-01-24
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump operator version to [0.40.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.40.0)
|
||||
|
||||
## 0.27.9
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.39.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.4)
|
||||
|
||||
## 0.27.8
|
||||
|
||||
**Release date:** 2023-12-08
|
||||
|
||||

|
||||

|
||||
|
||||
- Sync CRD resources with operator [v0.39.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.3).
|
||||
|
||||
## 0.27.7
|
||||
|
||||
**Release date:** 2023-12-08
|
||||
|
||||

|
||||

|
||||
|
||||
- Skip deleting victoriametrics CRD resources when uninstall release.
|
||||
|
||||
## 0.27.6
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.39.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.3)
|
||||
|
||||
## 0.27.5
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.39.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.2)
|
||||
- Add `extraObjects` to allow deploying additional resources with the chart release. (#751)
|
||||
|
||||
## 0.27.4
|
||||
|
||||
**Release date:** 2023-11-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.39.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.1)
|
||||
|
||||
## 0.27.3
|
||||
|
||||
**Release date:** 2023-10-08
|
||||
|
||||

|
||||

|
||||
|
||||
- Added endpointslices permissions to operator roles (#708)
|
||||
|
||||
## 0.27.2
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM operator to [0.39.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.39.0)
|
||||
|
||||
## 0.27.1
|
||||
|
||||
**Release date:** 2023-09-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix `relabelConfigs` for operator's VMServiceScrape (#624)
|
||||
|
||||
## 0.27.0
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of operator to [v0.38.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.38.0)
|
||||
|
||||
## 0.26.2
|
||||
|
||||
**Release date:** 2023-09-07
|
||||
|
||||

|
||||

|
||||
|
||||
- Updated CRDs for operator
|
||||
|
||||
## 0.26.1
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of Victoria Metrics operator to `v0.37.1`
|
||||
|
||||
## 0.26.0
|
||||
|
||||
**Release date:** 2023-08-30
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump operator version to [v0.37.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.37.0)
|
||||
- `psp_auto_creation_enabled` for operator is disabled by default
|
||||
|
||||
## 0.25.0
|
||||
|
||||
**Release date:** 2023-08-24
|
||||
|
||||

|
||||

|
||||
|
||||
- Added `topologySpreadConstraints` for the operator + a small refactoring (#611)
|
||||
- Fix vm operator appVersion (#589)
|
||||
- Fixes operator doc description
|
||||
- Add `cleanupCRD` option to clean up vm cr resources when uninstalling (#593)
|
||||
- Bump operator version to [v0.36.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.36.0)
|
||||
|
||||
## 0.24.1
|
||||
|
||||
**Release date:** 2023-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- operator release v0.35.1
|
||||
|
||||
## 0.24.0
|
||||
|
||||
**Release date:** 2023-07-03
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator for v0.35.0
|
||||
- updates for v1.91.1 release
|
||||
|
||||
## 0.23.1
|
||||
|
||||
**Release date:** 2023-05-29
|
||||
|
||||

|
||||

|
||||
|
||||
- updates operator for v0.34.1 version
|
||||
|
||||
## 0.23.0
|
||||
|
||||
**Release date:** 2023-05-25
|
||||
|
||||

|
||||

|
||||
|
||||
- bump operator version
|
||||
- feat(operator): add PodDisruptionBudget (#546)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-operator-changelog
|
||||
parent: helm-victoriametrics-operator
|
||||
url: /helm/victoriametrics-operator/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-operator/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 10
|
||||
title: VictoriaMetrics Operator
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 10
|
||||
identifier: helm-victoriametrics-operator
|
||||
url: /helm/victoriametrics-operator
|
||||
aliases:
|
||||
- /helm/victoriametrics-operator/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,19 +0,0 @@
|
|||
|
||||
|
||||
 
|
||||
|
||||
A subchart stores victoriametrics operator CRDs.
|
||||
|
||||
## Documentation of Helm Chart
|
||||
|
||||
Install ``helm-docs`` following the instructions on this [tutorial](https://docs.victoriametrics.com/helm/requirements/).
|
||||
|
||||
Generate docs with ``helm-docs`` command.
|
||||
|
||||
```bash
|
||||
cd charts/crds
|
||||
|
||||
helm-docs
|
||||
```
|
||||
|
||||
The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default ``README.md.gotmpl``). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README.
|
|
@ -1,502 +0,0 @@
|
|||
## Next release
|
||||
|
||||
- TODO
|
||||
|
||||
## 0.13.10
|
||||
|
||||
**Release date:** 10 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.111.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.111.0)
|
||||
|
||||
## 0.13.9
|
||||
|
||||
**Release date:** 06 Feb 2025
|
||||
|
||||
 
|
||||
|
||||
- added ability to override default headless service .Values.server.service.clusterIP with empty value
|
||||
- updated common dependency 0.0.37 -> 0.0.39
|
||||
|
||||
## 0.13.8
|
||||
|
||||
**Release date:** 27 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.110.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.110.0)
|
||||
|
||||
## 0.13.7
|
||||
|
||||
**Release date:** 20 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- fixed type in relabel config. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1922) for details.
|
||||
|
||||
## 0.13.6
|
||||
|
||||
**Release date:** 17 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.1)
|
||||
|
||||
## 0.13.5
|
||||
|
||||
**Release date:** 14 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- bump version of VM components to [v1.109.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.109.0)
|
||||
|
||||
## 0.13.4
|
||||
|
||||
**Release date:** 06 Jan 2025
|
||||
|
||||
 
|
||||
|
||||
- Exclude markdown files from package
|
||||
- updated common dependency 0.0.35 -> 0.0.37
|
||||
- support templating in `.Values.extraObjects`
|
||||
|
||||
## 0.13.3
|
||||
|
||||
**Release date:** 19 Dec 2024
|
||||
|
||||
 
|
||||
|
||||
- updated common dependency 0.0.34 -> 0.0.35
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.1)
|
||||
|
||||
## 0.13.2
|
||||
|
||||
**Release date:** 2024-12-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.108.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.108.0)
|
||||
|
||||
## 0.13.1
|
||||
|
||||
**Release date:** 2024-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- do not set clusterIP value, when service type is not ClusterIP. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1838)
|
||||
|
||||
## 0.13.0
|
||||
|
||||
**Release date:** 2024-12-02
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.28 -> 0.0.33
|
||||
- fixed app.kubernetes.io/version tag override if custom tag is set. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1766).
|
||||
- Added service.targetPort and serviceMonitor.targetPort to add ability to point service to one of extraContainers port, like oauth2-proxy
|
||||
- bump version of VM components to [v1.107.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.107.0)
|
||||
|
||||
## 0.12.7
|
||||
|
||||
**Release date:** 2024-11-18
|
||||
|
||||

|
||||

|
||||
|
||||
- updated common dependency 0.0.20 -> 0.0.28
|
||||
- bump version of VM components to [v1.106.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.1)
|
||||
|
||||
## 0.12.6
|
||||
|
||||
**Release date:** 2024-11-07
|
||||
|
||||

|
||||

|
||||
|
||||
- set default DNS domain to `cluster.local.`
|
||||
- updated common dependency 0.0.19 -> 0.0.20
|
||||
- fixed ability to pass a custom scrape and relabel configs. see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1700).
|
||||
|
||||
## 0.12.5
|
||||
|
||||
**Release date:** 2024-11-06
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix Deployment/StatefulSets when `serviceAccount.name` is empty and `serviceAccount.create: false`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1683).
|
||||
|
||||
## 0.12.4
|
||||
|
||||
**Release date:** 2024-11-05
|
||||
|
||||

|
||||

|
||||
|
||||
- replaced chart templates with common ones
|
||||
- multiple paths for a host in ingress
|
||||
- Added ability to override PVC name for Deployment
|
||||
- bump version of VM components to [v1.106.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.106.0)
|
||||
|
||||
## 0.12.3
|
||||
|
||||
**Release date:** 2024-10-21
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.105.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.105.0)
|
||||
|
||||
## 0.12.2
|
||||
|
||||
**Release date:** 2024-10-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Human-readable error about Helm version requirement
|
||||
|
||||
## 0.12.1
|
||||
|
||||
**Release date:** 2024-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- upgraded common chart dependency
|
||||
|
||||
## 0.12.0
|
||||
|
||||
**Release date:** 2024-10-02
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.104.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.104.0)
|
||||
|
||||
## 0.11.2
|
||||
|
||||
**Release date:** 2024-09-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to override deployment namespace using `namespaceOverride` and `global.namespaceOverride` variables
|
||||
- Removed deprecated API from RBAC. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1438)
|
||||
- Made replicas configurable
|
||||
- Allow override default for statefulset headless service
|
||||
|
||||
## 0.11.1
|
||||
|
||||
**Release date:** 2024-09-03
|
||||
|
||||

|
||||

|
||||
|
||||
- Deprecated `server.vmbackupmanager.enable` in a favour of `server.vmbackupmanager.enabled`. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/940).
|
||||
- Fixed PVC in StatefulSet
|
||||
|
||||
## 0.11.0
|
||||
|
||||
**Release date:** 2024-08-29
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.103.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.103.0)
|
||||
- Fixed image pull secrets. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1285)
|
||||
- Added global relabelConfig. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/207)
|
||||
- Renamed `.Values.server.persistentVolume.storageClass` to `.Values.server.persistentVolume.storageClassName`
|
||||
- Removed necessity to set `.Values.server.persistentVolume.existingClaim` when it should be created by chart. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/189)
|
||||
- Removed `eula` support
|
||||
|
||||
## 0.10.1
|
||||
|
||||
**Release date:** 2024-08-22
|
||||
|
||||

|
||||

|
||||
|
||||
- Added ability to configure container port
|
||||
- Fixed volume template. See [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1280)
|
||||
|
||||
## 0.10.0
|
||||
|
||||
**Release date:** 2024-08-21
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: main container name was changed to `vmsingle`, which will recreate a pod.
|
||||
|
||||
- Added `basicAuth` support for `ServiceMonitor`
|
||||
- fix inconsistent relabeling `target_label` in default scrape config.
|
||||
- Removed `PodSecurityPolicy`
|
||||
- Removed support for `policy/v1beta1/PodDisruptionBudget`
|
||||
- Set minimal kubernetes version to `1.25`
|
||||
- Added ability to override liveness and readiness probes
|
||||
- Updated `.Values.vmbackupmanager.readinessProbe` to `.Values.vmbackupmanager.probe.readiness`
|
||||
- Updated `.Values.vmbackupmanager.livenessProbe` to `.Values.vmbackupmanager.probe.liveness`
|
||||
- Updated `.Values.vmbackupmanager.startupProbe` to `.Values.vmbackupmanager.probe.startup`
|
||||
- Updated `.Values.server.readinessProbe` to `.Values.server.probe.readiness`
|
||||
- Updated `.Values.server.livenessProbe` to `.Values.server.probe.liveness`
|
||||
- Updated `.Values.server.startupProbe` to `.Values.server.probe.startup`
|
||||
- Added `.Values.global.imagePullSecrets` and `.Values.global.image.registry`
|
||||
- Merged headless and non-headless services, removed statefulset service specific variables
|
||||
- Use static container names in a pod
|
||||
- Removed `networking.k8s.io/v1beta1/Ingress` and `extensions/v1beta1/Ingress` support
|
||||
- Added `.Values.server.service.ipFamilies` and `.Values.server.service.ipFamilyPolicy` for service IP family management
|
||||
|
||||
## 0.9.26
|
||||
|
||||
**Release date:** 2024-08-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.1)
|
||||
|
||||
## 0.9.25
|
||||
|
||||
**Release date:** 2024-07-23
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.102.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0)
|
||||
|
||||
## 0.9.24
|
||||
|
||||
**Release date:** 2024-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- fix license flags templates, Thanks to @akatch for [the pull request](https://github.com/VictoriaMetrics/helm-charts/pull/1140).
|
||||
|
||||
## 0.9.23
|
||||
|
||||
**Release date:** 2024-07-08
|
||||
|
||||

|
||||

|
||||
|
||||
- add missing API version and kind for volumeClaimTemplates, see [this issue](https://github.com/VictoriaMetrics/helm-charts/issues/1092).
|
||||
|
||||
## 0.9.22
|
||||
|
||||
**Release date:** 2024-06-14
|
||||
|
||||

|
||||

|
||||
|
||||
**Update note**: The VictoriaMetrics components image tag template has been updated. This change introduces `.Values.<component>.image.variant` to specify tag suffixes like `-scratch`, `-cluster`, `-enterprise`. Additionally, you can now omit `.Values.<component>.image.tag` to automatically use the version specified in `.Chart.AppVersion`.
|
||||
|
||||
- support specifying image tag suffix like "-enterprise" for VictoriaMetrics components using `.Values.<component>.image.variant`.
|
||||
|
||||
## 0.9.21
|
||||
|
||||
**Release date:** 2024-05-16
|
||||
|
||||

|
||||

|
||||
|
||||
- fix lost customized securityContext when introduced new default behavior for securityContext in [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995).
|
||||
|
||||
## 0.9.20
|
||||
|
||||
**Release date:** 2024-05-10
|
||||
|
||||

|
||||

|
||||
|
||||
- support disabling default securityContext to keep compatible with platform like openshift, see this [pull request](https://github.com/VictoriaMetrics/helm-charts/pull/995) by @Baboulinet-33 for details.
|
||||
|
||||
## 0.9.19
|
||||
|
||||
**Release date:** 2024-04-26
|
||||
|
||||

|
||||

|
||||
|
||||
- properly truncate value of `app.kubernetes.io/managed-by` and `app.kubernetes.io/instance` labels in case release name exceeds 63 characters.
|
||||
- bump version of VM components to [v1.101.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.101.0)
|
||||
|
||||
## 0.9.18
|
||||
|
||||
**Release date:** 2024-04-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.100.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.100.1)
|
||||
|
||||
**Release date:** 2024-03-28
|
||||
|
||||

|
||||

|
||||
|
||||
- added ability to use slice variables in extraArgs (#944)
|
||||
- support adding `metricRelabelings` for server serviceMonitor (#946)
|
||||
|
||||
## 0.9.16
|
||||
|
||||
**Release date:** 2024-03-05
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.99.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.99.0)
|
||||
|
||||
## 0.9.15
|
||||
|
||||
**Release date:** 2024-02-01
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.97.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.1)
|
||||
|
||||
## 0.9.14
|
||||
|
||||
**Release date:** 2023-12-13
|
||||
|
||||

|
||||

|
||||
|
||||
- Fix configuration of volume mount for license key referenced by using secret.
|
||||
|
||||
## 0.9.13
|
||||
|
||||
**Release date:** 2023-12-12
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0)
|
||||
|
||||
## 0.9.12
|
||||
|
||||
**Release date:** 2023-11-16
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.1)
|
||||
|
||||
## 0.9.11
|
||||
|
||||
**Release date:** 2023-11-15
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.95.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.95.0)
|
||||
|
||||
## 0.9.10
|
||||
|
||||
**Release date:** 2023-10-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Add license enforcement for vmbackupmanager in order to avoid running it without enterprise license key. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
- Fix license flags not being passed to vmsingle when using StatefulSet.
|
||||
|
||||
## 0.9.9
|
||||
|
||||
**Release date:** 2023-10-04
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of VM components to [v1.94.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.94.0)
|
||||
- Add support of providing enterprise license key for VictoriaMetrics enterprise. See [these docs](https://docs.victoriametrics.com/enterprise) for details.
|
||||
|
||||
## 0.9.8
|
||||
|
||||
**Release date:** 2023-09-21
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.5)
|
||||
|
||||
## 0.9.7
|
||||
|
||||
**Release date:** 2023-09-11
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of VM components to [v1.93.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.4)
|
||||
|
||||
## 0.9.6
|
||||
|
||||
**Release date:** 2023-09-04
|
||||
|
||||

|
||||

|
||||
|
||||
- Bump version of Victoria Metrics to `v1.93.3`
|
||||
- Fixed `kubeVersion` in `Chart.yaml`
|
||||
|
||||
## 0.9.5
|
||||
|
||||
**Release date:** 2023-08-30
|
||||
|
||||

|
||||

|
||||
|
||||
- Disable `honorTimestamps` for cadvisor scrape job by default (#617)
|
||||
|
||||
## 0.9.4
|
||||
|
||||
**Release date:** 2023-08-23
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.93.0 to v1.93.1
|
||||
|
||||
## 0.9.3
|
||||
|
||||
**Release date:** 2023-08-12
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.1 to v1.93.0
|
||||
|
||||
## 0.9.2
|
||||
|
||||
**Release date:** 2023-07-28
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.92.0 to v1.92.1 (#599)
|
||||
|
||||
## 0.9.1
|
||||
|
||||
**Release date:** 2023-07-27
|
||||
|
||||

|
||||

|
||||
|
||||
- Update VictoriaMetrics components from v1.91.3 to v1.92.0
|
||||
- fix misused securityContext and podSecurityContext (#592)
|
||||
|
||||
## 0.9.0
|
||||
|
||||
**Release date:** 2023-07-13
|
||||
|
||||

|
||||

|
||||
|
||||
- bump version of agent, alert, auth, cluster, single
|
||||
- feat(vmsingle): Add ability to deploy extra manifests (#587)
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: CHANGELOG
|
||||
menu:
|
||||
docs:
|
||||
weight: 1
|
||||
identifier: helm-victoriametrics-single-changelog
|
||||
parent: helm-victoriametrics-single
|
||||
url: /helm/victoriametrics-single/changelog
|
||||
aliases:
|
||||
- /helm/victoriametrics-single/changelog/index.html
|
||||
---
|
||||
{{% content "CHANGELOG.md" %}}
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 11
|
||||
title: VictoriaMetrics Single
|
||||
menu:
|
||||
docs:
|
||||
parent: helm
|
||||
weight: 11
|
||||
identifier: helm-victoriametrics-single
|
||||
url: /helm/victoriametrics-single
|
||||
aliases:
|
||||
- /helm/victoriametrics-single/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,86 +0,0 @@
|
|||
---
|
||||
weight: 9
|
||||
title: FAQ
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 9
|
||||
identifier: "operator-faq"
|
||||
aliases:
|
||||
- /operator/faq/
|
||||
- /operator/faq/index.html
|
||||
---
|
||||
## How do you monitor the operator itself?
|
||||
|
||||
You can read about vmoperator monitoring in [this document](https://docs.victoriametrics.com/operator/monitoring).
|
||||
|
||||
## How to change VMStorage PVC storage class
|
||||
|
||||
With Helm chart deployment:
|
||||
|
||||
1. Update the PVCs manually
|
||||
1. Run `kubectl delete statefulset --cascade=orphan {vmstorage-sts}` which will delete the sts but keep the pods
|
||||
1. Update helm chart with the new storage class in the volumeClaimTemplate
|
||||
1. Run the helm chart to recreate the sts with the updated value
|
||||
|
||||
With Operator deployment:
|
||||
|
||||
1. Update the PVCs manually
|
||||
1. Run `kubectl delete vmcluster --cascade=orphan {cluster-name}`
|
||||
1. Run `kubectl delete statefulset --cascade=orphan {vmstorage-sts}`
|
||||
1. Update VMCluster spec to use new storage class
|
||||
1. Apply cluster configuration
|
||||
|
||||
## How to override image registry
|
||||
|
||||
You can use `VM_CONTAINERREGISTRY` parameter for operator:
|
||||
|
||||
- See details about tuning [operator settings here](https://docs.victoriametrics.com/operator/setup#settings).
|
||||
- See [available operator settings](https://docs.victoriametrics.com/operator/vars) here.
|
||||
|
||||
## How to set up automatic backups?
|
||||
|
||||
You can read about backups:
|
||||
|
||||
- for `VMSingle`: [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation)
|
||||
- for `VMCluster`: [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation)
|
||||
|
||||
## How to migrate from Prometheus-operator to VictoriaMetrics operator?
|
||||
|
||||
You can read about migration from prometheus operator on [this page](https://docs.victoriametrics.com/operator/migration).
|
||||
|
||||
## How to turn off conversion for prometheus resources
|
||||
|
||||
You can read about it on [this page](https://docs.victoriametrics.com/operator/migration#objects-convesion).
|
||||
|
||||
## My VM objects are not deleted/changed when I delete/change Prometheus objects
|
||||
|
||||
You can read about it in following sections of "Migration from prometheus-operator" docs:
|
||||
|
||||
- [Deletion synchronization](https://docs.victoriametrics.com/operator/migration#deletion-synchronization)
|
||||
- [Update synchronization](https://docs.victoriametrics.com/operator/migration#update-synchronization)
|
||||
- [Labels synchronization](https://docs.victoriametrics.com/operator/migration#labels-synchronization)
|
||||
|
||||
## What permissions does an operator need to run in a cluster?
|
||||
|
||||
You can read about needed permissions for operator in [this document](https://docs.victoriametrics.com/operator/security#roles).
|
||||
|
||||
## How to know the version of VM components in the operator?
|
||||
|
||||
See [printDefaults mode](https://docs.victoriametrics.com/operator/configuration).
|
||||
|
||||
In addition, you can use [Release notes](https://github.com/VictoriaMetrics/operator/releases)
|
||||
or [CHANGELOG](https://docs.victoriametrics.com/operator/changelog).
|
||||
- that's where we describe default version of VictoriaMetrics components.
|
||||
|
||||
## How to run VictoriaMetrics operator with permissions for one namespace only?
|
||||
|
||||
See this document for details: [Configuration -> Namespaced mode](https://docs.victoriametrics.com/operator/configuration#namespaced-mode).
|
||||
|
||||
## How to configure VMAgent and VMServiceScrape for using with [Istio Service Mesh](https://istio.io/) and its mTLS?
|
||||
|
||||
See this example in operator repository: https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_istio.yaml
|
||||
|
||||
## What versions of Kubernetes is the operator compatible with?
|
||||
|
||||
Operator tested at kubernetes versions from 1.16 to 1.27.
|
|
@ -1,82 +0,0 @@
|
|||
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](#features-of-vmoperator).
|
||||
It allows you to manage Victoria Metrics components in Kubernetes or OpenShift clusters
|
||||
in a declarative style according to [GitOps](https://www.redhat.com/en/topics/devops/what-is-gitops)
|
||||
and [IaC](https://en.wikipedia.org/wiki/Infrastructure_as_code) concepts.
|
||||
|
||||
VictoriaMetrics also provides [helm charts](https://docs.victoriametrics.com/helm) without operator.
|
||||
Operator makes the same, simplifies it and provides [advanced features](#features-of-vmoperator).
|
||||
|
||||
Learn more about [key concepts](#key-concepts) of `vmoperator` and follow the **[quick start guide](https://docs.victoriametrics.com/operator/quick-start/)** 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](https://docs.victoriametrics.com/operator/migration/) with auto-conversion of prometheus [custom resources](#custom-resources)
|
||||
- Simple VictoriaMetrics cluster installation, configuring, upgrading and managing with [crd-objects](https://docs.victoriametrics.com/operator/resources/).
|
||||
- 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](https://docs.victoriametrics.com/vmbackupmanager/) - advanced tools for making backups. Check [Backup automation for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation) or [Backup automation for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation).
|
||||
- Everything you need for monitoring out of the box in [k8s-stack helm chart](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack/) with ready-made usecases and solutions.
|
||||
- Ability to template your own deployment scenarios.
|
||||
|
||||
## Key Concepts
|
||||
|
||||
### Kubernetes-operators
|
||||
|
||||
[Kubernetes-operators](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) are software extensions
|
||||
for Kubernetes that make use of [custom resources](#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](https://github.com/prometheus-operator/prometheus-operator).
|
||||
|
||||
Useful links:
|
||||
- [Custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)
|
||||
- [Custom resource definitions](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/)
|
||||
- [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/)
|
||||
- [Operator best practices](https://sdk.operatorframework.io/docs/best-practices/)
|
||||
|
||||
### Custom resources
|
||||
|
||||
Kubernetes-Operators use [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/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](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/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](https://docs.victoriametrics.com/operator/resources/).
|
||||
- Kubernetes validates of the resource according to the specification from CRD (see more in [custom resources](#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
|
||||
- [Quick Start Guide](https://docs.victoriametrics.com/operator/quick-start/)
|
||||
- [Setup](https://docs.victoriametrics.com/operator/setup/)
|
||||
- [Security](https://docs.victoriametrics.com/operator/security/)
|
||||
- [Configuration](https://docs.victoriametrics.com/operator/configuration/)
|
||||
- [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration/)
|
||||
- [Monitoring](https://docs.victoriametrics.com/operator/monitoring/)
|
||||
- [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth/)
|
||||
- [High Availability](https://docs.victoriametrics.com/operator/high-availability/)
|
||||
- [Enterprise](https://docs.victoriametrics.com/operator/enterprise/)
|
||||
- [Custom resources](https://docs.victoriametrics.com/operator/resources/)
|
||||
|
||||
If you have any questions, check out our [FAQ](https://docs.victoriametrics.com/operator/faq/)
|
||||
and feel free to can ask them:
|
||||
- [VictoriaMetrics Slack](https://victoriametrics.slack.com/)
|
||||
- [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en)
|
||||
|
||||
If you have any suggestions or find a bug, please create an issue
|
||||
on [GitHub](https://github.com/VictoriaMetrics/operator/issues/new).
|
Before ![]() (image error) Size: 173 KiB |
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/VictoriaMetrics-Operator.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Operator page](./README.md) instead.
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 0
|
||||
title: Kubernetes Operator
|
||||
menu:
|
||||
docs:
|
||||
weight: 30
|
||||
identifier: operator
|
||||
pageRef: /operator/
|
||||
aliases:
|
||||
- /operator/
|
||||
- /operator/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/additional-scrape.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Additional scrape configuration](./resources/vmagent.md#additional-scrape-configuration)
|
||||
section in VMAgent docs instead.
|
4327
docs/operator/api.md
|
@ -1,187 +0,0 @@
|
|||
---
|
||||
weight: 7
|
||||
title: Authorization and exposing components
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 7
|
||||
aliases:
|
||||
- /operator/auth/
|
||||
- /operator/auth/index.html
|
||||
---
|
||||
## Exposing components
|
||||
|
||||
CRD objects doesn't have `ingress` configuration.
|
||||
Instead, you can use [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth/) as proxy between ingress-controller and VictoriaMetrics components.
|
||||
|
||||
It adds missing authorization and access control features and enforces it.
|
||||
|
||||
Access can be given with [VMUser](https://docs.victoriametrics.com/operator/resources/vmuser/) definition.
|
||||
|
||||
It supports basic auth and bearer token authentication:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: main-router
|
||||
spec:
|
||||
userNamespaceSelector: {}
|
||||
userSelector: {}
|
||||
ingress: {}
|
||||
```
|
||||
|
||||
Advanced configuration with cert-manager annotations:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: router-main
|
||||
spec:
|
||||
podMetadata:
|
||||
labels:
|
||||
component: vmauth
|
||||
userSelector: {}
|
||||
userNamespaceSelector: {}
|
||||
replicaCount: 2
|
||||
resources:
|
||||
requests:
|
||||
cpu: "250m"
|
||||
memory: "350Mi"
|
||||
limits:
|
||||
cpu: "500m"
|
||||
memory: "850Mi"
|
||||
ingress:
|
||||
tlsSecretName: vmauth-tls
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: base
|
||||
class_name: nginx
|
||||
tlsHosts:
|
||||
- vm-access.example.com
|
||||
```
|
||||
|
||||
Simple static routing with read-only access to vmagent for username - `user-1` with password `Asafs124142`:
|
||||
|
||||
```yaml
|
||||
# curl vmauth:8427/metrics -u 'user-1:Asafs124142'
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: user-1
|
||||
spec:
|
||||
password: Asafs124142
|
||||
targetRefs:
|
||||
- static:
|
||||
url: http://vmagent-base.default.svc:8429
|
||||
paths: ["/targets/api/v1","/targets","/metrics"]
|
||||
```
|
||||
|
||||
With bearer token access:
|
||||
|
||||
```yaml
|
||||
# curl vmauth:8427/metrics -H 'Authorization: Bearer Asafs124142'
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: user-2
|
||||
spec:
|
||||
bearerToken: Asafs124142
|
||||
targetRefs:
|
||||
- static:
|
||||
url: http://vmagent-base.default.svc:8429
|
||||
paths: ["/targets/api/v1","/targets","/metrics"]
|
||||
```
|
||||
|
||||
It's also possible to use service discovery for objects:
|
||||
|
||||
```yaml
|
||||
# curl vmauth:8427/metrics -H 'Authorization: Bearer Asafs124142'
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: user-3
|
||||
spec:
|
||||
bearerToken: Asafs124142
|
||||
targetRefs:
|
||||
- crd:
|
||||
kind: VMAgent
|
||||
name: base
|
||||
namespace: default
|
||||
paths: ["/targets/api/v1","/targets","/metrics"]
|
||||
```
|
||||
|
||||
Cluster components supports auto path generation for single tenant view:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: vmuser-tenant-1
|
||||
spec:
|
||||
bearerToken: some-token
|
||||
targetRefs:
|
||||
- crd:
|
||||
kind: VMCluster/vminsert
|
||||
name: test-persistent
|
||||
namespace: default
|
||||
target_path_suffix: "/insert/1"
|
||||
- crd:
|
||||
kind: VMCluster/vmselect
|
||||
name: test-persistent
|
||||
namespace: default
|
||||
target_path_suffix: "/select/1"
|
||||
- static:
|
||||
url: http://vmselect-test-persistent.default.svc:8481/
|
||||
paths:
|
||||
- /internal/resetRollupResultCache
|
||||
```
|
||||
|
||||
For each `VMUser` operator generates corresponding secret with username/password or bearer token at the same namespace as `VMUser`.
|
||||
|
||||
## Basic auth for targets
|
||||
|
||||
To authenticate a `VMServiceScrape`s over a metrics endpoint use [`basicAuth`](https://docs.victoriametrics.com/operator/api/#basicauth):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
labels:
|
||||
k8s-apps: basic-auth-example
|
||||
name: basic-auth-example
|
||||
spec:
|
||||
endpoints:
|
||||
- basicAuth:
|
||||
password:
|
||||
name: basic-auth
|
||||
key: password
|
||||
username:
|
||||
name: basic-auth
|
||||
key: user
|
||||
port: metrics
|
||||
selector:
|
||||
matchLabels:
|
||||
app: myapp
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: basic-auth
|
||||
data:
|
||||
password: dG9vcg== # toor
|
||||
user: YWRtaW4= # admin
|
||||
type: Opaque
|
||||
```
|
||||
|
||||
## Unauthorized access
|
||||
|
||||
You can expose some routes without authorization with `unauthorizedUserAccessSpec`.
|
||||
|
||||
Check more details in [VMAuth docs -> Unauthorized access](https://docs.victoriametrics.com/operator/resources/vmauth/#unauthorized-access).
|
||||
|
||||
More details about features of `VMAuth` and `VMUser` you can read in:
|
||||
- [VMAuth docs](https://docs.victoriametrics.com/operator/resources/vmauth/),
|
||||
- [VMUser docs](https://docs.victoriametrics.com/operator/resources/vmuser/).
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/backups.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Backup automation for VMSingle](./resources/vmsingle.md#backup-automation) or
|
||||
[Backup automation for VMCluster](./resources/vmcluster.md#backup-automation) instead.
|
|
@ -1,266 +0,0 @@
|
|||
---
|
||||
weight: 4
|
||||
title: Configuration
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 4
|
||||
aliases:
|
||||
- /operator/configuration/
|
||||
- /operator/configuration/index.html
|
||||
---
|
||||
Operator configured by env variables, list of it can be found
|
||||
on [Variables](https://docs.victoriametrics.com/operator/vars/) page.
|
||||
|
||||
It defines default configuration options, like images for components, timeouts, features.
|
||||
|
||||
In addition, the operator has a special startup mode for outputting all variables, their types and default values.
|
||||
For instance, with this mode you can know versions of VM components, which are used by default:
|
||||
|
||||
```sh
|
||||
./operator --printDefaults
|
||||
|
||||
# This application is configured via the environment. The following environment variables can be used:
|
||||
#
|
||||
# KEY TYPE DEFAULT REQUIRED DESCRIPTION
|
||||
# VM_USECUSTOMCONFIGRELOADER True or False false
|
||||
# VM_CUSTOMCONFIGRELOADERIMAGE String victoriametrics/operator:config-reloader-v0.32.0
|
||||
# VM_VMALERTDEFAULT_IMAGE String victoriametrics/vmalert
|
||||
# VM_VMALERTDEFAULT_VERSION String v1.93.3
|
||||
# VM_VMALERTDEFAULT_USEDEFAULTRESOURCES True or False true
|
||||
# VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM String 500Mi
|
||||
# VM_VMALERTDEFAULT_RESOURCE_LIMIT_CPU String 200m
|
||||
# ...
|
||||
```
|
||||
|
||||
You can choose output format for variables with `--printFormat` flag, possible values: `json`, `yaml`, `list` and `table` (default):
|
||||
|
||||
```sh
|
||||
.operator --printDefaults --printFormat=json
|
||||
|
||||
# {
|
||||
# 'VM_USECUSTOMCONFIGRELOADER': 'false',
|
||||
# 'VM_CUSTOMCONFIGRELOADERIMAGE': 'victoriametrics/operator:config-reloader-v0.32.0',
|
||||
# 'VM_VMALERTDEFAULT_IMAGE': 'victoriametrics/vmalert',
|
||||
# 'VM_VMALERTDEFAULT_VERSION': 'v1.93.3',
|
||||
# ...
|
||||
# 'VM_FORCERESYNCINTERVAL': '60s',
|
||||
# 'VM_ENABLESTRICTSECURITY': 'true'
|
||||
# }
|
||||
```
|
||||
|
||||
## Conversion of prometheus-operator objects
|
||||
|
||||
You can read detailed instructions about configuring prometheus-objects conversion in [this document](https://docs.victoriametrics.com/operator/migration/).
|
||||
|
||||
## Helm-charts
|
||||
|
||||
In [Helm charts](https://docs.victoriametrics.com/helm) some important configuration parameters are implemented as separate flags in `values.yaml`:
|
||||
|
||||
### victoria-metrics-k8s-stack
|
||||
|
||||
For possible values refer to [parameters](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack#parameters).
|
||||
|
||||
Also, checkout [here possible ENV variables](https://docs.victoriametrics.com/operator/vars/) to configure operator behaviour.
|
||||
ENV variables can be set in the `victoria-metrics-operator.env` section.
|
||||
|
||||
```yaml
|
||||
# values.yaml
|
||||
|
||||
victoria-metrics-operator:
|
||||
image:
|
||||
# -- Image repository
|
||||
repository: victoriametrics/operator
|
||||
# -- Image tag
|
||||
tag: v0.35.0
|
||||
# -- Image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# -- Tells helm to remove CRD after chart remove
|
||||
cleanupCRD: true
|
||||
cleanupImage:
|
||||
repository: gcr.io/google_containers/hyperkube
|
||||
tag: v1.18.0
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
operator:
|
||||
# -- By default, operator converts prometheus-operator objects.
|
||||
disable_prometheus_converter: false
|
||||
# -- Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD
|
||||
prometheus_converter_add_argocd_ignore_annotations: false
|
||||
# -- Enables ownership reference for converted prometheus-operator objects,
|
||||
# it will remove corresponding victoria-metrics objects in case of deletion prometheus one.
|
||||
enable_converter_ownership: false
|
||||
# -- By default, operator creates psp for its objects.
|
||||
psp_auto_creation_enabled: true
|
||||
# -- Enables custom config-reloader, bundled with operator.
|
||||
# It should reduce vmagent and vmauth config sync-time and make it predictable.
|
||||
useCustomConfigReloader: false
|
||||
|
||||
# -- extra settings for the operator deployment. full list Ref: https://docs.victoriametrics.com/operator/vars
|
||||
env:
|
||||
# -- default version for vmsingle
|
||||
- name: VM_VMSINGLEDEFAULT_VERSION
|
||||
value: v1.43.0
|
||||
# -- container registry name prefix, e.g. docker.io
|
||||
- name: VM_CONTAINERREGISTRY
|
||||
value: ""
|
||||
# -- image for custom reloader (see the useCustomConfigReloader parameter)
|
||||
- name: VM_CUSTOMCONFIGRELOADERIMAGE
|
||||
value: victoriametrics/operator:config-reloader-v0.32.0
|
||||
|
||||
# By default, the operator will watch all the namespaces
|
||||
# If you want to override this behavior, specify the namespace it needs to watch separated by a comma.
|
||||
# Ex: my_namespace1,my_namespace2
|
||||
watchNamespace: ""
|
||||
|
||||
# Count of operator instances (can be increased for HA mode)
|
||||
replicaCount: 1
|
||||
|
||||
# -- VM operator log level
|
||||
# -- possible values: info and error.
|
||||
logLevel: "info"
|
||||
|
||||
# -- Resource object
|
||||
resources:
|
||||
{}
|
||||
# limits:
|
||||
# cpu: 120m
|
||||
# memory: 320Mi
|
||||
# requests:
|
||||
# cpu: 80m
|
||||
# memory: 120Mi
|
||||
```
|
||||
|
||||
### victoria-metrics-operator
|
||||
|
||||
For possible values refer to [parameters](https://docs.victoriametrics.com/helm/victoriametrics-operator#parameters).
|
||||
|
||||
Also, checkout [here possible ENV variables](https://docs.victoriametrics.com/operator/vars/) to configure operator behaviour.
|
||||
ENV variables can be set in the `env` section.
|
||||
|
||||
```yaml
|
||||
# values.yaml
|
||||
|
||||
image:
|
||||
# -- Image repository
|
||||
repository: victoriametrics/operator
|
||||
# -- Image tag
|
||||
tag: v0.35.0
|
||||
# -- Image pull policy
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
operator:
|
||||
# -- By default, operator converts prometheus-operator objects.
|
||||
disable_prometheus_converter: false
|
||||
# -- Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD
|
||||
prometheus_converter_add_argocd_ignore_annotations: false
|
||||
# -- Enables ownership reference for converted prometheus-operator objects,
|
||||
# it will remove corresponding victoria-metrics objects in case of deletion prometheus one.
|
||||
enable_converter_ownership: false
|
||||
# -- By default, operator creates psp for its objects.
|
||||
psp_auto_creation_enabled: true
|
||||
# -- Enables custom config-reloader, bundled with operator.
|
||||
# It should reduce vmagent and vmauth config sync-time and make it predictable.
|
||||
useCustomConfigReloader: false
|
||||
|
||||
# -- extra settings for the operator deployment. full list Ref: https://docs.victoriametrics.com/operator/vars
|
||||
env:
|
||||
# -- default version for vmsingle
|
||||
- name: VM_VMSINGLEDEFAULT_VERSION
|
||||
value: v1.43.0
|
||||
# -- container registry name prefix, e.g. docker.io
|
||||
- name: VM_CONTAINERREGISTRY
|
||||
value: ""
|
||||
# -- image for custom reloader (see the useCustomConfigReloader parameter)
|
||||
- name: VM_CUSTOMCONFIGRELOADERIMAGE
|
||||
value: victoriametrics/operator:config-reloader-v0.32.0
|
||||
|
||||
# By default, the operator will watch all the namespaces
|
||||
# If you want to override this behavior, specify the namespace it needs to watch separated by a comma.
|
||||
# Ex: my_namespace1,my_namespace2
|
||||
watchNamespace: ""
|
||||
|
||||
# Count of operator instances (can be increased for HA mode)
|
||||
replicaCount: 1
|
||||
|
||||
# -- VM operator log level
|
||||
# -- possible values: info and error.
|
||||
logLevel: "info"
|
||||
|
||||
# -- Resource object
|
||||
resources:
|
||||
{}
|
||||
# limits:
|
||||
# cpu: 120m
|
||||
# memory: 320Mi
|
||||
# requests:
|
||||
# cpu: 80m
|
||||
# memory: 120Mi
|
||||
```
|
||||
|
||||
## Namespaced mode
|
||||
|
||||
By default, the operator will watch all namespaces, but it can be configured to watch only specific namespace or multiple namespaces.
|
||||
|
||||
If you want to override this behavior, specify the namespace:
|
||||
|
||||
- in the `WATCH_NAMESPACE` environment variable.
|
||||
- in the `watchNamespace` field in the `values.yaml` file of helm-charts.
|
||||
|
||||
The operator supports comma separated namespace names for this setting.
|
||||
|
||||
If namespaced mode is enabled, operator uses a limited set of features:
|
||||
- it cannot make any cluster wide API calls.
|
||||
- it cannot assign rbac permissions for `vmagent`. It must be done manually via serviceAccount for vmagent.
|
||||
- it ignores namespaceSelector fields at CRD objects and uses `WATCH_NAMESPACE` value for object matching.
|
||||
|
||||
At each namespace operator must have a set of required permissions, an example can be found at [this file](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/operator_rbac_for_single_namespace.yaml).
|
||||
|
||||
## Monitoring of cluster components
|
||||
|
||||
By default, operator creates [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape/)
|
||||
object for each component that it manages.
|
||||
|
||||
You can disable this behaviour with `VM_DISABLESELFSERVICESCRAPECREATION` environment variable:
|
||||
|
||||
```shell
|
||||
VM_DISABLESELFSERVICESCRAPECREATION=false
|
||||
```
|
||||
|
||||
Also, you can override default configuration for self-scraping with `ServiceScrapeSpec` field in each deployable resource
|
||||
(`vmcluster/select`, `vmcluster/insert`, `vmcluster/storage`, `vmagent`, `vmalert`, `vmalertmanager`, `vmauth`, `vmsingle`):
|
||||
|
||||
## CRD Validation
|
||||
|
||||
Operator supports validation admission webhook [docs](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/)
|
||||
|
||||
It checks resources configuration and returns errors to caller before resource will be created at kubernetes api.
|
||||
This should reduce errors and simplify debugging.
|
||||
|
||||
Validation hooks at operator side must be enabled with flags:
|
||||
|
||||
```sh
|
||||
./operator
|
||||
--webhook.enable
|
||||
# optional configuration for certDir and tls names.
|
||||
--webhook.certDir=/tmp/k8s-webhook-server/serving-certs/
|
||||
--webhook.keyName=tls.key
|
||||
--webhook.certName=tls.crt
|
||||
```
|
||||
|
||||
You have to mount correct certificates at give directory.
|
||||
It can be simplified with cert-manager and kustomize command:
|
||||
|
||||
```sh
|
||||
kustomize build config/deployments/webhook/
|
||||
```
|
||||
|
||||
### Requirements
|
||||
|
||||
- Valid certificate with key must be provided to operator
|
||||
- Valid CABundle must be added to the `ValidatingWebhookConfiguration`
|
||||
|
||||
### Useful links
|
||||
|
||||
- [k8s admission webhooks](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/)
|
|
@ -1,10 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/configuration_syncronization.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Configuration synchronization](./resources/README.md#configuration-synchronization)
|
||||
in Resources section instead.
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/design.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Custom Resources](./resources/README.md) instead.
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
weight: 13
|
||||
title: Enterprise features
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 13
|
||||
aliases:
|
||||
- /operator/enterprise/
|
||||
- /operator/enterprise/index.html
|
||||
---
|
||||
Operator doesn't have enterprise version for itself, but it supports
|
||||
[enterprise features for VictoriaMetrics components](https://docs.victoriametrics.com/enterprise/):
|
||||
|
||||
- [VMAgent Enterprise features](https://docs.victoriametrics.com/operator/resources/vmagent/#enterprise-features):
|
||||
- [Reading metrics from kafka](https://docs.victoriametrics.com/operator/resources/vmagent/#reading-metrics-from-kafka)
|
||||
- [Writing metrics to kafka](https://docs.victoriametrics.com/operator/resources/vmagent/#writing-metrics-to-kafka)
|
||||
- [VMAlert Enterprise features](https://docs.victoriametrics.com/operator/resources/vmalert/#enterprise-features):
|
||||
- [Reading rules from object storage](https://docs.victoriametrics.com/operator/resources/vmalert/#reading-rules-from-object-storage)
|
||||
- [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmalert/#multitenancy)
|
||||
- [VMAuth Enterprise features](https://docs.victoriametrics.com/operator/resources/vmauth/#enterprise-features)
|
||||
- [IP Filters](https://docs.victoriametrics.com/operator/resources/vmauth/#ip-filters)
|
||||
- [VMCluster Enterprise features](https://docs.victoriametrics.com/operator/resources/vmcluster/#enterprise-features)
|
||||
- [Downsampling](https://docs.victoriametrics.com/operator/resources/vmcluster/#downsampling)
|
||||
- [Multiple retentions / Retention filters](https://docs.victoriametrics.com/operator/resources/vmcluster/#retention-filters)
|
||||
- [Advanced per-tenant statistic](https://docs.victoriametrics.com/operator/resources/vmcluster/#advanced-per-tenant-statistic)
|
||||
- [mTLS protection](https://docs.victoriametrics.com/operator/resources/vmcluster/#mtls-protection)
|
||||
- [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster/#backup-automation)
|
||||
- [VMRule Enterprise features](https://docs.victoriametrics.com/operator/resources/vmrule/#enterprise-features)
|
||||
- [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmrule/#multitenancy)
|
||||
- [VMSingle Enterprise features](https://docs.victoriametrics.com/operator/resources/vmsingle/#enterprise-features)
|
||||
- [Downsampling](https://docs.victoriametrics.com/operator/resources/vmsingle/#downsampling)
|
||||
- [Retention filters](https://docs.victoriametrics.com/operator/resources/vmsingle/#retention-filters)
|
||||
- [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle/#backup-automation)
|
||||
- [VMUser Enterprise features](https://docs.victoriametrics.com/operator/resources/vmuser/#enterprise-features)
|
||||
- [IP Filters](https://docs.victoriametrics.com/operator/resources/vmuser/#ip-filters)
|
||||
|
||||
More information about enterprise features you can read
|
||||
on [VictoriaMetrics Enterprise page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise-features).
|
||||
|
||||
In order to find examples of deploying enterprise components with operator,
|
||||
please, check [this](https://docs.victoriametrics.com/enterprise#kubernetes-operator) documentation.
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
weight: 8
|
||||
title: High Availability
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 8
|
||||
aliases:
|
||||
- /operator/high-availability/
|
||||
- /operator/high-availability/index.html
|
||||
---
|
||||
High availability is not only important for customer-facing software but if the monitoring infrastructure is not highly available, then there is a risk that operations people are not notified of alerts.
|
||||
Therefore, high availability must be just as thought through for the monitoring stack, as for anything else.
|
||||
|
||||
## Components
|
||||
|
||||
VictoriaMetrics operator support high availability for each component of the monitoring stack:
|
||||
|
||||
- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent/#high-availability)
|
||||
- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert/#high-availability)
|
||||
- [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager/#high-availability)
|
||||
- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth/#high-availability)
|
||||
- [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster/#high-availability)
|
||||
|
||||
More details you can find in the section **[High Availability for resources](https://docs.victoriametrics.com/operator/resources/#high-availability)**.
|
||||
|
||||
## Operator
|
||||
|
||||
VictoriaMetrics operator can be safely scaled horizontally, but only one replica of the operator can
|
||||
process [the reconciliation](https://docs.victoriametrics.com/operator/#reconciliation-cycle) at a time -
|
||||
it uses a leader election mechanism to ensure that only one replica is active at a time.
|
||||
|
||||
If one of replicas of the operator will be failed, then another replica will be elected as a leader and will continue to work -
|
||||
operator replication affects how quickly this happens.
|
||||
|
||||
[CRD validation](https://docs.victoriametrics.com/operator/configuration#crd-validation) workload is fully
|
||||
distributed among the available operator replicas.
|
||||
|
||||
In addition, you can safely use for operator such features
|
||||
as [assigning and distributing to nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/)
|
||||
(like [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector),
|
||||
[affinity and anti-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity),
|
||||
[topology spread constraints](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints),
|
||||
[taints and tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/), etc...)
|
||||
|
||||
In addition, don't forget about [monitoring for the operator](https://docs.victoriametrics.com/operator/monitoring/).
|
Before ![]() (image error) Size: 22 KiB |
Before ![]() (image error) Size: 39 KiB |
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/managing-versions.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Managing versions of VM](./resources/README.md#managing-versions-of-vm) instead.
|
|
@ -1,275 +0,0 @@
|
|||
---
|
||||
weight: 5
|
||||
title: Migration from Prometheus
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 5
|
||||
aliases:
|
||||
- /operator/migration/
|
||||
- /operator/migration/index.html
|
||||
---
|
||||
Design and implementation inspired by [prometheus-operator](https://github.com/prometheus-operator/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`, `Probe` and `AlertmanagerConfig`.
|
||||
|
||||
Or you can use VictoriaMetrics CRDs:
|
||||
|
||||
- `VMServiceScrape` (instead of `ServiceMonitor`) - defines scraping metrics configuration from pods backed by services. [See details](https://docs.victoriametrics.com/operator/resources/vmservicescrape/).
|
||||
- `VMPodScrape` (instead of `PodMonitor`) - defines scraping metrics configuration from pods. [See details](https://docs.victoriametrics.com/operator/resources/vmpodscrape/).
|
||||
- `VMRule` (instead of `PrometheusRule`) - defines alerting or recording rules. [See details](https://docs.victoriametrics.com/operator/resources/vmrule/).
|
||||
- `VMProbe` (instead of `Probe`) - defines a probing configuration for targets with blackbox exporter. [See details](https://docs.victoriametrics.com/operator/resources/vmprobe/).
|
||||
- `VMAlertmanagerConfig` (instead of `AlertmanagerConfig`) - defines a configuration for AlertManager. [See details](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig/).
|
||||
- `VMScrapeConfig` (instead of `ScrapeConfig`) - define a scrape config using any of the service discovery options supported in victoriametrics.
|
||||
|
||||
Note that Prometheus CRDs are not supplied with the VictoriaMetrics operator,
|
||||
so you need to [install them separately](https://github.com/prometheus-operator/prometheus-operator/releases).
|
||||
VictoriaMetrics operator supports conversion from Prometheus CRD of
|
||||
version `monitoring.coreos.com/v1` for kinds `ServiceMonitor`, `PodMonitor`, `PrometheusRule`, `Probe`
|
||||
and version `monitoring.coreos.com/v1alpha1` for kind `AlertmanagerConfig`.
|
||||
|
||||
The default behavior of the operator is as follows:
|
||||
|
||||
- It **converts** all existing Prometheus `ServiceMonitor`, `PodMonitor`, `PrometheusRule`, `Probe` and `ScrapeConfig` objects into corresponding VictoriaMetrics Operator objects.
|
||||
- It **syncs** updates (including labels) from Prometheus `ServiceMonitor`, `PodMonitor`, `PrometheusRule`, `Probe` and `ScrapeConfig` objects to corresponding VictoriaMetrics Operator objects.
|
||||
- It **DOES NOT delete** converted objects after original ones are deleted.
|
||||
|
||||
With this configuration removing prometheus-operator API objects wouldn't delete any converted objects. So you can safely migrate or run two operators at the same time.
|
||||
|
||||
You can change default behavior with operator configuration - [see details below](#objects-conversion).
|
||||
|
||||
## Objects conversion
|
||||
|
||||
By default, the vmoperator converts all existing [prometheus-operator](https://github.com/prometheus-operator/prometheus-operator)
|
||||
API objects into corresponding VictoriaMetrics Operator objects ([see above](#migration-from-prometheus-operator)),
|
||||
i.e. creates resources of VictoriaMetrics similar to Prometheus resources in the same namespace.
|
||||
|
||||
You can control this behaviour by setting env variable for operator:
|
||||
|
||||
```sh
|
||||
# disable convertion for each object
|
||||
VM_ENABLEDPROMETHEUSCONVERTER_PODMONITOR=false
|
||||
VM_ENABLEDPROMETHEUSCONVERTER_SERVICESCRAPE=false
|
||||
VM_ENABLEDPROMETHEUSCONVERTER_PROMETHEUSRULE=false
|
||||
VM_ENABLEDPROMETHEUSCONVERTER_PROBE=false
|
||||
VM_ENABLEDPROMETHEUSCONVERTER_SCRAPECONFIG=false
|
||||
```
|
||||
|
||||
For [victoria-metrics-operator helm-chart](https://docs.victoriametrics.com/helm/victoriametrics-operator) you can use following way:
|
||||
|
||||
```yaml
|
||||
# values.yaml
|
||||
|
||||
# ...
|
||||
operator:
|
||||
# -- By default, operator converts prometheus-operator objects.
|
||||
disable_prometheus_converter: true
|
||||
# ...
|
||||
```
|
||||
|
||||
Otherwise, VictoriaMetrics Operator would try to discover prometheus-operator API and convert it.
|
||||
|
||||

|
||||
|
||||
For more information about the operator's workflow, see [this doc](https://docs.victoriametrics.com/operator).
|
||||
|
||||
## Deletion synchronization
|
||||
|
||||
By default, the operator doesn't make converted objects disappear after original ones are deleted. To change this behaviour
|
||||
configure adding `OwnerReferences` to converted objects with following [operator parameter](https://docs.victoriametrics.com/operator/setup#settings):
|
||||
|
||||
```sh
|
||||
VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES=true
|
||||
```
|
||||
|
||||
For [victoria-metrics-operator helm-chart](https://docs.victoriametrics.com/helm/victoriametrics-operator) you can use following way:
|
||||
|
||||
```yaml
|
||||
# values.yaml
|
||||
|
||||
# ...
|
||||
operator:
|
||||
# -- Enables ownership reference for converted prometheus-operator objects,
|
||||
# it will remove corresponding victoria-metrics objects in case of deletion prometheus one.
|
||||
enable_converter_ownership: true
|
||||
# ...
|
||||
```
|
||||
|
||||
Converted objects will be linked to the original ones and will be deleted by kubernetes after the original ones are deleted.
|
||||
|
||||
## Update synchronization
|
||||
|
||||
Conversion of api objects can be controlled by annotations, added to `VMObject`s.
|
||||
|
||||
Annotation `operator.victoriametrics.com/ignore-prometheus-updates` controls updates from Prometheus api objects.
|
||||
|
||||
By default, it set to `disabled`. You define it to `enabled` state and all updates from Prometheus api objects will be ignored.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
annotations:
|
||||
meta.helm.sh/release-name: prometheus
|
||||
operator.victoriametrics.com/ignore-prometheus-updates: enabled
|
||||
labels:
|
||||
release: prometheus
|
||||
name: prometheus-monitor
|
||||
spec:
|
||||
endpoints: []
|
||||
```
|
||||
|
||||
Annotation `operator.victoriametrics.com/ignore-prometheus-updates` can be set on one of the resources:
|
||||
|
||||
- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
|
||||
- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape)
|
||||
- [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule)
|
||||
- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe)
|
||||
- [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig)
|
||||
- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
|
||||
|
||||
And annotation doesn't make sense for [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape)
|
||||
and [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) because these objects are not created as a result of conversion.
|
||||
|
||||
## Labels and annotations synchronization
|
||||
|
||||
Conversion of api objects can be controlled by annotations, added to `VMObject`s.
|
||||
|
||||
Annotation `operator.victoriametrics.com/merge-meta-strategy` controls syncing of metadata labels and annotations
|
||||
between `VMObject`s and `Prometheus` api objects during updates to `Prometheus` objects.
|
||||
|
||||
By default, it has `prefer-prometheus`. And annotations and labels will be used from `Prometheus` objects, manually set values will be dropped.
|
||||
|
||||
You can set it to `prefer-victoriametrics`. In this case all labels and annotations applied to `Prometheus` object will be ignored and `VMObject` will use own values.
|
||||
|
||||
Two additional strategies annotations -`merge-victoriametrics-priority` and `merge-prometheus-priority` merges labelSets into one combined labelSet, with priority.
|
||||
|
||||
Example:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
annotations:
|
||||
meta.helm.sh/release-name: prometheus
|
||||
operator.victoriametrics.com/merge-meta-strategy: prefer-victoriametrics
|
||||
labels:
|
||||
release: prometheus
|
||||
name: prometheus-monitor
|
||||
spec:
|
||||
endpoints: []
|
||||
```
|
||||
|
||||
Annotation `operator.victoriametrics.com/merge-meta-strategy` can be set on one of the resources:
|
||||
|
||||
- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
|
||||
- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape)
|
||||
- [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule)
|
||||
- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe)
|
||||
- [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig)
|
||||
- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
|
||||
|
||||
And annotation doesn't make sense for [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape)
|
||||
and [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) because these objects are not created as a result of conversion.
|
||||
|
||||
You can filter labels for syncing
|
||||
with [operator parameter](https://docs.victoriametrics.com/operator/setup#settings) `VM_FILTERPROMETHEUSCONVERTERLABELPREFIXES`:
|
||||
|
||||
```sh
|
||||
# it excludes all labels that start with "helm.sh" or "argoproj.io" from synchronization
|
||||
VM_FILTERPROMETHEUSCONVERTERLABELPREFIXES=helm.sh,argoproj.io
|
||||
```
|
||||
|
||||
In the same way, annotations with specified prefixes can be excluded from synchronization
|
||||
with [operator parameter](https://docs.victoriametrics.com/operator/setup#settings) `VM_FILTERPROMETHEUSCONVERTERANNOTATIONPREFIXES`:
|
||||
|
||||
```sh
|
||||
# it excludes all annotations that start with "helm.sh" or "argoproj.io" from synchronization
|
||||
VM_FILTERPROMETHEUSCONVERTERANNOTATIONPREFIXES=helm.sh,argoproj.io
|
||||
```
|
||||
|
||||
## Using converter with ArgoCD
|
||||
|
||||
If you use ArgoCD, you can allow ignoring objects at ArgoCD converted from Prometheus CRD
|
||||
with [operator parameter](https://docs.victoriametrics.com/operator/setup#settings) `VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS`.
|
||||
|
||||
It helps to properly use converter with ArgoCD and should help prevent out-of-sync issues with argo-cd based deployments:
|
||||
|
||||
```sh
|
||||
# adds compare-options and sync-options for prometheus objects converted by operator
|
||||
VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS=true
|
||||
```
|
||||
|
||||
## Data migration
|
||||
|
||||
You can use [vmctl](https://docs.victoriametrics.com/vmctl) for migrating your data from Prometheus to VictoriaMetrics.
|
||||
|
||||
See [this doc](https://docs.victoriametrics.com/vmctl#migrating-data-from-prometheus) for more details.
|
||||
|
||||
## Auto-discovery for prometheus.io annotations
|
||||
|
||||
There is a scenario where auto-discovery using `prometheus.io`-annotations
|
||||
(such as `prometheus.io/port`, `prometheus.io/scrape`, `prometheus.io/path`, etc.)
|
||||
is required when migrating from Prometheus instead of manually managing scrape objects.
|
||||
|
||||
You can enable this feature using special scrape object like that:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
name: annotations-discovery
|
||||
spec:
|
||||
discoveryRole: service
|
||||
endpoints:
|
||||
- port: http
|
||||
relabelConfigs:
|
||||
# Skip scrape for init containers
|
||||
- action: drop
|
||||
source_labels: [__meta_kubernetes_pod_container_init]
|
||||
regex: "true"
|
||||
# Match container port with port from annotation
|
||||
- action: keep_if_equal
|
||||
source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
|
||||
# Check if scrape is enabled
|
||||
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
|
||||
action: keep
|
||||
regex: "true"
|
||||
# Set scrape path
|
||||
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
|
||||
action: replace
|
||||
target_label: __metrics_path__
|
||||
regex: (.+)
|
||||
# Set port to address
|
||||
- source_labels:
|
||||
[__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
|
||||
action: replace
|
||||
regex: ([^:]+)(?::\d+)?;(\d+)
|
||||
replacement: $1:$2
|
||||
target_label: __address__
|
||||
# Copy labels from pod labels
|
||||
- action: labelmap
|
||||
regex: __meta_kubernetes_pod_label_(.+)
|
||||
# Set pod name, container name, namespace and node name to labels
|
||||
- source_labels: [__meta_kubernetes_pod_name]
|
||||
target_label: pod
|
||||
- source_labels: [__meta_kubernetes_pod_container_name]
|
||||
target_label: container
|
||||
- source_labels: [__meta_kubernetes_namespace]
|
||||
target_label: namespace
|
||||
- source_labels: [__meta_kubernetes_pod_node_name]
|
||||
action: replace
|
||||
target_label: node
|
||||
namespaceSelector: {} # You need to specify namespaceSelector here
|
||||
selector: {} # You need to specify selector here
|
||||
```
|
||||
|
||||
You can find yaml-file with this example [here](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmservicescrape_service_sd.yaml).
|
||||
|
||||
Check out more information about:
|
||||
- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent)
|
||||
- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
|
||||
- [Relabeling](https://docs.victoriametrics.com/vmagent#relabeling)
|
Before ![]() (image error) Size: 130 KiB |
|
@ -1,77 +0,0 @@
|
|||
---
|
||||
weight: 6
|
||||
title: Monitoring
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 6
|
||||
aliases:
|
||||
- /operator/monitoring
|
||||
- /operator/monitoring/index.html
|
||||
---
|
||||
VictoriaMetrics operator exports internal metrics in Prometheus exposition format at `/metrics` page.
|
||||
|
||||
These metrics can be scraped via [vmagent](https://docs.victoriametrics.com/operator/resources/vmagent) or Prometheus.
|
||||
|
||||
## Dashboard
|
||||
|
||||
Official Grafana dashboard available for [vmoperator](https://grafana.com/grafana/dashboards/17869-victoriametrics-operator/).
|
||||
|
||||

|
||||
|
||||
Graphs on the dashboards contain useful hints - hover the `i` icon in the top left corner of each graph to read it.
|
||||
|
||||
## Alerting rules
|
||||
|
||||
Alerting rules for VictoriaMetrics operator are available [here](https://github.com/VictoriaMetrics/operator/blob/master/config/alerting/vmoperator-rules.yaml).
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm-chart victoria-metrics-k8s-stack
|
||||
|
||||
In [victoria-metrics-k8s-stack](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack/) helm-chart operator self-scrapes metrics by default.
|
||||
|
||||
This helm-chart also includes [official grafana dashboard for operator](#dashboard) and [official alerting rules for operator](#alerting-rules).
|
||||
|
||||
### Helm-chart victoria-metrics-operator
|
||||
|
||||
With [victoria-metrics-operator](https://docs.victoriametrics.com/helm/victoriametrics-operator) you can use following parameter in `values.yaml`:
|
||||
|
||||
```yaml
|
||||
# values.yaml
|
||||
#...
|
||||
# -- configures monitoring with serviceScrape. VMServiceScrape must be pre-installed
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
This parameter makes helm-chart to create a scrape-object for installed operator instance.
|
||||
|
||||
You will also need to deploy a (vmsingle)[https://docs.victoriametrics.com/operator/resources/vmsingle] where the metrics will be collected.
|
||||
|
||||
### Pure operator installation
|
||||
|
||||
With pure operator installation you can use config with separate vmsingle and scrape object for operator like that:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
name: vmoperator
|
||||
namespace: monitoring
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/instance: vm-operator
|
||||
app.kubernetes.io/name: victoria-metrics-operator
|
||||
endpoints:
|
||||
- port: http
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- monitoring
|
||||
```
|
||||
|
||||
See more info about object [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape).
|
||||
|
||||
You will also need a [vmsingle](https://docs.victoriametrics.com/operator/resources/vmsingle) where the metrics will be collected.
|
||||
|
Before ![]() (image error) Size: 88 KiB |
|
@ -1,704 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: QuickStart
|
||||
menu:
|
||||
docs:
|
||||
parent: "operator"
|
||||
weight: 1
|
||||
aliases:
|
||||
- /operator/quick-start/
|
||||
- /operator/quick-start/index.html
|
||||
---
|
||||
VictoriaMetrics Operator serves to make running VictoriaMetrics applications on top of Kubernetes as easy as possible
|
||||
while preserving Kubernetes-native configuration options.
|
||||
|
||||
The shortest way to deploy full-stack monitoring cluster with VictoriaMetrics Operator is
|
||||
to use Helm-chart [victoria-metrics-k8s-stack](https://docs.victoriametrics.com/helm/victoriametrics-k8s-stack/).
|
||||
|
||||
Also you can follow the other steps in documentation to use VictoriaMetrics Operator:
|
||||
|
||||
- [Setup](https://docs.victoriametrics.com/operator/setup)
|
||||
- [Security](https://docs.victoriametrics.com/operator/security)
|
||||
- [Configuration](https://docs.victoriametrics.com/operator/configuration)
|
||||
- [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration)
|
||||
- [Monitoring](https://docs.victoriametrics.com/operator/monitoring)
|
||||
- [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth)
|
||||
- [High Availability](https://docs.victoriametrics.com/operator/high-availability)
|
||||
- [Enterprise](https://docs.victoriametrics.com/operator/enterprise)
|
||||
- [Custom resources](https://docs.victoriametrics.com/operator/resources/)
|
||||
- [FAQ (Frequency Asked Questions)](https://docs.victoriametrics.com/operator/faq)
|
||||
|
||||
But if you want to deploy VictoriaMetrics Operator quickly from scratch (without using templating for custom resources),
|
||||
you can follow this guide:
|
||||
|
||||
- [Setup operator](#setup-operator)
|
||||
- [Deploy components](#deploy-components)
|
||||
- [VMCluster](#vmcluster-vmselect-vminsert-vmstorage)
|
||||
- [Scraping](#scraping)
|
||||
- [VMAgent](#vmagent)
|
||||
- [VMServiceScrape](#vmservicescrape)
|
||||
- [Access](#access)
|
||||
- [VMAuth](#vmauth)
|
||||
- [VMUser](#vmuser)
|
||||
- [Alerting](#alerting)
|
||||
- [VMAlertmanager](#vmalertmanager)
|
||||
- [VMAlert](#vmalert)
|
||||
- [VMRule](#vmrule)
|
||||
- [VMUser](#vmuser)
|
||||
- [Anythings else?](#anythings-else)
|
||||
|
||||
Let's start!
|
||||
|
||||
## Setup operator
|
||||
|
||||
You can find out how to and instructions for installing the VictoriaMetrics operator into your kubernetes cluster
|
||||
on the [Setup page](https://docs.victoriametrics.com/operator/setup).
|
||||
|
||||
Here we will elaborate on just one of the ways - for instance, we will install operator via Helm-chart
|
||||
[victoria-metrics-operator](https://docs.victoriametrics.com/helm/victoriametrics-operator/):
|
||||
|
||||
Add repo with helm-chart:
|
||||
|
||||
```shell
|
||||
helm repo add vm https://victoriametrics.github.io/helm-charts/
|
||||
helm repo update
|
||||
```
|
||||
|
||||
Render `values.yaml` with default operator configuration:
|
||||
|
||||
```shell
|
||||
helm show values vm/victoria-metrics-operator > values.yaml
|
||||
```
|
||||
|
||||
Now you can configure operator - open rendered `values.yaml` file in your text editor. For example:
|
||||
|
||||
```shell
|
||||
code values.yaml
|
||||
```
|
||||
|
||||

|
||||
{width="1200"}
|
||||
|
||||
Now you can change configuration in `values.yaml`. For more details about configuration options and methods,
|
||||
see [configuration -> victoria-metrics-operator](https://docs.victoriametrics.com/operator/configuration#victoria-metrics-operator).
|
||||
|
||||
If you migrated from prometheus-operator, you can read about prometheus-operator objects conversion on
|
||||
the [migration from prometheus-operator](https://docs.victoriametrics.com/operator/migration).
|
||||
|
||||
Since we're looking at installing from scratch, let's disable prometheus-operator objects conversion,
|
||||
and also let's set some resources for operator in `values.yaml`:
|
||||
|
||||
```yaml
|
||||
# ...
|
||||
|
||||
operator:
|
||||
# -- By default, operator converts prometheus-operator objects.
|
||||
disable_prometheus_converter: true
|
||||
|
||||
# -- Resources for operator
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 500Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 150Mi
|
||||
|
||||
# ...
|
||||
```
|
||||
|
||||
You will need a kubernetes namespace to deploy the operator and VM components. Let's create it:
|
||||
|
||||
```shell
|
||||
kubectl create namespace vm
|
||||
```
|
||||
|
||||
After finishing with `values.yaml` and creating namespace, you can test the installation with command:
|
||||
|
||||
```shell
|
||||
helm install vmoperator vm/victoria-metrics-operator -f values.yaml -n vm --debug --dry-run
|
||||
```
|
||||
|
||||
Where `vm` is the namespace where you want to install operator.
|
||||
|
||||
If everything is ok, you can install operator with command:
|
||||
|
||||
```shell
|
||||
helm install vmoperator vm/victoria-metrics-operator -f values.yaml -n vm
|
||||
|
||||
# NAME: vmoperator
|
||||
# LAST DEPLOYED: Thu Sep 14 15:13:04 2023
|
||||
# NAMESPACE: vm
|
||||
# STATUS: deployed
|
||||
# REVISION: 1
|
||||
# TEST SUITE: None
|
||||
# NOTES:
|
||||
# victoria-metrics-operator has been installed. Check its status by running:
|
||||
# kubectl --namespace vm get pods -l "app.kubernetes.io/instance=vmoperator"
|
||||
#
|
||||
# Get more information on https://docs.victoriametrics.com/helm/victoriametrics-operator/
|
||||
# See "Getting started guide for VM Operator" on https://docs.victoriametrics.com/guides/getting-started-with-vm-operator/.
|
||||
```
|
||||
|
||||
And check that operator is running:
|
||||
|
||||
```shell
|
||||
kubectl get pods -n vm -l "app.kubernetes.io/instance=vmoperator"
|
||||
|
||||
# NAME READY STATUS RESTARTS AGE
|
||||
# vmoperator-victoria-metrics-operator-7b88bd6df9-q9qwz 1/1 Running 0 98s
|
||||
```
|
||||
|
||||
## Deploy components
|
||||
|
||||
Now you can create instances of VictoriaMetrics applications.
|
||||
Let's create fullstack monitoring cluster with
|
||||
[`vmagent`](https://docs.victoriametrics.com/operator/resources/vmagent),
|
||||
[`vmauth`](https://docs.victoriametrics.com/operator/resources/vmauth),
|
||||
[`vmalert`](https://docs.victoriametrics.com/operator/resources/vmalert),
|
||||
[`vmalertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager),
|
||||
[`vmcluster`](https://docs.victoriametrics.com/operator/resources/vmcluster)
|
||||
(a component for deploying a cluster version of
|
||||
[VictoriaMetrics](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#architecture-overview)
|
||||
consisting of `vmstorage`, `vmselect` and `vminsert`):
|
||||
|
||||

|
||||
{width="1200"}
|
||||
|
||||
More details about resources of VictoriaMetrics operator you can find on the [resources page](https://docs.victoriametrics.com/operator/resources/).
|
||||
|
||||
### VMCluster (vmselect, vminsert, vmstorage)
|
||||
|
||||
Let's start by deploying the [`vmcluster`](https://docs.victoriametrics.com/operator/resources/vmcluster) resource.
|
||||
|
||||
Create file `vmcluster.yaml`
|
||||
|
||||
```shell
|
||||
code vmcluster.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
# vmcluster.yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
retentionPeriod: "1"
|
||||
replicationFactor: 2
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
storageDataPath: "/vm-data"
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: "10Gi"
|
||||
resources:
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: "1Gi"
|
||||
vmselect:
|
||||
replicaCount: 2
|
||||
cacheMountPath: "/select-cache"
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: "1Gi"
|
||||
resources:
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: "1Gi"
|
||||
requests:
|
||||
cpu: "0.5"
|
||||
memory: "500Mi"
|
||||
vminsert:
|
||||
replicaCount: 2
|
||||
resources:
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: "1Gi"
|
||||
requests:
|
||||
cpu: "0.5"
|
||||
memory: "500Mi"
|
||||
```
|
||||
|
||||
After that you can deploy `vmcluster` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmcluster.yaml -n vm
|
||||
|
||||
# vmcluster.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
Check that `vmcluster` is running:
|
||||
|
||||
```shell
|
||||
kubectl get pods -n vm -l "app.kubernetes.io/instance=demo"
|
||||
|
||||
# NAME READY STATUS RESTARTS AGE
|
||||
# vminsert-demo-8688d88ff7-fnbnw 1/1 Running 0 3m39s
|
||||
# vminsert-demo-8688d88ff7-5wbj7 1/1 Running 0 3m39s
|
||||
# vmselect-demo-0 1/1 Running 0 3m39s
|
||||
# vmselect-demo-1 1/1 Running 0 3m39s
|
||||
# vmstorage-demo-1 1/1 Running 0 22s
|
||||
# vmstorage-demo-0 1/1 Running 0 6s
|
||||
```
|
||||
|
||||
Now you can see that 6 components of your demo vmcluster is running.
|
||||
|
||||
In addition, you can see that the operator created services for each of the component type:
|
||||
|
||||
```shell
|
||||
kubectl get svc -n vm -l "app.kubernetes.io/instance=demo"
|
||||
|
||||
# NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
# vmstorage-demo ClusterIP None <none> 8482/TCP,8400/TCP,8401/TCP 8m3s
|
||||
# vmselect-demo ClusterIP None <none> 8481/TCP 8m3s
|
||||
# vminsert-demo ClusterIP 192.168.194.183 <none> 8480/TCP 8m3s
|
||||
```
|
||||
|
||||
We'll need them in the next steps.
|
||||
|
||||
More information about `vmcluster` resource you can find on
|
||||
the [vmcluster page](https://docs.victoriametrics.com/operator/resources/vmcluster).
|
||||
|
||||
### Scraping
|
||||
|
||||
#### VMAgent
|
||||
|
||||
Now let's deploy [`vmagent`](https://docs.victoriametrics.com/operator/resources/vmagent) resource.
|
||||
|
||||
Create file `vmagent.yaml`
|
||||
|
||||
```shell
|
||||
code vmagent.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
remoteWrite:
|
||||
- url: "http://vminsert-demo.vm.svc:8480/insert/0/prometheus/api/v1/write"
|
||||
```
|
||||
|
||||
After that you can deploy `vmagent` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmagent.yaml -n vm
|
||||
|
||||
# vmagent.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
Check that `vmagent` is running:
|
||||
|
||||
```shell
|
||||
kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmagent"
|
||||
|
||||
# NAME READY STATUS RESTARTS AGE
|
||||
# vmagent-demo-6785f7d7b9-zpbv6 2/2 Running 0 72s
|
||||
```
|
||||
|
||||
More information about `vmagent` resource you can find on
|
||||
the [vmagent page](https://docs.victoriametrics.com/operator/resources/vmagent).
|
||||
|
||||
#### VMServiceScrape
|
||||
|
||||
Now we have the timeseries database (vmcluster) and the tool to collect metrics (vmagent) and send it to the database.
|
||||
|
||||
But we need to tell vmagent what metrics to collect. For this we will use [`vmservicescrape`](https://docs.victoriametrics.com/operator/resources/vmservicescrape) resource
|
||||
or [other `*scrape` resources](https://docs.victoriametrics.com/operator/resources/).
|
||||
|
||||
By default, operator creates `vmservicescrape` resource for each component that it manages. More details about this you can find on
|
||||
the [monitoring page](https://docs.victoriametrics.com/operator/configuration#monitoring-of-cluster-components).
|
||||
|
||||
For instance, we can create `vmservicescrape` for VictoriaMetrics operator manually. Let's create file `vmservicescrape.yaml`:
|
||||
|
||||
```shell
|
||||
code vmservicescrape.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
name: vmoperator-demo
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/instance: vmoperator
|
||||
app.kubernetes.io/name: victoria-metrics-operator
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- vm
|
||||
endpoints:
|
||||
- port: http
|
||||
```
|
||||
|
||||
After that you can deploy `vmservicescrape` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmservicescrape.yaml -n vm
|
||||
|
||||
# vmservicescrape.operator.victoriametrics.com/vmoperator-demo created
|
||||
```
|
||||
|
||||
### Access
|
||||
|
||||
We need to look at the results of what we got. Up until now, we've just been looking only at the status of the pods.
|
||||
|
||||
#### VMAuth
|
||||
|
||||
Let's expose our components with [`vmauth`](https://docs.victoriametrics.com/operator/resources/vmauth).
|
||||
|
||||
Create file `vmauth.yaml`
|
||||
|
||||
```shell
|
||||
code vmauth.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
userNamespaceSelector: {}
|
||||
userSelector: {}
|
||||
ingress:
|
||||
class_name: nginx # <-- change this to your ingress-controller
|
||||
host: vm-demo.k8s.orb.local # <-- change this to your domain
|
||||
```
|
||||
|
||||
**Note** that content of `ingress` field depends on your ingress-controller and domain.
|
||||
Your cluster will have them differently.
|
||||
Also, for simplicity, we don't use tls, but in real environments not having tls is unsafe.
|
||||
|
||||
#### VMUser
|
||||
|
||||
To get authorized access to our data it is necessary to create a user using
|
||||
the [vmuser](https://docs.victoriametrics.com/operator/resources/vmuser) resource.
|
||||
|
||||
Create file `vmuser.yaml`
|
||||
|
||||
```shell
|
||||
code vmuser.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
name: demo
|
||||
username: demo
|
||||
generatePassword: true
|
||||
targetRefs:
|
||||
# vmui + vmselect
|
||||
- crd:
|
||||
kind: VMCluster/vmselect
|
||||
name: demo
|
||||
namespace: vm
|
||||
target_path_suffix: "/select/0"
|
||||
paths:
|
||||
- "/vmui"
|
||||
- "/vmui/.*"
|
||||
- "/prometheus/api/v1/query"
|
||||
- "/prometheus/api/v1/query_range"
|
||||
- "/prometheus/api/v1/series"
|
||||
- "/prometheus/api/v1/status/.*"
|
||||
- "/prometheus/api/v1/label/"
|
||||
- "/prometheus/api/v1/label/[^/]+/values"
|
||||
```
|
||||
|
||||
After that you can deploy `vmauth` and `vmuser` resources to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmauth.yaml -n vm
|
||||
kubectl apply -f vmuser.yaml -n vm
|
||||
|
||||
# vmauth.operator.victoriametrics.com/demo created
|
||||
# vmuser.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
Operator automatically creates a secret with username/password token for `VMUser` resource with `generatePassword=true`:
|
||||
|
||||
```shell
|
||||
kubectl get secret -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmuser"
|
||||
|
||||
# NAME TYPE DATA AGE
|
||||
# vmuser-demo Opaque 3 29m
|
||||
```
|
||||
|
||||
You can get password for your user with command:
|
||||
|
||||
```shell
|
||||
kubectl get secret -n vm vmuser-demo -o jsonpath="{.data.password}" | base64 --decode
|
||||
|
||||
# Yt3N2r3cPl
|
||||
```
|
||||
|
||||
Now you can get access to your data with url `http://vm-demo.k8s.orb.local/vmui`, username `demo`
|
||||
and your given password (`Yt3N2r3cPl` in our case):
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Alerting
|
||||
|
||||
The remaining components will be needed for alerting.
|
||||
|
||||
#### VMAlertmanager
|
||||
|
||||
Let's start with [`vmalertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager).
|
||||
|
||||
Create file `vmalertmanager.yaml`
|
||||
|
||||
```shell
|
||||
code vmalertmanager.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
configRawYaml: |
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 12h
|
||||
receiver: 'webhook'
|
||||
receivers:
|
||||
- name: 'webhook'
|
||||
webhook_configs:
|
||||
- url: 'http://your-webhook-url'
|
||||
```
|
||||
|
||||
where webhook-url is the address of the webhook to receive notifications
|
||||
(configuration of AlertManager notifications will remain out of scope).
|
||||
You can find more details about `alertmanager` configuration in
|
||||
the [Alertmanager documentation](https://prometheus.io/docs/alerting/latest/configuration/).
|
||||
|
||||
After that you can deploy `vmalertmanager` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmalertmanager.yaml -n vm
|
||||
|
||||
# vmalertmanager.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
Check that `vmalertmanager` is running:
|
||||
|
||||
```shell
|
||||
kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmalertmanager"
|
||||
|
||||
# NAME READY STATUS RESTARTS AGE
|
||||
# vmalertmanager-demo-0 2/2 Running 0 107s
|
||||
```
|
||||
|
||||
#### VMAlert
|
||||
|
||||
And now you can create [`vmalert`](https://docs.victoriametrics.com/operator/resources/vmalert) resource.
|
||||
|
||||
Create file `vmalert.yaml`
|
||||
|
||||
```shell
|
||||
code vmalert.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
datasource:
|
||||
url: "http://vmselect-demo.vm.svc:8481/select/0/prometheus"
|
||||
remoteWrite:
|
||||
url: "http://vminsert-demo.vm.svc:8480/insert/0/prometheus"
|
||||
remoteRead:
|
||||
url: "http://vmselect-demo.vm.svc:8481/select/0/prometheus"
|
||||
notifier:
|
||||
url: "http://vmalertmanager-demo.vm.svc:9093"
|
||||
evaluationInterval: "30s"
|
||||
selectAllByDefault: true
|
||||
# for accessing to vmalert via vmauth with path prefix
|
||||
extraArgs:
|
||||
http.pathPrefix: /vmalert
|
||||
```
|
||||
|
||||
After that you can deploy `vmalert` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmalert.yaml -n vm
|
||||
|
||||
# vmalert.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
Check that `vmalert` is running:
|
||||
|
||||
```shell
|
||||
kubectl get pods -n vm -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmalert"
|
||||
|
||||
# NAME READY STATUS RESTARTS AGE
|
||||
# vmalert-demo-bf75c67cb-hh4qd 2/2 Running 0 5s
|
||||
```
|
||||
|
||||
#### VMRule
|
||||
|
||||
Now you can create [vmrule](https://docs.victoriametrics.com/operator/resources/vmrule) resource
|
||||
for [vmalert](https://docs.victoriametrics.com/operator/resources/vmalert).
|
||||
|
||||
Create file `vmrule.yaml`
|
||||
|
||||
```shell
|
||||
code vmrule.yaml
|
||||
```
|
||||
|
||||
with the following content:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMRule
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
groups:
|
||||
- name: vmalert
|
||||
rules:
|
||||
- alert: vmalert config reload error
|
||||
expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0
|
||||
for: 10s
|
||||
labels:
|
||||
severity: major
|
||||
job: "{{ $labels.job }}"
|
||||
annotations:
|
||||
value: "{{ $value }}"
|
||||
description: 'error reloading vmalert config, reload count for 5 min {{ $value }}'
|
||||
```
|
||||
|
||||
After that you can deploy `vmrule` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmrule.yaml -n vm
|
||||
|
||||
# vmrule.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
#### VMUser update
|
||||
|
||||
Let's update our user with access to `vmalert` and `vmalertmanager`:
|
||||
|
||||
```shell
|
||||
code vmuser.yaml
|
||||
```
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: demo
|
||||
spec:
|
||||
name: demo
|
||||
username: demo
|
||||
generatePassword: true
|
||||
targetRefs:
|
||||
# vmui + vmselect
|
||||
- crd:
|
||||
kind: VMCluster/vmselect
|
||||
name: demo
|
||||
namespace: vm
|
||||
target_path_suffix: "/select/0"
|
||||
paths:
|
||||
- "/vmui"
|
||||
- "/vmui/.*"
|
||||
- "/prometheus/api/v1/query"
|
||||
- "/prometheus/api/v1/query_range"
|
||||
- "/prometheus/api/v1/series"
|
||||
- "/prometheus/api/v1/status/.*"
|
||||
- "/prometheus/api/v1/label/"
|
||||
- "/prometheus/api/v1/label/[^/]+/values"
|
||||
# vmalert
|
||||
- crd:
|
||||
kind: VMAlert
|
||||
name: demo
|
||||
namespace: vm
|
||||
paths:
|
||||
- "/vmalert"
|
||||
- "/vmalert/.*"
|
||||
- "/api/v1/groups"
|
||||
- "/api/v1/alert"
|
||||
- "/api/v1/alerts"
|
||||
```
|
||||
|
||||
After that you can deploy `vmuser` resource to the kubernetes cluster:
|
||||
|
||||
```shell
|
||||
kubectl apply -f vmuser.yaml -n vm
|
||||
|
||||
# vmuser.operator.victoriametrics.com/demo created
|
||||
```
|
||||
|
||||
And now you can get access to your data with url `http://vm-demo.k8s.orb.local/vmalert`
|
||||
(for your environment it most likely will be different) with username `demo`:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Anything else
|
||||
|
||||
That's it. We obtained a monitoring cluster corresponding to the target topology:
|
||||
|
||||

|
||||
|
||||
You have a full-stack monitoring cluster with VictoriaMetrics Operator.
|
||||
|
||||
You can find information about these and other resources of operator on the [Custom resources page](https://docs.victoriametrics.com/operator/resources/).
|
||||
|
||||
In addition, check out other sections of the documentation for VictoriaMetrics Operator:
|
||||
|
||||
- [Setup](https://docs.victoriametrics.com/operator/setup)
|
||||
- [Security](https://docs.victoriametrics.com/operator/security)
|
||||
- [Configuration](https://docs.victoriametrics.com/operator/configuration)
|
||||
- [Migration from Prometheus](https://docs.victoriametrics.com/operator/migration)
|
||||
- [Monitoring](https://docs.victoriametrics.com/operator/monitoring)
|
||||
- [Authorization and exposing components](https://docs.victoriametrics.com/operator/auth)
|
||||
- [High Availability](https://docs.victoriametrics.com/operator/high-availability)
|
||||
- [Enterprise](https://docs.victoriametrics.com/operator/enterprise)
|
||||
|
||||
If you have any questions, check out our [FAQ](https://docs.victoriametrics.com/operator/faq)
|
||||
and feel free to can ask them:
|
||||
- [VictoriaMetrics Slack](https://victoriametrics.slack.com/)
|
||||
- [VictoriaMetrics Telegram](https://t.me/VictoriaMetrics_en)
|
||||
|
||||
If you have any suggestions or find a bug, please create an issue
|
||||
on [GitHub](https://github.com/VictoriaMetrics/operator/issues/new).
|
Before ![]() (image error) Size: 53 KiB |
Before ![]() (image error) Size: 78 KiB |
Before ![]() (image error) Size: 148 KiB |
Before ![]() (image error) Size: 58 KiB |
Before ![]() (image error) Size: 161 KiB |
Before ![]() (image error) Size: 203 KiB |
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/relabeling.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [Relabeling](./resources/vmagent.md#relabeling) section in VMAgent docs instead.
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
sort: -1 # hide page from menu
|
||||
aliases:
|
||||
- /operator/resources-validation.html
|
||||
---
|
||||
|
||||
This page is deprecated.
|
||||
|
||||
Please see [CRD Validation](./configuration.md#crd-validation) instead.
|
|
@ -1,223 +0,0 @@
|
|||
This documentation section describes the design and interaction between the custom resource definitions (CRD) that the Victoria
|
||||
Metrics Operator introduces.
|
||||
[Operator](https://docs.victoriametrics.com/operator) introduces the following custom resources:
|
||||
- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent)
|
||||
- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert)
|
||||
- [VMAlertManager](https://docs.victoriametrics.com/operator/resources/vmalertmanager)
|
||||
- [VMAlertManagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig)
|
||||
- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth)
|
||||
- [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster)
|
||||
- [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape)
|
||||
- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape)
|
||||
- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe)
|
||||
- [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule)
|
||||
- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape)
|
||||
- [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape)
|
||||
- [VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle)
|
||||
- [VMUser](https://docs.victoriametrics.com/operator/resources/vmuser)
|
||||
- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
|
||||
|
||||
Here is the scheme of relations between the custom resources:
|
||||
|
||||

|
||||
|
||||
## Specification
|
||||
|
||||
You can find the specification for the custom resources on **[API Docs](https://docs.victoriametrics.com/operator/api)**.
|
||||
|
||||
### Extra arguments
|
||||
|
||||
If you can't find necessary field in the specification of custom resource,
|
||||
you can use `extraArgs` field for passing additional arguments to the application.
|
||||
|
||||
Field `extraArgs` is supported for the following custom resources:
|
||||
|
||||
- [VMAgent spec](https://docs.victoriametrics.com/operator/api#vmagentspec)
|
||||
- [VMAlert spec](https://docs.victoriametrics.com/operator/api#vmalertspec)
|
||||
- [VMAlertManager spec](https://docs.victoriametrics.com/operator/api#vmalertmanagerspec)
|
||||
- [VMAuth spec](https://docs.victoriametrics.com/operator/api#vmauthspec)
|
||||
- [VMCluster/vmselect spec](https://docs.victoriametrics.com/operator/api#vmselect)
|
||||
- [VMCluster/vminsert spec](https://docs.victoriametrics.com/operator/api#vminsert)
|
||||
- [VMCluster/vmstorage spec](https://docs.victoriametrics.com/operator/api#vmstorage)
|
||||
- [VMSingle spec](https://docs.victoriametrics.com/operator/api#vmsinglespec)
|
||||
|
||||
Supported flags for each application can be found the in the corresponding documentation:
|
||||
|
||||
- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#advanced-usage)
|
||||
- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#configuration)
|
||||
- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#advanced-usage)
|
||||
- [VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#list-of-command-line-flags)
|
||||
- [VMSingle](https://docs.victoriametrics.com#list-of-command-line-flags)
|
||||
|
||||
Usage example:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMSingle
|
||||
metadata:
|
||||
name: vmsingle-example-extraargs
|
||||
spec:
|
||||
retentionPeriod: "1"
|
||||
extraArgs:
|
||||
dedup.minScrapeInterval: 60s
|
||||
# ...
|
||||
```
|
||||
|
||||
### Extra environment variables
|
||||
|
||||
Flag can be replaced with environment variable, it's useful for retrieving value from secret.
|
||||
You can use `extraEnvs` field for passing additional arguments to the application.
|
||||
|
||||
Usage example:
|
||||
|
||||
```yaml
|
||||
kind: VMSingle
|
||||
metadata:
|
||||
name: vmsingle-example-extraenvs
|
||||
spec:
|
||||
retentionPeriod: "1"
|
||||
extraEnvs:
|
||||
- name: DEDUP_MINSCRAPEINTERVAL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: vm-secret
|
||||
key: dedup
|
||||
```
|
||||
|
||||
This feature really useful for using with
|
||||
[`-envflag.enable` command-line argument](https://docs.victoriametrics.com/#environment-variables).
|
||||
|
||||
## Examples
|
||||
|
||||
Page for every custom resource contains examples section:
|
||||
|
||||
- [VMAgent examples](https://docs.victoriametrics.com/operator/resources/vmagent#examples)
|
||||
- [VMAlert examples](https://docs.victoriametrics.com/operator/resources/vmalert#examples)
|
||||
- [VMAlertmanager examples](https://docs.victoriametrics.com/operator/resources/vmalertmanager#examples)
|
||||
- [VMAlertmanagerConfig examples](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig#examples)
|
||||
- [VMAuth examples](https://docs.victoriametrics.com/operator/resources/vmauth#examples)
|
||||
- [VMCluster examples](https://docs.victoriametrics.com/operator/resources/vmcluster#examples)
|
||||
- [VMNodeScrape examples](https://docs.victoriametrics.com/operator/resources/vmnodescrape#examples)
|
||||
- [VMPodScrape examples](https://docs.victoriametrics.com/operator/resources/vmpodscrape#examples)
|
||||
- [VMProbe examples](https://docs.victoriametrics.com/operator/resources/vmprobe#examples)
|
||||
- [VMRule examples](https://docs.victoriametrics.com/operator/resources/vmrule#examples)
|
||||
- [VMServiceScrape examples](https://docs.victoriametrics.com/operator/resources/vmservicescrape#examples)
|
||||
- [VMStaticScrape examples](https://docs.victoriametrics.com/operator/resources/vmstaticscrape#examples)
|
||||
- [VMSingle examples](https://docs.victoriametrics.com/operator/resources/vmsingle#examples)
|
||||
- [VMUser examples](https://docs.victoriametrics.com/operator/resources/vmuser#examples)
|
||||
- [VMScrapeConfig examples](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig#examples)
|
||||
|
||||
In addition, you can find examples of the custom resources for VictoriaMetrics operator in
|
||||
the **[examples directory](https://github.com/VictoriaMetrics/operator/tree/master/config/examples) of operator repository**.
|
||||
|
||||
## Managing versions of VM
|
||||
|
||||
Every custom resource with deployable application has a fields for specifying version (docker image) of component:
|
||||
|
||||
- [Managing versions for VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#version-management)
|
||||
- [Managing versions for VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#version-management)
|
||||
- [Managing versions for VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#version-management)
|
||||
- [Managing versions for VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#version-management)
|
||||
- [Managing versions for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#version-management)
|
||||
- [Managing versions for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#version-management)
|
||||
|
||||
## Managing resources
|
||||
|
||||
Every custom resource with deployable application has a fields and operator parameters for specifying resources for the component:
|
||||
|
||||
- [Managing resources for VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#resource-management)
|
||||
- [Managing resources for VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#resource-management)
|
||||
- [Managing resources for VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#resource-management)
|
||||
- [Managing resources for VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#resource-management)
|
||||
- [Managing resources for VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#resource-management)
|
||||
- [Managing resources for VMSingle](https://docs.victoriametrics.com/operator/resources/vmsingle#resource-management)
|
||||
|
||||
## High availability
|
||||
|
||||
VictoriaMetrics operator support high availability for each component of the monitoring stack:
|
||||
|
||||
- [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent#high-availability)
|
||||
- [VMAlert](https://docs.victoriametrics.com/operator/resources/vmalert#high-availability)
|
||||
- [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager#high-availability)
|
||||
- [VMAuth](https://docs.victoriametrics.com/operator/resources/vmauth#high-availability)
|
||||
- [VMCluster](https://docs.victoriametrics.com/operator/resources/vmcluster#high-availability)
|
||||
|
||||
In addition, these CRD support common features, that can be used to increase high availability - resources above have the following fields:
|
||||
|
||||
- `affinity` - to schedule pods on different nodes ([affinity and anti-affinity in kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)),
|
||||
- `tolerations` - to schedule pods on nodes with taints ([taints and tolerations in kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)),
|
||||
- `nodeSelector` - to schedule pods on nodes with specific labels ([node selector in kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)),
|
||||
- `topologySpreadConstraints` - to schedule pods on different nodes in the same topology ([topology spread constraints in kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints)).
|
||||
|
||||
See details about these fields in the [Specification](#specification).
|
||||
|
||||
## Enterprise features
|
||||
|
||||
Operator supports following [Enterprise features for VictoriaMetrics components](https://docs.victoriametrics.com/enterprise):
|
||||
|
||||
- [VMAgent Enterprise features](https://docs.victoriametrics.com/operator/resources/vmagent#enterprise-features):
|
||||
- [Reading metrics from kafka](https://docs.victoriametrics.com/operator/resources/vmagent#reading-metrics-from-kafka)
|
||||
- [Writing metrics to kafka](https://docs.victoriametrics.com/operator/resources/vmagent#writing-metrics-to-kafka)
|
||||
- [VMAlert Enterprise features](https://docs.victoriametrics.com/operator/resources/vmalert#enterprise-features):
|
||||
- [Reading rules from object storage](https://docs.victoriametrics.com/operator/resources/vmalert#reading-rules-from-object-storage)
|
||||
- [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmalert#multitenancy)
|
||||
- [VMAuth Enterprise features](https://docs.victoriametrics.com/operator/resources/vmauth#enterprise-features)
|
||||
- [IP Filters](https://docs.victoriametrics.com/operator/resources/vmauth#ip-filters)
|
||||
- [VMCluster Enterprise features](https://docs.victoriametrics.com/operator/resources/vmcluster#enterprise-features)
|
||||
- [Downsampling](https://docs.victoriametrics.com/operator/resources/vmcluster#downsampling)
|
||||
- [Multiple retentions / Retention filters](https://docs.victoriametrics.com/operator/resources/vmcluster#retention-filters)
|
||||
- [Advanced per-tenant statistic](https://docs.victoriametrics.com/operator/resources/vmcluster#advanced-per-tenant-statistic)
|
||||
- [mTLS protection](https://docs.victoriametrics.com/operator/resources/vmcluster#mtls-protection)
|
||||
- [Backup automation](https://docs.victoriametrics.com/operator/resources/vmcluster#backup-automation)
|
||||
- [VMRule Enterprise features](https://docs.victoriametrics.com/operator/resources/vmrule#enterprise-features)
|
||||
- [Multitenancy](https://docs.victoriametrics.com/operator/resources/vmrule#multitenancy)
|
||||
- [VMSingle Enterprise features](https://docs.victoriametrics.com/operator/resources/vmsingle#enterprise-features)
|
||||
- [Downsampling](https://docs.victoriametrics.com/operator/resources/vmsingle#downsampling)
|
||||
- [Retention filters](https://docs.victoriametrics.com/operator/resources/vmsingle#retention-filters)
|
||||
- [Backup automation](https://docs.victoriametrics.com/operator/resources/vmsingle#backup-automation)
|
||||
- [VMUser Enterprise features](https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features)
|
||||
- [IP Filters](https://docs.victoriametrics.com/operator/resources/vmuser#ip-filters)
|
||||
|
||||
More information about enterprise features you can read
|
||||
on [VictoriaMetrics Enterprise page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
|
||||
## Configuration synchronization
|
||||
|
||||
### Basic concepts
|
||||
|
||||
VictoriaMetrics applications, like many other applications with configuration file deployed at Kubernetes, uses `ConfigMaps` and `Secrets` for configuration files.
|
||||
Usually, it's out of application scope to watch for configuration on-disk changes.
|
||||
Applications reload their configuration by a signal from a user or some other tool, that knows how to watch for updates.
|
||||
At Kubernetes, the most popular design for this case is a sidecar container, that watches for configuration file changes and sends an HTTP request to the application.
|
||||
|
||||
`Configmap` or `Secret` that mounted at `Pod` holds a copy of its content.
|
||||
Kubernetes component `kubelet` is responsible for content synchronization between an object at Kubernetes API and a file served on disk.
|
||||
It's not efficient to sync its content immediately, and `kubelet` eventually synchronizes it. There is a configuration option, that controls this period.
|
||||
|
||||
That's why, applications managed by operator don't receive changes immediately. It usually takes 1-2 min, before content will be updated.
|
||||
|
||||
It may trigger errors when an application was deleted, but [`VMAgent`](https://docs.victoriametrics.com/operator/resources/vmagent) still tries to scrape it.
|
||||
|
||||
### Possible mitigations
|
||||
|
||||
The naive solution for this case decrease the synchronization period. But it configures globally and may be hard for operator users.
|
||||
|
||||
That's why operator uses a few hacks.
|
||||
|
||||
For `ConfigMap` updates, operator changes annotation with a time of `Configmap` content update. It triggers `ConfigMap`'s content synchronization by kubelet immediately.
|
||||
It's the case for `VMAlert`, it uses `ConfigMap` as a configuration source.
|
||||
|
||||
For `Secret` it doesn't work. And operator offers its implementation for side-car container. It can be configured with env variable for operator:
|
||||
|
||||
```
|
||||
- name: VM_USECUSTOMCONFIGRELOADER
|
||||
value: "true"
|
||||
```
|
||||
|
||||
If it's defined, operator uses own [config-reloader](https://github.com/VictoriaMetrics/operator/tree/master/cmd/config-reloader)
|
||||
instead of [prometheus-config-reload](https://github.com/prometheus-operator/prometheus-operator/tree/main/cmd/prometheus-config-reloader).
|
||||
|
||||
It watches corresponding `Secret` for changes with Kubernetes API watch call and writes content into emptyDir.
|
||||
This emptyDir shared with the application.
|
||||
In case of content changes, `config-reloader` sends HTTP requests to the application.
|
||||
It greatly reduces the time for configuration synchronization.
|
Before ![]() (image error) Size: 254 KiB |
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
weight: 14
|
||||
title: Custom resources
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr
|
||||
parent: operator
|
||||
weight: 14
|
||||
aliases:
|
||||
- /operator/resources/
|
||||
- /operator/resources/index.html
|
||||
---
|
||||
{{% content "README.md" %}}
|
|
@ -1,134 +0,0 @@
|
|||
---
|
||||
weight: 20
|
||||
title: VLogs
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vlogs
|
||||
parent: operator-cr
|
||||
weight: 20
|
||||
aliases:
|
||||
- /operator/resources/vlogs/
|
||||
- /operator/resources/vlogs/index.html
|
||||
---
|
||||
`VLogs` represents database for storing logs.
|
||||
The `VLogs` CRD declaratively defines a [single-node VictoriaLogs](https://docs.victoriametrics.com/victorialogs/)
|
||||
installation to run in a Kubernetes cluster.
|
||||
|
||||
For each `VLogs` resource, the Operator deploys a properly configured `Deployment` in the same namespace.
|
||||
The VLogs `Pod`s are configured to mount an empty dir or `PersistentVolumeClaimSpec` for storing data.
|
||||
Deployment update strategy set to [recreate](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#recreate-deployment).
|
||||
No more than one replica allowed.
|
||||
|
||||
For each `VLogs` resource, the Operator adds `Service` and `VMServiceScrape` in the same namespace prefixed with name from `VLogs.metadata.name`.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VLogs` resource in the **[API docs -> VLogs](https://docs.victoriametrics.com/operator/api#vlogs)**.
|
||||
|
||||
If you can't find necessary field in the specification of the custom resource,
|
||||
see [Extra arguments section](./#extra-arguments).
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## High availability
|
||||
|
||||
`VLogs` doesn't support high availability. Consider using [`victorialogs-single chart`](https://docs.victoriametrics.com/helm/victorialogs-single/), where it's possible to configure replica count in statefulset mode for such purpose.
|
||||
|
||||
## Version management
|
||||
|
||||
To set `VLogs` version add `spec.image.tag` name from [releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases)
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VLogs
|
||||
metadata:
|
||||
name: example-vlogs
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/victoria-logs
|
||||
tag: v1.4.0
|
||||
pullPolicy: Always
|
||||
# ...
|
||||
```
|
||||
|
||||
Also, you can specify `imagePullSecrets` if you are pulling images from private repo:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VLogs
|
||||
metadata:
|
||||
name: example-vlogs
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/victoria-logs
|
||||
tag: v1.4.0
|
||||
pullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: my-repo-secret
|
||||
# ...
|
||||
```
|
||||
|
||||
## Resource management
|
||||
|
||||
You can specify resources for each `VLogs` resource in the `spec` section of the `VLogs` CRD.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VLogs
|
||||
metadata:
|
||||
name: resources-example
|
||||
spec:
|
||||
# ...
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "500m"
|
||||
# ...
|
||||
```
|
||||
|
||||
If these parameters are not specified, then,
|
||||
by default all `VLogs` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration):
|
||||
|
||||
- `VM_VLOGSDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VLogs` pods,
|
||||
- `VM_VLOGSDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VLogs` pods,
|
||||
- `VM_VLOGSDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VLogs` pods,
|
||||
- `VM_VLOGSDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VLogs` pods.
|
||||
|
||||
These default parameters will be used if:
|
||||
|
||||
- `VM_VLOGSDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value),
|
||||
- `VLogs` CR doesn't have `resources` field in `spec` section.
|
||||
|
||||
Field `resources` in `VLogs` spec have higher priority than operator parameters.
|
||||
|
||||
If you set `VM_VLOGSDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VLogs` CRD,
|
||||
then `VLogs` pods will be created without resource requests and limits.
|
||||
|
||||
Also, you can specify requests without limits - in this case default values for limits will not be used.
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
kind: VLogs
|
||||
metadata:
|
||||
name: example
|
||||
spec:
|
||||
retentionPeriod: "12"
|
||||
removePvcAfterDelete: true
|
||||
storage:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 50Gi
|
||||
resources:
|
||||
requests:
|
||||
memory: 500Mi
|
||||
cpu: 500m
|
||||
limits:
|
||||
memory: 10Gi
|
||||
cpu: 5
|
||||
```
|
|
@ -1,777 +0,0 @@
|
|||
---
|
||||
weight: 1
|
||||
title: VMAgent
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vmagent
|
||||
parent: operator-cr
|
||||
weight: 1
|
||||
aliases:
|
||||
- /operator/resources/vmagent/
|
||||
- /operator/resources/vmagent/index.html
|
||||
---
|
||||
`VMAgent` represents agent, which helps you collect metrics from various sources and stores them in VictoriaMetrics.
|
||||
The `VMAgent` CRD declaratively defines a desired [VMAgent](https://docs.victoriametrics.com/vmagent)
|
||||
setup to run in a Kubernetes cluster.
|
||||
|
||||
It requires access to Kubernetes API and you can create RBAC for it first, it can be found
|
||||
at [`examples/vmagent_rbac.yaml`](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_rbac.yaml)
|
||||
Or you can use default rbac account, that will be created for `VMAgent` by operator automatically.
|
||||
|
||||
For each `VMAgent` resource Operator deploys a properly configured `Deployment` in the same namespace.
|
||||
The VMAgent `Pod`s are configured to mount a `Secret` prefixed with `<VMAgent-name>` containing the configuration
|
||||
for VMAgent.
|
||||
|
||||
For each `VMAgent` resource, the Operator adds `Service` and `VMServiceScrape` in the same namespace prefixed with
|
||||
name `<VMAgent-name>`.
|
||||
|
||||
The CRD specifies which `VMServiceScrape` should be covered by the deployed VMAgent instances based on label selection.
|
||||
The Operator then generates a configuration based on the included `VMServiceScrape`s and updates the `Secret` which
|
||||
contains the configuration. It continuously does so for all changes that are made to the `VMServiceScrape`s or the
|
||||
`VMAgent` resource itself.
|
||||
|
||||
If no selection of `VMServiceScrape`s is provided - Operator leaves management of the `Secret` to the user,
|
||||
so user can set custom configuration while still benefiting from the Operator's capabilities of managing VMAgent setups.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VMAgent` resource in the **[API docs -> VMAgent](https://docs.victoriametrics.com/operator/api#vmagent)**.
|
||||
|
||||
If you can't find necessary field in the specification of the custom resource,
|
||||
see [Extra arguments section](https://docs.victoriametrics.com/operator/resources/vmagent#extra-arguments).
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## Scraping
|
||||
|
||||
`VMAgent` supports scraping targets with:
|
||||
|
||||
- [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape),
|
||||
- [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape),
|
||||
- [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape),
|
||||
- [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape),
|
||||
- [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe).
|
||||
- [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig)
|
||||
|
||||
These objects tell VMAgent from which targets and how to collect metrics and
|
||||
generate part of [VMAgent](https://docs.victoriametrics.com/vmagent) scrape configuration.
|
||||
|
||||
For filtering scrape objects `VMAgent` uses selectors.
|
||||
Selectors are defined with suffixes - `NamespaceSelector` and `Selector` for each type of scrape objects in spec of `VMAgent`:
|
||||
|
||||
- `serviceScrapeNamespaceSelector` and `serviceScrapeSelector` for selecting [VMServiceScrape](https://docs.victoriametrics.com/operator/resources/vmservicescrape) objects,
|
||||
- `podScrapeNamespaceSelector` and `podScrapeSelector` for selecting [VMPodScrape](https://docs.victoriametrics.com/operator/resources/vmpodscrape) objects,
|
||||
- `probeNamespaceSelector` and `probeSelector` for selecting [VMProbe](https://docs.victoriametrics.com/operator/resources/vmprobe) objects,
|
||||
- `staticScrapeNamespaceSelector` and `staticScrapeSelector` for selecting [VMStaticScrape](https://docs.victoriametrics.com/operator/resources/vmstaticscrape) objects,
|
||||
- `nodeScrapeNamespaceSelector` and `nodeScrapeSelector` for selecting [VMNodeScrape](https://docs.victoriametrics.com/operator/resources/vmnodescrape) objects.
|
||||
- `scrapeConfigNamespaceSelector` and `scrapeConfigSelector` for selecting [VMScrapeConfig](https://docs.victoriametrics.com/operator/resources/vmscrapeconfig) objects.
|
||||
|
||||
It allows configuring objects access control across namespaces and different environments.
|
||||
Specification of selectors you can see in [this doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta).
|
||||
|
||||
In addition to the above selectors, the filtering of objects in a cluster is affected by the field `selectAllByDefault` of `VMAgent` spec and environment variable `WATCH_NAMESPACE` for operator.
|
||||
|
||||
Following rules are applied:
|
||||
|
||||
- If `...NamespaceSelector` and `...Selector` both undefined, then by default select nothing. With option set - `spec.selectAllByDefault: true`, select all objects of given type.
|
||||
- If `...NamespaceSelector` defined, `...Selector` undefined, then all objects are matching at namespaces for given `...NamespaceSelector`.
|
||||
- If `...NamespaceSelector` undefined, `...Selector` defined, then all objects at `VMAgent`'s namespaces are matching for given `...Selector`.
|
||||
- If `...NamespaceSelector` and `...Selector` both defined, then only objects at namespaces matched `...NamespaceSelector` for given `...Selector` are matching.
|
||||
|
||||
Here's a more visual and more detailed view:
|
||||
|
||||
| `...NamespaceSelector` | `...Selector` | `selectAllByDefault` | `WATCH_NAMESPACE` | Selected objects |
|
||||
|------------------------|---------------|----------------------|-------------------|-------------------------------------------------------------------------------------------------------------|
|
||||
| undefined | undefined | false | undefined | nothing |
|
||||
| undefined | undefined | **true** | undefined | all objects of given type (`...`) in the cluster |
|
||||
| **defined** | undefined | *any* | undefined | all objects of given type (`...`) at namespaces for given `...NamespaceSelector` |
|
||||
| undefined | **defined** | *any* | undefined | all objects of given type (`...`) only at `VMAgent`'s namespace are matching for given `Selector |
|
||||
| **defined** | **defined** | *any* | undefined | all objects of given type (`...`) only at namespaces matched `...NamespaceSelector` for given `...Selector` |
|
||||
| *any* | undefined | *any* | **defined** | all objects of given type (`...`) only at `VMAgent`'s namespace |
|
||||
| *any* | **defined** | *any* | **defined** | all objects of given type (`...`) only at `VMAgent`'s namespace for given `...Selector` |
|
||||
|
||||
More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode).
|
||||
|
||||
Here are some examples of `VMAgent` configuration with selectors:
|
||||
|
||||
```yaml
|
||||
# select all scrape objects in the cluster
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-select-all
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
|
||||
---
|
||||
|
||||
# select all scrape objects in specific namespace (my-namespace)
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-select-ns
|
||||
spec:
|
||||
# ...
|
||||
serviceScrapeNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
podScrapeNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
nodeScrapeNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
staticScrapeNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
probeNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
scrapeConfigNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
```
|
||||
|
||||
## High availability
|
||||
|
||||
<!-- TODO: health checks -->
|
||||
|
||||
### Replication and deduplication
|
||||
|
||||
To run VMAgent in a highly available manner at first you have to configure deduplication in Victoria Metrics
|
||||
according [this doc for VMSingle](https://docs.victoriametrics.com/#deduplication)
|
||||
or [this doc for VMCluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#deduplication).
|
||||
|
||||
You can do it with `extraArgs` on [`VMSingle`](https://docs.victoriametrics.com/operator/resources/vmsingle):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMSingle
|
||||
metadata:
|
||||
name: vmsingle-example
|
||||
spec:
|
||||
# ...
|
||||
extraArgs:
|
||||
dedup.minScrapeInterval: 30s
|
||||
# ...
|
||||
```
|
||||
|
||||
For [`VMCluster`](https://docs.victoriametrics.com/operator/resources/vmcluster) you can do it with `vmstorage.extraArgs` and `vmselect.extraArgs`:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-example
|
||||
spec:
|
||||
# ...
|
||||
vmselect:
|
||||
extraArgs:
|
||||
dedup.minScrapeInterval: 30s
|
||||
# ...
|
||||
vmstorage:
|
||||
extraArgs:
|
||||
dedup.minScrapeInterval: 30s
|
||||
# ...
|
||||
```
|
||||
|
||||
Deduplication is automatically enabled with `replicationFactor > 1` on `VMCluster`.
|
||||
|
||||
After enabling deduplication you can increase replicas for VMAgent.
|
||||
|
||||
For instance, let's create `VMAgent` with 2 replicas:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-ha-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
vmAgentExternalLabelName: vmagent_ha
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example.default.svc:8429/api/v1/write"
|
||||
# Replication:
|
||||
scrapeInterval: 30s
|
||||
replicaCount: 2
|
||||
# ...
|
||||
```
|
||||
|
||||
Now, even if something happens to one of the vmagent, you'll still have the data.
|
||||
|
||||
### StatefulMode
|
||||
|
||||
VMAgent supports [persistent buffering](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmagent/#replication-and-high-availability)
|
||||
for sending data to remote storage. By default, operator set `-remoteWrite.tmpDataPath` for `VMAgent` to `/tmp` (that use k8s ephemeral storage)
|
||||
and `VMAgent` loses state of the PersistentQueue on pod restarts.
|
||||
|
||||
In `StatefulMode` `VMAgent` doesn't lose state of the PersistentQueue (file-based buffer size for unsent data) on pod restarts.
|
||||
Operator creates `StatefulSet` and, with provided `PersistentVolumeClaimTemplate` at `StatefulStorage` configuration param, metrics queue is stored on disk.
|
||||
|
||||
Example of configuration for `StatefulMode`:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-ha-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
vmAgentExternalLabelName: vmagent_ha
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example.default.svc:8429/api/v1/write"
|
||||
# Replication:
|
||||
scrapeInterval: 30s
|
||||
replicaCount: 2
|
||||
# StatefulMode:
|
||||
statefulMode: true
|
||||
statefulStorage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 20Gi
|
||||
# ...
|
||||
```
|
||||
|
||||
### Sharding
|
||||
|
||||
Operator supports sharding with [cluster mode of vmagent](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmagent/#scraping-big-number-of-targets)
|
||||
for **scraping big number of targets**.
|
||||
|
||||
Sharding for `VMAgent` distributes scraping between multiple deployments of `VMAgent`.
|
||||
|
||||
Example usage (it is a complete example of `VMAgent` with high availability features):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-ha-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
vmAgentExternalLabelName: vmagent_ha
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example.default.svc:8429/api/v1/write"
|
||||
# Replication:
|
||||
scrapeInterval: 30s
|
||||
replicaCount: 2
|
||||
# StatefulMode:
|
||||
statefulMode: true
|
||||
statefulStorage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 20Gi
|
||||
# Sharding
|
||||
shardCount: 5
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- podAffinityTerm:
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
shard-num: '%SHARD_NUM%'
|
||||
topologyKey: kubernetes.io/hostname
|
||||
# ...
|
||||
```
|
||||
|
||||
This configuration produces `5` deployments with `2` replicas at each.
|
||||
Each deployment has its own shard num and scrapes only `1/5` of all targets.
|
||||
|
||||
Also, you can use special placeholder `%SHARD_NUM%` in fields of `VMAgent` specification
|
||||
and operator will replace it with current shard num of vmagent when creating deployment or statefullset for vmagent.
|
||||
|
||||
In the example above, the `%SHARD_NUM%` placeholder is used in the `podAntiAffinity` section,
|
||||
which recommend to scheduler that pods with the same shard num (label `shard-num` in the pod template)
|
||||
are not deployed on the same node. You can use another `topologyKey` for availability zone or region instead of nodes.
|
||||
|
||||
**Note** that at the moment operator doesn't use `-promscrape.cluster.replicationFactor` parameter of `VMAgent` and
|
||||
creates `replicaCount` of replicas for each shard (which leads greater resource consumption).
|
||||
This will be fixed in the future, more details can be seen in [this issue](https://github.com/VictoriaMetrics/operator/issues/604).
|
||||
|
||||
Also see [this example](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_stateful_with_sharding.yaml).
|
||||
|
||||
## Additional scrape configuration
|
||||
|
||||
AdditionalScrapeConfigs is an additional way to add scrape targets in `VMAgent` CRD.
|
||||
|
||||
There are two options for adding targets into `VMAgent`:
|
||||
|
||||
- [inline configuration into CRD](#inline-additional-scrape-configuration-in-vmagent-crd),
|
||||
- [defining it as a Kubernetes Secret](#define-additional-scrape-configuration-as-a-kubernetes-secret).
|
||||
|
||||
No validation happens during the creation of configuration. However, you must validate job specs, and it must follow job spec configuration.
|
||||
Please check [scrape_configs documentation](https://docs.victoriametrics.com/sd_configs#scrape_configs) as references.
|
||||
|
||||
### Inline Additional Scrape Configuration in VMAgent CRD
|
||||
|
||||
You need to add scrape configuration directly to the `vmagent spec.inlineScrapeConfig`. It is raw text in YAML format.
|
||||
See example below
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
inlineScrapeConfig: |
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["localhost:9090"]
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example.default.svc:8429/api/v1/write"
|
||||
# ...
|
||||
```
|
||||
|
||||
**Note**: Do not use passwords and tokens with inlineScrapeConfig use Secret instead.
|
||||
|
||||
## Define Additional Scrape Configuration as a Kubernetes Secret
|
||||
|
||||
You need to define Kubernetes Secret with a key.
|
||||
|
||||
The key is `prometheus-additional.yaml` in the example below:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: additional-scrape-configs
|
||||
stringData:
|
||||
prometheus-additional.yaml: |
|
||||
- job_name: "prometheus"
|
||||
static_configs:
|
||||
- targets: ["localhost:9090"]
|
||||
```
|
||||
|
||||
After that, you need to specify the secret's name and key in VMAgent CRD in `additionalScrapeConfigs` section:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
additionalScrapeConfigs:
|
||||
name: additional-scrape-configs
|
||||
key: prometheus-additional.yaml
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example.default.svc:8429/api/v1/write"
|
||||
# ...
|
||||
```
|
||||
|
||||
**Note**: You can specify only one Secret in the VMAgent CRD configuration so use it for all additional scrape configurations.
|
||||
|
||||
## Relabeling
|
||||
|
||||
`VMAgent` supports global relabeling for all metrics and per remoteWrite target relabel config.
|
||||
|
||||
Note in some cases, you don't need relabeling, `key=value` label pairs can be added to the all scrapped metrics with `spec.externalLabels` for `VMAgent`:
|
||||
|
||||
```yaml
|
||||
# simple label add config
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-example
|
||||
spec:
|
||||
externalLabels:
|
||||
clusterid: some_cluster
|
||||
```
|
||||
|
||||
`VMAgent` CR supports relabeling with [custom configMap](#relabeling-config-in-configmap)
|
||||
or [inline defined at CRD](#inline-relabeling-config).
|
||||
|
||||
### Relabeling config in Configmap
|
||||
|
||||
Quick tour how to create `ConfigMap` with relabeling configuration:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: vmagent-relabel
|
||||
data:
|
||||
global-relabel.yaml: |
|
||||
- target_label: bar
|
||||
- source_labels: [aa]
|
||||
separator: "foobar"
|
||||
regex: "foo.+bar"
|
||||
target_label: aaa
|
||||
replacement: "xxx"
|
||||
- action: keep
|
||||
source_labels: [aaa]
|
||||
- action: drop
|
||||
source_labels: [aaa]
|
||||
target-1-relabel.yaml: |
|
||||
- action: keep_if_equal
|
||||
source_labels: [foo, bar]
|
||||
- action: drop_if_equal
|
||||
source_labels: [foo, bar]
|
||||
```
|
||||
|
||||
Second, add `relabelConfig` to `VMagent` spec for global relabeling with name of `Configmap` - `vmagent-relabel` and key `global-relabel.yaml`.
|
||||
|
||||
For relabeling per remoteWrite target, add `urlRelabelConfig` name of `Configmap` - `vmagent-relabel`
|
||||
and key `target-1-relabel.yaml` to one of remoteWrite target for relabeling only for those target:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
relabelConfig:
|
||||
name: "vmagent-relabel"
|
||||
key: "global-relabel.yaml"
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example-vmsingle-persisted.default.svc:8429/api/v1/write"
|
||||
- url: "http://vmsingle-example-vmsingle.default.svc:8429/api/v1/write"
|
||||
urlRelabelConfig:
|
||||
name: "vmagent-relabel"
|
||||
key: "target-1-relabel.yaml"
|
||||
```
|
||||
|
||||
### Inline relabeling config
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-example
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
inlineRelabelConfig:
|
||||
- target_label: bar
|
||||
- source_labels: [aa]
|
||||
separator: "foobar"
|
||||
regex: "foo.+bar"
|
||||
target_label: aaa
|
||||
replacement: "xxx"
|
||||
- action: keep
|
||||
source_labels: [aaa]
|
||||
- action: drop
|
||||
source_labels: [aaa]
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example-vmsingle-persisted.default.svc:8429/api/v1/write"
|
||||
- url: "http://vmsingle-example-vmsingle.default.svc:8429/api/v1/write"
|
||||
inlineUrlRelabelConfig:
|
||||
- action: keep_if_equal
|
||||
source_labels: [foo, bar]
|
||||
- action: drop_if_equal
|
||||
source_labels: [foo, bar]
|
||||
```
|
||||
|
||||
### Combined example
|
||||
|
||||
It's also possible to use both features in combination.
|
||||
|
||||
First will be added relabeling configs from `inlineRelabelConfig`, then `relabelConfig` from configmap.
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: vmagent-relabel
|
||||
data:
|
||||
global-relabel.yaml: |
|
||||
- target_label: bar
|
||||
- source_labels: [aa]
|
||||
separator: "foobar"
|
||||
regex: "foo.+bar"
|
||||
target_label: aaa
|
||||
replacement: "xxx"
|
||||
- action: keep
|
||||
source_labels: [aaa]
|
||||
- action: drop
|
||||
source_labels: [aaa]
|
||||
target-1-relabel.yaml: |
|
||||
- action: keep_if_equal
|
||||
source_labels: [foo, bar]
|
||||
- action: drop_if_equal
|
||||
source_labels: [foo, bar]
|
||||
```
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: example-vmagent
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
inlineRelabelConfig:
|
||||
- target_label: bar1
|
||||
- source_labels: [aa]
|
||||
relabelConfig:
|
||||
name: "vmagent-relabel"
|
||||
key: "global-relabel.yaml"
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example-vmsingle-persisted.default.svc:8429/api/v1/write"
|
||||
- url: "http://vmsingle-example-vmsingle.default.svc:8429/api/v1/write"
|
||||
urlRelabelConfig:
|
||||
name: "vmagent-relabel"
|
||||
key: "target-1-relabel.yaml"
|
||||
inlineUrlRelabelConfig:
|
||||
- action: keep_if_equal
|
||||
source_labels: [foo1, bar2]
|
||||
```
|
||||
|
||||
Resulted configmap, mounted to `VMAgent` pod:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
data:
|
||||
global_relabeling.yaml: |
|
||||
- target_label: bar1
|
||||
- source_labels:
|
||||
- aa
|
||||
- target_label: bar
|
||||
- source_labels: [aa]
|
||||
separator: "foobar"
|
||||
regex: "foo.+bar"
|
||||
target_label: aaa
|
||||
replacement: "xxx"
|
||||
- action: keep
|
||||
source_labels: [aaa]
|
||||
- action: drop
|
||||
source_labels: [aaa]
|
||||
url_rebaling-1.yaml: |
|
||||
- source_labels:
|
||||
- foo1
|
||||
- bar2
|
||||
action: keep_if_equal
|
||||
- action: keep_if_equal
|
||||
source_labels: [foo, bar]
|
||||
- action: drop_if_equal
|
||||
source_labels: [foo, bar]
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
finalizers:
|
||||
- apps.victoriametrics.com/finalizer
|
||||
labels:
|
||||
app.kubernetes.io/component: monitoring
|
||||
app.kubernetes.io/instance: example-vmagent
|
||||
app.kubernetes.io/name: vmagent
|
||||
managed-by: vm-operator
|
||||
name: relabelings-assets-vmagent-example-vmagent
|
||||
namespace: default
|
||||
ownerReferences:
|
||||
- apiVersion: operator.victoriametrics.com/v1beta1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: VMAgent
|
||||
name: example-vmagent
|
||||
uid: 7e9fb838-65da-4443-a43b-c00cd6c4db5b
|
||||
```
|
||||
|
||||
### Additional information
|
||||
|
||||
`VMAgent` also has some extra options for relabeling actions, you can check it [docs](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs/vmagent#relabeling).
|
||||
|
||||
## Version management
|
||||
|
||||
To set `VMAgent` version add `spec.image.tag` name from [releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases)
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: example-vmagent
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/vmagent
|
||||
tag: v1.93.4
|
||||
pullPolicy: Always
|
||||
# ...
|
||||
```
|
||||
|
||||
Also, you can specify `imagePullSecrets` if you are pulling images from private repo:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: example-vmagent
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/vmagent
|
||||
tag: v1.93.4
|
||||
pullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: my-repo-secret
|
||||
# ...
|
||||
```
|
||||
|
||||
## Resource management
|
||||
|
||||
You can specify resources for each `VMAgent` resource in the `spec` section of the `VMAgent` CRD.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-resources-example
|
||||
spec:
|
||||
# ...
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "500m"
|
||||
# ...
|
||||
```
|
||||
|
||||
If these parameters are not specified, then,
|
||||
by default all `VMAgent` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration):
|
||||
|
||||
- `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAgent` pods,
|
||||
- `VM_VMAGENTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAgent` pods,
|
||||
- `VM_VMAGENTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMAgent` pods,
|
||||
- `VM_VMAGENTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMAgent` pods.
|
||||
|
||||
These default parameters will be used if:
|
||||
|
||||
- `VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value),
|
||||
- `VMAgent` CR doesn't have `resources` field in `spec` section.
|
||||
|
||||
Field `resources` in vmagent spec have higher priority than operator parameters.
|
||||
|
||||
If you set `VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAgent` CRD,
|
||||
then `VMAgent` pods will be created without resource requests and limits.
|
||||
|
||||
Also, you can specify requests without limits - in this case default values for limits will not be used.
|
||||
|
||||
## Enterprise features
|
||||
|
||||
VMAgent supports feature [Kafka integration](https://docs.victoriametrics.com/vmagent#kafka-integration)
|
||||
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
|
||||
For using Enterprise version of [vmagent](https://docs.victoriametrics.com/vmagent)
|
||||
you need to change version of `vmagent` to version with `-enterprise` suffix using [Version management](#version-management).
|
||||
|
||||
All the enterprise apps require `-eula` command-line flag to be passed to them.
|
||||
This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAgent`:
|
||||
|
||||
After that you can pass [Kafka integration](https://docs.victoriametrics.com/vmagent#kafka-integration)
|
||||
flags to `VMAgent` with [extraArgs](./#extra-arguments).
|
||||
|
||||
### Reading metrics from Kafka
|
||||
|
||||
Here are complete example for [Reading metrics from Kafka](https://docs.victoriametrics.com/vmagent#reading-metrics-from-kafka):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-ent-example
|
||||
spec:
|
||||
# enabling enterprise features
|
||||
image:
|
||||
# enterprise version of vmagent
|
||||
tag: v1.93.5-enterprise
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmagent enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: reading metrics from kafka
|
||||
# more details about kafka integration you can read on https://docs.victoriametrics.com/vmagent#kafka-integration
|
||||
# more details about these and other flags you can read on https://docs.victoriametrics.com/vmagent#command-line-flags-for-kafka-consumer
|
||||
kafka.consumer.topic.brokers: localhost:9092
|
||||
kafka.consumer.topic.format: influx
|
||||
kafka.consumer.topic: metrics-by-telegraf
|
||||
kafka.consumer.topic.groupID: some-id
|
||||
|
||||
# ...other fields...
|
||||
```
|
||||
|
||||
### Writing metrics to Kafka
|
||||
|
||||
Here are complete example for [Writing metrics to Kafka](https://docs.victoriametrics.com/vmagent#writing-metrics-to-kafka):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-ent-example
|
||||
spec:
|
||||
# enabling enterprise features
|
||||
image:
|
||||
# enterprise version of vmagent
|
||||
tag: v1.93.5-enterprise
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmagent enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: writing metrics to Kafka
|
||||
# more details about kafka integration you can read on https://docs.victoriametrics.com/vmagent/#kafka-integration
|
||||
remoteWrite:
|
||||
# sasl with username and password
|
||||
- url: kafka://broker-1:9092/?topic=prom-rw-1&security.protocol=SASL_SSL&sasl.mechanisms=PLAIN
|
||||
# it requires to create kubernetes secret `kafka-basic-auth` with keys `username` and `password` in the same namespace
|
||||
basicAuth:
|
||||
username:
|
||||
name: kafka-basic-auth
|
||||
key: username
|
||||
password:
|
||||
name: kafka-basic-auth
|
||||
key: password
|
||||
# sasl with username and password from secret and tls
|
||||
- url: kafka://localhost:9092/?topic=prom-rw-2&security.protocol=SSL
|
||||
# it requires to create kubernetes secret `kafka-tls` with keys `ca.pem`, `cert.pem` and `key.pem` in the same namespace
|
||||
tlsConfig:
|
||||
ca:
|
||||
secret:
|
||||
name: kafka-tls
|
||||
key: ca.pem
|
||||
cert:
|
||||
secret:
|
||||
name: kafka-tls
|
||||
key: cert.pem
|
||||
keySecret:
|
||||
name: kafka-tls
|
||||
key: key.pem
|
||||
|
||||
# ...other fields...
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAgent
|
||||
metadata:
|
||||
name: vmagent-example
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
replicaCount: 1
|
||||
scrapeInterval: 30s
|
||||
scrapeTimeout: 10s
|
||||
vmAgentExternalLabelName: example
|
||||
externalLabels:
|
||||
cluster: my-cluster
|
||||
remoteWrite:
|
||||
- url: "http://vmsingle-example.default.svc:8428/api/v1/write"
|
||||
inlineRelabelConfig:
|
||||
- action: labeldrop
|
||||
regex: "temp.*"
|
||||
```
|
|
@ -1,413 +0,0 @@
|
|||
---
|
||||
weight: 2
|
||||
title: VMAlert
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vmalert
|
||||
parent: operator-cr
|
||||
weight: 2
|
||||
aliases:
|
||||
- /operator/resources/vmalert/
|
||||
- /operator/resources/vmalert/index.html
|
||||
---
|
||||
`VMAlert` - executes a list of given [alerting](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/)
|
||||
or [recording](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) rules against configured address.
|
||||
|
||||
The `VMAlert` CRD declaratively defines a desired [VMAlert](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmalert)
|
||||
setup to run in a Kubernetes cluster.
|
||||
|
||||
It has few required config options - `datasource` and `notifier` are required, for other config parameters
|
||||
check [doc](https://docs.victoriametrics.com/operator/api#vmalert).
|
||||
|
||||
For each `VMAlert` resource, the Operator deploys a properly configured `Deployment` in the same namespace.
|
||||
The VMAlert `Pod`s are configured to mount a list of `Configmaps` prefixed with `<VMAlert-name>-number` containing
|
||||
the configuration for alerting rules.
|
||||
|
||||
For each `VMAlert` resource, the Operator adds `Service` and `VMServiceScrape` in the same namespace prefixed with
|
||||
name `<VMAlert-name>`.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VMAlert` resource in the **[API docs -> VMAlert](https://docs.victoriametrics.com/operator/api#vmalert)**.
|
||||
|
||||
If you can't find necessary field in the specification of the custom resource,
|
||||
see [Extra arguments section](./#extra-arguments).
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## Rules
|
||||
|
||||
The CRD specifies which `VMRule`s should be covered by the deployed `VMAlert` instances based on label selection.
|
||||
The Operator then generates a configuration based on the included `VMRule`s and updates the `Configmaps` containing
|
||||
the configuration. It continuously does so for all changes that are made to `VMRule`s or to the `VMAlert` resource itself.
|
||||
|
||||
Alerting rules are filtered by selectors `ruleNamespaceSelector` and `ruleSelector` in `VMAlert` CRD definition.
|
||||
For selecting rules from all namespaces you must specify it to empty value:
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
ruleNamespaceSelector: {}
|
||||
```
|
||||
|
||||
[VMRule](https://docs.victoriametrics.com/operator/resources/vmrule) objects generate part of `VMAlert` configuration.
|
||||
|
||||
For filtering rules `VMAlert` uses selectors `ruleNamespaceSelector` and `ruleSelector`.
|
||||
It allows configuring rules access control across namespaces and different environments.
|
||||
Specification of selectors you can see in [this doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta).
|
||||
|
||||
In addition to the above selectors, the filtering of objects in a cluster is affected by the field `selectAllByDefault` of `VMAlert` spec and environment variable `WATCH_NAMESPACE` for operator.
|
||||
|
||||
Following rules are applied:
|
||||
|
||||
- If `ruleNamespaceSelector` and `ruleSelector` both undefined, then by default select nothing. With option set - `spec.selectAllByDefault: true`, select all vmrules.
|
||||
- If `ruleNamespaceSelector` defined, `ruleSelector` undefined, then all vmrules are matching at namespaces for given `ruleNamespaceSelector`.
|
||||
- If `ruleNamespaceSelector` undefined, `ruleSelector` defined, then all vmrules at `VMAlert`'s namespaces are matching for given `ruleSelector`.
|
||||
- If `ruleNamespaceSelector` and `ruleSelector` both defined, then only vmrules at namespaces matched `ruleNamespaceSelector` for given `ruleSelector` are matching.
|
||||
|
||||
Here's a more visual and more detailed view:
|
||||
|
||||
| `ruleNamespaceSelector` | `ruleSelector` | `selectAllByDefault` | `WATCH_NAMESPACE` | Selected rules |
|
||||
|-------------------------|----------------|----------------------|-------------------|------------------------------------------------------------------------------------------------------|
|
||||
| undefined | undefined | false | undefined | nothing |
|
||||
| undefined | undefined | **true** | undefined | all vmrules in the cluster |
|
||||
| **defined** | undefined | *any* | undefined | all vmrules are matching at namespaces for given `ruleNamespaceSelector` |
|
||||
| undefined | **defined** | *any* | undefined | all vmrules only at `VMAlert`'s namespace are matching for given `ruleSelector` |
|
||||
| **defined** | **defined** | *any* | undefined | all vmrules only at namespaces matched `ruleNamespaceSelector` for given `ruleSelector` are matching |
|
||||
| *any* | undefined | *any* | **defined** | all vmrules only at `VMAlert`'s namespace |
|
||||
| *any* | **defined** | *any* | **defined** | all vmrules only at `VMAlert`'s namespace for given `ruleSelector` are matching |
|
||||
|
||||
More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode).
|
||||
|
||||
Here are some examples of `VMAlert` configuration with selectors:
|
||||
|
||||
```yaml
|
||||
# select all rule objects in the cluster
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: vmalert-select-all
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
|
||||
---
|
||||
|
||||
# select all rule objects in specific namespace (my-namespace)
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: vmalert-select-ns
|
||||
spec:
|
||||
# ...
|
||||
ruleNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
```
|
||||
|
||||
## High availability
|
||||
|
||||
`VMAlert` can be launched with multiple replicas without an additional configuration as far [alertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) is responsible for alert deduplication.
|
||||
|
||||
Note, if you want to use `VMAlert` with high-available [`VMAlertmanager`](https://docs.victoriametrics.com/operator/resources/vmalertmanager), which has more than 1 replica.
|
||||
You have to specify all pod fqdns at `VMAlert.spec.notifiers.[url]`. Or you can use service discovery for notifier, examples:
|
||||
|
||||
- alertmanager:
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: vmalertmanager-example-alertmanager
|
||||
labels:
|
||||
app: vm-operator
|
||||
type: Opaque
|
||||
stringData:
|
||||
alertmanager.yaml: |
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
group_by: ['job']
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 12h
|
||||
receiver: 'webhook'
|
||||
receivers:
|
||||
- name: 'webhook'
|
||||
webhook_configs:
|
||||
- url: 'http://alertmanagerwh:30500/'
|
||||
# ...
|
||||
|
||||
---
|
||||
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: example
|
||||
namespace: default
|
||||
labels:
|
||||
usage: dedicated
|
||||
spec:
|
||||
replicaCount: 2
|
||||
configSecret: vmalertmanager-example-alertmanager
|
||||
configSelector: {}
|
||||
configNamespaceSelector: {}
|
||||
# ...
|
||||
```
|
||||
- vmalert with fqdns:
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: example-ha
|
||||
namespace: default
|
||||
spec:
|
||||
replicaCount: 2
|
||||
datasource:
|
||||
url: http://vmsingle-example.default.svc:8429
|
||||
notifiers:
|
||||
- url: http://vmalertmanager-example-0.vmalertmanager-example.default.svc:9093
|
||||
- url: http://vmalertmanager-example-1.vmalertmanager-example.default.svc:9093
|
||||
evaluationInterval: "10s"
|
||||
ruleSelector: {}
|
||||
# ...
|
||||
```
|
||||
- vmalert with service discovery:
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: example-ha
|
||||
namespace: default
|
||||
spec:
|
||||
replicaCount: 2
|
||||
datasource:
|
||||
url: http://vmsingle-example.default.svc:8429
|
||||
notifiers:
|
||||
- selector:
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- default
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
usage: dedicated
|
||||
evaluationInterval: "10s"
|
||||
ruleSelector: {}
|
||||
# ...
|
||||
```
|
||||
|
||||
In addition, you need to specify `remoteWrite` and `remoteRead` urls for restoring alert states after restarts:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: example-ha
|
||||
namespace: default
|
||||
spec:
|
||||
replicaCount: 2
|
||||
evaluationInterval: "10s"
|
||||
selectAllByDefault: true
|
||||
datasource:
|
||||
url: http://vmselect-demo.vm.svc:8481/select/0/prometheus
|
||||
notifiers:
|
||||
- url: http://vmalertmanager-example-0.vmalertmanager-example.default.svc:9093
|
||||
- url: http://vmalertmanager-example-1.vmalertmanager-example.default.svc:9093
|
||||
remoteWrite:
|
||||
url: http://vminsert-demo.vm.svc:8480/insert/0/prometheus
|
||||
remoteRead:
|
||||
url: http://vmselect-demo.vm.svc:8481/select/0/prometheus
|
||||
```
|
||||
|
||||
More details about `remoteWrite` and `remoteRead` you can read in [vmalert docs](https://docs.victoriametrics.com/vmalert/#alerts-state-on-restarts).
|
||||
|
||||
## Version management
|
||||
|
||||
To set `VMAlert` version add `spec.image.tag` name from [releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases)
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: example-vmalert
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/vmalert
|
||||
tag: v1.93.4
|
||||
pullPolicy: Always
|
||||
# ...
|
||||
```
|
||||
|
||||
Also, you can specify `imagePullSecrets` if you are pulling images from private repo:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: example-vmalert
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/vmalert
|
||||
tag: v1.93.4
|
||||
pullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: my-repo-secret
|
||||
# ...
|
||||
```
|
||||
|
||||
## Resource management
|
||||
|
||||
You can specify resources for each `VMAlert` resource in the `spec` section of the `VMAlert` CRD.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: vmalert-resources-example
|
||||
spec:
|
||||
# ...
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "500m"
|
||||
# ...
|
||||
```
|
||||
|
||||
If these parameters are not specified, then,
|
||||
by default all `VMAlert` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration):
|
||||
|
||||
- `VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAlert` pods,
|
||||
- `VM_VMALERTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlert` pods,
|
||||
- `VM_VMALERTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMAlert` pods,
|
||||
- `VM_VMALERTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMAlert` pods.
|
||||
|
||||
These default parameters will be used if:
|
||||
|
||||
- `VM_VMALERTDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value),
|
||||
- `VMAlert` CR doesn't have `resources` field in `spec` section.
|
||||
|
||||
Field `resources` in `VMAlert` spec have higher priority than operator parameters.
|
||||
|
||||
If you set `VM_VMALERTDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAlert` CRD,
|
||||
then `VMAlert` pods will be created without resource requests and limits.
|
||||
|
||||
Also, you can specify requests without limits - in this case default values for limits will not be used.
|
||||
|
||||
## Enterprise features
|
||||
|
||||
VMAlert supports features [Reading rules from object storage](https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage)
|
||||
and [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy)
|
||||
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
|
||||
For using Enterprise version of [vmalert](https://docs.victoriametrics.com/vmalert)
|
||||
you need to change version of `VMAlert` to version with `-enterprise` suffix using [Version management](#version-management).
|
||||
|
||||
All the enterprise apps require `-eula` command-line flag to be passed to them.
|
||||
This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAlert`:
|
||||
|
||||
### Reading rules from object storage
|
||||
|
||||
After that you can pass `-rule` command-line argument with `s3://` or `gs://`
|
||||
to `VMAlert` with [extraArgs](./#extra-arguments).
|
||||
|
||||
More details about reading rules from object storage you can read in [vmalert docs](https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage).
|
||||
|
||||
Here are complete example for [Reading rules from object storage](https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: vmalert-ent-example
|
||||
spec:
|
||||
# enabling enterprise features
|
||||
image:
|
||||
# enterprise version of vmalert
|
||||
tag: v1.93.5-enterprise
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmalert enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: Reading rules from object storage
|
||||
# more details about reading rules from object storage you can read on https://docs.victoriametrics.com/vmalert#reading-rules-from-object-storage
|
||||
rule: s3://bucket/dir/alert.rules
|
||||
|
||||
# ...other fields...
|
||||
```
|
||||
|
||||
### Multitenancy
|
||||
|
||||
After enabling enterprise version you can use [Multitenancy](https://docs.victoriametrics.com/vmalert#multitenancy)
|
||||
feature in `VMAlert`.
|
||||
|
||||
For that you need to set `clusterMode` commad-line flag
|
||||
with [extraArgs](./#extra-arguments)
|
||||
and specify `tenant` field for groups
|
||||
in [VMRule](https://docs.victoriametrics.com/operator/resources/vmrule#enterprise-features):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: vmalert-ent-example
|
||||
spec:
|
||||
# enabling enterprise features
|
||||
image:
|
||||
# enterprise version of vmalert
|
||||
tag: v1.93.5-enterprise
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmalert enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: Multitenancy
|
||||
# more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert#multitenancy
|
||||
clusterMode: true
|
||||
|
||||
# ...other fields...
|
||||
|
||||
---
|
||||
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMRule
|
||||
metadata:
|
||||
name: vmrule-ent-example
|
||||
spec:
|
||||
groups:
|
||||
- name: vmalert-1
|
||||
rules:
|
||||
# using enterprise features: Multitenancy
|
||||
# more details about multitenancy you can read on https://docs.victoriametrics.com/vmalert#multitenancy
|
||||
- tenant: 1
|
||||
alert: vmalert config reload error
|
||||
expr: delta(vmalert_config_last_reload_errors_total[5m]) > 0
|
||||
for: 10s
|
||||
labels:
|
||||
severity: major
|
||||
job: "{{ $labels.job }}"
|
||||
annotations:
|
||||
value: "{{ $value }}"
|
||||
description: 'error reloading vmalert config, reload count for 5 min {{ $value }}'
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlert
|
||||
metadata:
|
||||
name: example-vmalert
|
||||
spec:
|
||||
replicaCount: 1
|
||||
datasource:
|
||||
url: "http://vmsingle-example-vmsingle-persisted.default.svc:8429"
|
||||
notifier:
|
||||
url: "http://vmalertmanager-example-alertmanager.default.svc:9093"
|
||||
evaluationInterval: "30s"
|
||||
selectAllByDefault: true
|
||||
```
|
|
@ -1,327 +0,0 @@
|
|||
---
|
||||
weight: 3
|
||||
title: VMAlertmanager
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vmalertmanager
|
||||
parent: operator-cr
|
||||
weight: 3
|
||||
aliases:
|
||||
- /operator/resources/vmalertmanager/
|
||||
- /operator/resources/vmalertmanager/index.html
|
||||
---
|
||||
`VMAlertmanager` - represents [alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/) configuration.
|
||||
|
||||
The `VMAlertmanager` CRD declaratively defines a desired Alertmanager setup to run in a Kubernetes cluster.
|
||||
It provides options to configure replication and persistent storage.
|
||||
|
||||
For each `Alertmanager` resource, the Operator deploys a properly configured `StatefulSet` in the same namespace.
|
||||
The Alertmanager pods are configured to include a `Secret` called `<alertmanager-name>` which holds the used
|
||||
configuration file in the key `alertmanager.yaml`.
|
||||
|
||||
When there are two or more configured replicas the Operator runs the Alertmanager instances in high availability mode.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VMAlertmanager` resource in the **[API docs -> VMAlertManager](https://docs.victoriametrics.com/operator/api#vmalertmanager)**.
|
||||
|
||||
If you can't find necessary field in the specification of the custom resource,
|
||||
see [Extra arguments section](./#extra-arguments).
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## Configuration
|
||||
|
||||
The operator generates a configuration file for `VMAlertmanager` based on user input at the definition of `CRD`.
|
||||
|
||||
Generated config stored at `Secret` created by the operator, it has the following name template `vmalertmanager-CRD_NAME-config`.
|
||||
|
||||
This configuration file is mounted at `VMAlertmanager` `Pod`. A special side-car container tracks its changes and sends config-reload signals to `alertmanager` container.
|
||||
|
||||
The operator generates default configuration with `blackhole` root route. It needs to properly start alertmanager container with empty configuration.
|
||||
|
||||
### Using secret
|
||||
|
||||
Basically, you can use the global configuration defined at manually created `Secret`. This `Secret` must be created before `VMAlertmanager`.
|
||||
|
||||
Name of the `Secret` must be defined at `VMAlertmanager` `spec.configSecret` option:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: alertmanager-config
|
||||
labels:
|
||||
app: vm-operator
|
||||
type: Opaque
|
||||
stringData:
|
||||
alertmanager.yaml: |
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
receiver: 'webhook'
|
||||
receivers:
|
||||
- name: 'webhook'
|
||||
webhook_configs:
|
||||
- url: 'http://alertmanagerwh:30500/'
|
||||
|
||||
---
|
||||
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: example-alertmanager
|
||||
spec:
|
||||
replicaCount: 2
|
||||
configSecret: alertmanager-config
|
||||
```
|
||||
|
||||
### Using inline raw config
|
||||
|
||||
Also, if there is no secret data at configuration, or you just want to redefine some global variables for `alertmanager`.
|
||||
You can define configuration at `spec.configRawYaml` section of `VMAlertmanager` configuration:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: example-alertmanager
|
||||
spec:
|
||||
replicaCount: 2
|
||||
configRawYaml: |
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
receiver: 'default'
|
||||
group_interval: 5m
|
||||
repeat_interval: 12h
|
||||
receivers:
|
||||
- name: 'default'
|
||||
```
|
||||
|
||||
If both `configSecret` and `configRawYaml` are defined, only configuration from `configRawYaml` will be used. Values from `configSecret` will be ignored.
|
||||
|
||||
### Using VMAlertmanagerConfig
|
||||
|
||||
See details at [VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig).
|
||||
|
||||
The CRD specifies which `VMAlertmanagerConfig`s should be covered by the deployed `VMAlertmanager` instances based on label selection.
|
||||
The Operator then generates a configuration based on the included `VMAlertmanagerConfig`s and updates the `Secret` containing
|
||||
the configuration. It continuously does so for all changes that are made to `VMAlertmanagerConfig`s or to the `VMAlertmanager` resource itself.
|
||||
|
||||
Main goal of operator - generate safe configuration for alertmanager. In case of any of misconfiguration at `VMAlertmanagerConfig` operator skips it from config generation and updates `VMAlertmanagerConfig` `Status` field with error cause.
|
||||
|
||||
Configs are filtered by selectors `configNamespaceSelector` and `configSelector` in `VMAlertmanager` CRD definition.
|
||||
For selecting rules from all namespaces you must specify it to empty value:
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
configSelector: {}
|
||||
configNamespaceSelector: {}
|
||||
```
|
||||
|
||||
[VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/resources/vmalertmanagerconfig) objects are
|
||||
generates part of [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager) configuration.
|
||||
|
||||
For filtering rules `VMAlertmanager` uses selectors `configNamespaceSelector` and `configSelector`.
|
||||
It allows configuring rules access control across namespaces and different environments.
|
||||
Specification of selectors you can see in [this doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta).
|
||||
|
||||
In addition to the above selectors, the filtering of objects in a cluster is affected by the field `selectAllByDefault`
|
||||
of `VMAlertmanager` spec and environment variable `WATCH_NAMESPACE` for operator.
|
||||
|
||||
Following rules are applied:
|
||||
|
||||
- If `configNamespaceSelector` and `configSelector` both undefined, then by default select nothing. With option set - `spec.selectAllByDefault: true`, select all vmalertmanagerconfigs.
|
||||
- If `configNamespaceSelector` defined, `configSelector` undefined, then all vmalertmanagerconfigs are matching at namespaces for given `configNamespaceSelector`.
|
||||
- If `configNamespaceSelector` undefined, `configSelector` defined, then all vmalertmanagerconfigs at `VMAlertmanager`'s namespaces are matching for given `configSelector`.
|
||||
- If `configNamespaceSelector` and `configSelector` both defined, then only vmalertmanagerconfigs at namespaces matched `configNamespaceSelector` for given `configSelector` are matching.
|
||||
|
||||
Here's a more visual and more detailed view:
|
||||
|
||||
| `configNamespaceSelector` | `configSelector` | `selectAllByDefault` | `WATCH_NAMESPACE` | Selected rules |
|
||||
| ------------------------- | ---------------- | -------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
||||
| undefined | undefined | false | undefined | nothing |
|
||||
| undefined | undefined | **true** | undefined | all vmalertmanagerconfigs in the cluster |
|
||||
| **defined** | undefined | *any* | undefined | all vmalertmanagerconfigs are matching at namespaces for given `configNamespaceSelector` |
|
||||
| undefined | **defined** | *any* | undefined | all vmalertmanagerconfigs only at `VMAlertmanager`'s namespace are matching for given `ruleSelector` |
|
||||
| **defined** | **defined** | *any* | undefined | all vmalertmanagerconfigs only at namespaces matched `configNamespaceSelector` for given `configSelector` are matching |
|
||||
| *any* | undefined | *any* | **defined** | all vmalertmanagerconfigs only at `VMAlertmanager`'s namespace |
|
||||
| *any* | **defined** | *any* | **defined** | all vmalertmanagerconfigs only at `VMAlertmanager`'s namespace for given `configSelector` are matching |
|
||||
|
||||
More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode).
|
||||
|
||||
Here are some examples of `VMAlertmanager` configuration with selectors:
|
||||
|
||||
```yaml
|
||||
# select all config objects in the cluster
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: vmalertmanager-select-all
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
|
||||
---
|
||||
|
||||
# select all config objects in specific namespace (my-namespace)
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: vmalertmanager-select-ns
|
||||
spec:
|
||||
# ...
|
||||
configNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
```
|
||||
|
||||
### Extra configuration files
|
||||
|
||||
`VMAlertmanager` specification has the following fields, that can be used to configure without editing raw configuration file:
|
||||
|
||||
- `spec.templates` - list of keys in `ConfigMaps`, that contains template files for `alertmanager`, e.g.:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: example-alertmanager
|
||||
spec:
|
||||
replicaCount: 2
|
||||
templates:
|
||||
- name: alertmanager-templates
|
||||
key: my-template-1.tmpl
|
||||
- name: alertmanager-templates
|
||||
key: my-template-2.tmpl
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: alertmanager-templates
|
||||
data:
|
||||
my-template-1.tmpl: |
|
||||
{{ define "hello" -}}
|
||||
hello, Victoria!
|
||||
{{- end }}
|
||||
my-template-2.tmpl: """
|
||||
```
|
||||
|
||||
These templates will be automatically added to `VMAlertmanager` configuration and will be automatically reloaded on changes in source `ConfigMap`.
|
||||
|
||||
- `spec.configMaps` - list of `ConfigMap` names (in the same namespace) that will be mounted at `VMAlertmanager`
|
||||
workload and will be automatically reloaded on changes in source `ConfigMap`. Mount path is `/etc/vm/configs/<configmap-name>`.
|
||||
|
||||
### Behavior without provided config
|
||||
|
||||
If no configuration is provided, operator configures stub configuration with blackhole route.
|
||||
|
||||
## High Availability
|
||||
|
||||
The final step of the high availability scheme is Alertmanager, when an alert triggers, actually fire alerts against *all* instances of an Alertmanager cluster.
|
||||
|
||||
The Alertmanager, starting with the `v0.5.0` release, ships with a high availability mode.
|
||||
It implements a gossip protocol to synchronize instances of an Alertmanager cluster
|
||||
regarding notifications that have been sent out, to prevent duplicate notifications.
|
||||
It is an AP (available and partition tolerant) system. Being an AP system means that notifications are guaranteed to be sent at least once.
|
||||
|
||||
The Victoria Metrics Operator ensures that Alertmanager clusters are properly configured to run highly available on Kubernetes.
|
||||
|
||||
## Version management
|
||||
|
||||
To set `VMAlertmanager` version add `spec.image.tag` name from [releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases)
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: example-vmalertmanager
|
||||
spec:
|
||||
image:
|
||||
repository: prom/alertmanager
|
||||
tag: v0.25.0
|
||||
pullPolicy: Always
|
||||
# ...
|
||||
```
|
||||
|
||||
Also, you can specify `imagePullSecrets` if you are pulling images from private repo:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: example-vmalertmanager
|
||||
spec:
|
||||
image:
|
||||
repository: prom/alertmanager
|
||||
tag: v0.25.0
|
||||
pullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: my-repo-secret
|
||||
# ...
|
||||
```
|
||||
|
||||
## Resource management
|
||||
|
||||
You can specify resources for each `VMAlertManager` resource in the `spec` section of the `VMAlertManager` CRD.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertManager
|
||||
metadata:
|
||||
name: vmalertmanager-resources-example
|
||||
spec:
|
||||
# ...
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "500m"
|
||||
# ...
|
||||
```
|
||||
|
||||
If these parameters are not specified, then,
|
||||
by default all `VMAlertManager` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration):
|
||||
|
||||
- `VM_VMALERTMANAGER_RESOURCE_LIMIT_MEM` - default memory limit for `VMAlertManager` pods,
|
||||
- `VM_VMALERTMANAGER_RESOURCE_LIMIT_CPU` - default memory limit for `VMAlertManager` pods,
|
||||
- `VM_VMALERTMANAGER_RESOURCE_REQUEST_MEM` - default memory limit for `VMAlertManager` pods,
|
||||
- `VM_VMALERTMANAGER_RESOURCE_REQUEST_CPU` - default memory limit for `VMAlertManager` pods.
|
||||
|
||||
These default parameters will be used if:
|
||||
|
||||
- `VM_VMALERTMANAGER_USEDEFAULTRESOURCES` is set to `true` (default value),
|
||||
- `VMAlertManager` CR doesn't have `resources` field in `spec` section.
|
||||
|
||||
Field `resources` in `VMAlertManager` spec have higher priority than operator parameters.
|
||||
|
||||
If you set `VM_VMALERTMANAGER_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAlertManager` CRD,
|
||||
then `VMAlertManager` pods will be created without resource requests and limits.
|
||||
|
||||
Also, you can specify requests without limits - in this case default values for limits will not be used.
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanager
|
||||
metadata:
|
||||
name: vmalertmanager-example
|
||||
spec:
|
||||
replicaCount: 1
|
||||
configRawYaml: |
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
route:
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 12h
|
||||
receiver: 'webhook'
|
||||
receivers:
|
||||
- name: 'webhook'
|
||||
webhook_configs:
|
||||
- url: 'http://localhost:30502/'
|
||||
```
|
|
@ -1,145 +0,0 @@
|
|||
---
|
||||
weight: 4
|
||||
title: VMAlertmanagerConfig
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vmalertmanagerconfig
|
||||
parent: operator-cr
|
||||
weight: 4
|
||||
aliases:
|
||||
- /operator/resources/vmalertmanagerconfig/
|
||||
- /operator/resources/vmalertmanagerconfig/index.html
|
||||
---
|
||||
The `VMAlertmanagerConfig` provides way to configure [VMAlertmanager](https://docs.victoriametrics.com/operator/resources/vmalertmanager)
|
||||
configuration with CRD. It allows to define different configuration parts, which will be merged by operator into config.
|
||||
|
||||
It behaves like other config parts - `VMServiceScrape` and etc.
|
||||
|
||||
Read [Usage](#usage) and [Special case](#special-case) before using.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VMAlertmanagerConfig` resource in
|
||||
the **[API docs -> VMAlertmanagerConfig](https://docs.victoriametrics.com/operator/api#vmalertmanagerconfig)**.
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## Validation
|
||||
|
||||
The operator performs validation of `VMAlertmanagerConfig`. In case of any misconfiguration it adds corresponding validation fail message into `status.lastSyncError` field and updates `status.status` field to `failed` status.
|
||||
|
||||
For example `VMAlertmanagerConfig` without required fields:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanagerConfig
|
||||
metadata:
|
||||
name: invalid-config
|
||||
namespace: default
|
||||
spec:
|
||||
receivers:
|
||||
- name: blackhole
|
||||
- name: pagerduty
|
||||
pagerduty_configs:
|
||||
- url: http://example
|
||||
route:
|
||||
group_by:
|
||||
- alertname
|
||||
receiver: blackhole
|
||||
routes:
|
||||
- matchers:
|
||||
- alertname="pd"
|
||||
receiver: pagerduty
|
||||
status:
|
||||
lastErrorParentAlertmanagerName: default/example-alertmanager
|
||||
lastSyncError: 'receiver at idx=2 is invalid: at idx=0 pagerduty_configs one of
|
||||
''routing_key'' or ''service_key'' must be configured'
|
||||
lastSyncErrorTimestamp: 1722950290
|
||||
status: failed
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
`VMAlertmanagerConfig` allows delegating notification configuration to the kubernetes cluster users.
|
||||
The application owner may configure notifications by defining it at `VMAlertmanagerConfig`.
|
||||
|
||||
With the combination of `VMRule` and `VMServiceScrape` it allows delegating configuration observability to application owners, and uses popular `GitOps` practice.
|
||||
|
||||
Operator combines `VMAlertmanagerConfig`s into a single configuration file for `VMAlertmanager`.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanagerConfig
|
||||
metadata:
|
||||
name: example-email-web
|
||||
namespace: production
|
||||
spec:
|
||||
route:
|
||||
receiver: email
|
||||
group_interval: 1m
|
||||
routes:
|
||||
- receiver: email
|
||||
matchers:
|
||||
- {severity =~ "warning|critical", app_name = "blog"}
|
||||
receivers:
|
||||
- name: email
|
||||
email_configs:
|
||||
- to: some-email@example.com
|
||||
from: alerting@example.com
|
||||
smarthost: example.com:25
|
||||
text: ALARM
|
||||
```
|
||||
|
||||
#### Special Case
|
||||
|
||||
VMAlertmanagerConfig has enforced namespace matcher.
|
||||
Alerts must have a proper namespace label, with the same value as name of namespace for VMAlertmanagerConfig.
|
||||
|
||||
It can be disabled, by setting the following value to the VMAlertmanager: `spec.disableNamespaceMatcher: true`.
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAlertmanagerConfig
|
||||
metadata:
|
||||
name: example
|
||||
namespace: default
|
||||
spec:
|
||||
inhibit_rules:
|
||||
- equals: []
|
||||
target_matchers: []
|
||||
source_matchers: []
|
||||
route:
|
||||
routes:
|
||||
- receiver: webhook
|
||||
continue: true
|
||||
receiver: email
|
||||
group_by: []
|
||||
continue: false
|
||||
matchers:
|
||||
- job = "alertmanager"
|
||||
group_wait: 30s
|
||||
group_interval: 45s
|
||||
repeat_interval: 1h
|
||||
mute_time_intervals:
|
||||
- name: base
|
||||
time_intervals:
|
||||
- times:
|
||||
- start_time: ""
|
||||
end_time: ""
|
||||
weekdays: []
|
||||
days_of_month: []
|
||||
months: []
|
||||
years: []
|
||||
receivers:
|
||||
email_configs: []
|
||||
webhook_configs:
|
||||
- url: http://some-other-wh
|
||||
pagerduty_configs: []
|
||||
pushover_configs: []
|
||||
slack_configs: []
|
||||
opsgenie_configs: []
|
||||
victorops_configs: []
|
||||
wechat_configs: []
|
||||
```
|
|
@ -1,289 +0,0 @@
|
|||
---
|
||||
weight: 5
|
||||
title: VMAuth
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vmauth
|
||||
parent: operator-cr
|
||||
weight: 5
|
||||
aliases:
|
||||
- /operator/resources/vmauth/
|
||||
- /operator/resources/vmauth/index.html
|
||||
---
|
||||
The `VMAuth` CRD provides mechanism for exposing application with authorization to outside world or to other applications inside kubernetes cluster.
|
||||
|
||||
For first case, user can configure `ingress` setting at `VMAuth` CRD. For second one, operator will create secret with `username` and `password` at `VMUser` CRD name.
|
||||
So it will be possible to access these credentials from any application by targeting corresponding kubernetes secret.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VMAuth` resource in
|
||||
the **[API docs -> VMAuth](https://docs.victoriametrics.com/operator/api#vmauth)**.
|
||||
|
||||
If you can't find necessary field in the specification of the custom resource,
|
||||
see [Extra arguments section](./#extra-arguments).
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## Users
|
||||
|
||||
The CRD specifies which `VMUser`s should be covered by the deployed `VMAuth` instances based on label selection.
|
||||
The Operator then generates a configuration based on the included `VMUser`s and updates the `Configmaps` containing
|
||||
the configuration. It continuously does so for all changes that are made to `VMUser`s or to the `VMAuth` resource itself.
|
||||
|
||||
[VMUser](https://docs.victoriametrics.com/operator/resources/vmuser) objects generate part of `VMAuth` configuration.
|
||||
|
||||
For filtering users `VMAuth` uses selectors `userNamespaceSelector` and `userSelector`.
|
||||
It allows configuring rules access control across namespaces and different environments.
|
||||
Specification of selectors you can see in [this doc](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta).
|
||||
|
||||
In addition to the above selectors, the filtering of objects in a cluster is affected by the field `selectAllByDefault` of `VMAuth` spec and environment variable `WATCH_NAMESPACE` for operator.
|
||||
|
||||
Following rules are applied:
|
||||
|
||||
- If `userNamespaceSelector` and `userSelector` both undefined, then by default select nothing. With option set - `spec.selectAllByDefault: true`, select all vmusers.
|
||||
- If `userNamespaceSelector` defined, `userSelector` undefined, then all vmusers are matching at namespaces for given `userNamespaceSelector`.
|
||||
- If `userNamespaceSelector` undefined, `userSelector` defined, then all vmusers at `VMAgent`'s namespaces are matching for given `userSelector`.
|
||||
- If `userNamespaceSelector` and `userSelector` both defined, then only vmusers at namespaces matched `userNamespaceSelector` for given `userSelector` are matching.
|
||||
|
||||
Here's a more visual and more detailed view:
|
||||
|
||||
| `userNamespaceSelector` | `userSelector` | `selectAllByDefault` | `WATCH_NAMESPACE` | Selected rules |
|
||||
|-------------------------|----------------|----------------------|-------------------|------------------------------------------------------------------------------------------------------|
|
||||
| undefined | undefined | false | undefined | nothing |
|
||||
| undefined | undefined | **true** | undefined | all vmusers in the cluster |
|
||||
| **defined** | undefined | *any* | undefined | all vmusers are matching at namespaces for given `userNamespaceSelector` |
|
||||
| undefined | **defined** | *any* | undefined | all vmusers only at `VMAuth`'s namespace are matching for given `userSelector` |
|
||||
| **defined** | **defined** | *any* | undefined | all vmusers only at namespaces matched `userNamespaceSelector` for given `userSelector` are matching |
|
||||
| *any* | undefined | *any* | **defined** | all vmusers only at `VMAuth`'s namespace |
|
||||
| *any* | **defined** | *any* | **defined** | all vmusers only at `VMAuth`'s namespace for given `userSelector` are matching |
|
||||
|
||||
More details about `WATCH_NAMESPACE` variable you can read in [this doc](https://docs.victoriametrics.com/operator/configuration#namespaced-mode).
|
||||
|
||||
Here are some examples of `VMAuth` configuration with selectors:
|
||||
|
||||
```yaml
|
||||
# select all user objects in the cluster
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: vmauth-select-all
|
||||
spec:
|
||||
# ...
|
||||
selectAllByDefault: true
|
||||
|
||||
---
|
||||
|
||||
# select all user objects in specific namespace (my-namespace)
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: vmauth-select-ns
|
||||
spec:
|
||||
# ...
|
||||
userNamespaceSelector:
|
||||
matchLabels:
|
||||
kubernetes.io/metadata.name: my-namespace
|
||||
```
|
||||
|
||||
## Unauthorized access
|
||||
|
||||
You can configure `VMAuth` to allow unauthorized access for specified routes with `unauthorizedUserAccessSpec` field.
|
||||
|
||||
For instance:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: vmauth-unauthorized-example
|
||||
spec:
|
||||
unauthorizedUserAccessSpec:
|
||||
- src_paths: ["/metrics"]
|
||||
url_prefix:
|
||||
- http://vmsingle-example.default.svc:8428
|
||||
```
|
||||
|
||||
In this example every user can access `/metrics` route and get vmsingle metrics without authorization.
|
||||
|
||||
In addition, `unauthorizedUserAccessSpec` in [Enterprise version](#enterprise-features) supports [IP Filters](#ip-filters)
|
||||
with `ip_filters` field.
|
||||
|
||||
## High availability
|
||||
|
||||
The `VMAuth` resource is stateless, so it can be scaled horizontally by increasing the number of replicas:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: vmauth-example
|
||||
spec:
|
||||
replicas: 3
|
||||
# ...
|
||||
```
|
||||
|
||||
## Version management
|
||||
|
||||
To set `VMAuth` version add `spec.image.tag` name from [releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases)
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: example-vmauth
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/vmauth
|
||||
tag: v1.93.4
|
||||
pullPolicy: Always
|
||||
# ...
|
||||
```
|
||||
|
||||
Also, you can specify `imagePullSecrets` if you are pulling images from private repo:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: example-vmauth
|
||||
spec:
|
||||
image:
|
||||
repository: victoriametrics/vmauth
|
||||
tag: v1.93.4
|
||||
pullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: my-repo-secret
|
||||
# ...
|
||||
```
|
||||
|
||||
## Resource management
|
||||
|
||||
You can specify resources for each `VMAuth` resource in the `spec` section of the `VMAuth` CRD.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: vmauth-resources-example
|
||||
spec:
|
||||
# ...
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "500m"
|
||||
# ...
|
||||
```
|
||||
|
||||
If these parameters are not specified, then,
|
||||
by default all `VMAuth` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration):
|
||||
|
||||
- `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMAuth` pods,
|
||||
- `VM_VMAUTHDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMAuth` pods,
|
||||
- `VM_VMAUTHDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMAuth` pods,
|
||||
- `VM_VMAUTHDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMAuth` pods.
|
||||
|
||||
These default parameters will be used if:
|
||||
|
||||
- `VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value),
|
||||
- `VMAuth` CR doesn't have `resources` field in `spec` section.
|
||||
|
||||
Field `resources` in `VMAuth` spec have higher priority than operator parameters.
|
||||
|
||||
If you set `VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMAuth` CRD,
|
||||
then `VMAuth` pods will be created without resource requests and limits.
|
||||
|
||||
Also, you can specify requests without limits - in this case default values for limits will not be used.
|
||||
|
||||
## Enterprise features
|
||||
|
||||
Custom resource `VMAuth` supports feature [IP filters](https://docs.victoriametrics.com/vmauth#ip-filters)
|
||||
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
|
||||
For using Enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth)
|
||||
you need to change version of `vmauth` to version with `-enterprise` suffix using [Version management](#version-management).
|
||||
|
||||
All the enterprise apps require `-eula` command-line flag to be passed to them.
|
||||
This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMAuth`:
|
||||
|
||||
### IP Filters
|
||||
|
||||
After that you can use [IP filters for `VMUser`](https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features)
|
||||
and field `ip_filters` for `VMAuth`.
|
||||
|
||||
Here are complete example with described above:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: vmauth-ent-example
|
||||
spec:
|
||||
# enabling enterprise features
|
||||
image:
|
||||
# enterprise version of vmauth
|
||||
tag: v1.93.5-enterprise
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmauth enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: ip filters for vmauth
|
||||
# more details about ip filters you can read in https://docs.victoriametrics.com/vmauth#ip-filters
|
||||
ip_filters:
|
||||
allow_list:
|
||||
- 10.0.0.0/24
|
||||
- 1.2.3.4
|
||||
deny_list:
|
||||
- 5.6.7.8
|
||||
# allow read vmsingle metrics without authorization for users from internal network
|
||||
unauthorizedUserAccessSpec:
|
||||
url_map:
|
||||
- src_paths: ["/metrics"]
|
||||
url_prefix: ["http://vmsingle-example.default.svc:8428"]
|
||||
ip_filters:
|
||||
allow_list:
|
||||
- 192.168.0.0/16
|
||||
- 10.0.0.0/8
|
||||
|
||||
# ...other fields...
|
||||
|
||||
---
|
||||
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMUser
|
||||
metadata:
|
||||
name: vmuser-ent-example
|
||||
spec:
|
||||
username: simple-user
|
||||
password: simple-password
|
||||
|
||||
# using enterprise features: ip filters for vmuser
|
||||
# more details about ip filters you can read in https://docs.victoriametrics.com/operator/resources/vmuser#enterprise-features
|
||||
ip_filters:
|
||||
allow_list:
|
||||
- 10.0.0.0/24
|
||||
- 1.2.3.4
|
||||
deny_list:
|
||||
- 5.6.7.8
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMAuth
|
||||
metadata:
|
||||
name: example
|
||||
namespace: default
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
ingress:
|
||||
class_name: nginx # <-- change this to your ingress-controller
|
||||
host: vm-demo.k8s.orb.local # <-- change this to your domain
|
||||
```
|
|
@ -1,728 +0,0 @@
|
|||
---
|
||||
weight: 6
|
||||
title: VMCluster
|
||||
menu:
|
||||
docs:
|
||||
identifier: operator-cr-vmcluster
|
||||
parent: operator-cr
|
||||
weight: 6
|
||||
aliases:
|
||||
- /operator/resources/vmcluster/
|
||||
- /operator/resources/vmcluster/index.html
|
||||
---
|
||||
`VMCluster` represents a high-available and fault-tolerant version of VictoriaMetrics database.
|
||||
The `VMCluster` CRD defines a [cluster version VM](https://docs.victoriametrics.com/Cluster-VictoriaMetrics).
|
||||
|
||||
For each `VMCluster` resource, the Operator creates:
|
||||
|
||||
- `VMStorage` as `StatefulSet`,
|
||||
- `VMSelect` as `StatefulSet`
|
||||
- and `VMInsert` as deployment.
|
||||
|
||||
For `VMStorage` and `VMSelect` headless services are created. `VMInsert` is created as service with clusterIP.
|
||||
|
||||
There is a strict order for these objects creation and reconciliation:
|
||||
|
||||
1. `VMStorage` is synced - the Operator waits until all its pods are ready;
|
||||
1. Then it syncs `VMSelect` with the same manner;
|
||||
1. `VMInsert` is the last object to sync.
|
||||
|
||||
All [statefulsets](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) are created
|
||||
with [OnDelete](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#on-delete) update type.
|
||||
It allows to manually manage the rolling update process for Operator by deleting pods one by one and waiting for the ready status.
|
||||
|
||||
Rolling update process may be configured by the operator env variables.
|
||||
The most important is `VM_PODWAITREADYTIMEOUT=80s` - it controls how long to wait for pod's ready status.
|
||||
|
||||
## Specification
|
||||
|
||||
You can see the full actual specification of the `VMCluster` resource in the **[API docs -> VMCluster](https://docs.victoriametrics.com/operator/api#vmcluster)**.
|
||||
|
||||
If you can't find necessary field in the specification of the custom resource,
|
||||
see [Extra arguments section](./#extra-arguments).
|
||||
|
||||
Also, you can check out the [examples](#examples) section.
|
||||
|
||||
## Requests Load-Balancing
|
||||
|
||||
Operator provides enhanced load-balancing mechanism for `vminsert` and `vmselect` clients. By default, operator uses built-in Kubernetes [service]() with `clusterIP` type for clients connection. It's good solution for short lived connections. But it acts poorly with long-lived TCP sessions and leads to the uneven resources utilization for `vmselect` and `vminsert` components.
|
||||
|
||||
Consider the following example:
|
||||
|
||||

|
||||
|
||||
In this case clients could establish multiple connections to the same `pod` via `service`. And client requests will be served only by subset of `pods`.
|
||||
|
||||
Operator allows to tweak this behaviour with enabled `requestsLoadbalacing`:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: with-balancer
|
||||
spec:
|
||||
retentionPeriod: "4"
|
||||
replicationFactor: 1
|
||||
requestsLoadBalancer:
|
||||
enabled: true
|
||||
spec:
|
||||
replicaCount: 2
|
||||
```
|
||||
|
||||
Operator will deploy `VMAuth` deployment with 2 replicas. And update vminsert and vmselect services to point to `vmauth`.
|
||||
In addition, operator will create 3 additional services with the following pattern:
|
||||
|
||||
- vminsertinternal-CLUSTER_NAME - needed for vmselect pod discovery
|
||||
- vmselectinternal-CLUSTER_NAME - needed for vminsert pod discovery
|
||||
- vmclusterlb-CLUSTER_NAME - needed for metrics collection and exposing `vmselect` and `vminsert` components via `VMAuth` balancer.
|
||||
|
||||
Network scheme with load-balancing:
|
||||

|
||||
|
||||
Operator allows to customise load-balancing configuration with `requestsLoadBalancer.Spec` settings.
|
||||
|
||||
## High availability
|
||||
|
||||
The cluster version provides a full set of high availability features - metrics replication, node failover, horizontal scaling.
|
||||
|
||||
First, we recommend familiarizing yourself with the high availability tools provided by "VictoriaMetrics Cluster" itself:
|
||||
|
||||
- [High availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#high-availability),
|
||||
- [Cluster availability](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#cluster-availability),
|
||||
- [Replication and data safety](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#replication-and-data-safety).
|
||||
|
||||
`VMCluster` supports all listed in the above-mentioned articles parameters and features:
|
||||
|
||||
- `replicationFactor` - the number of replicas for each metric.
|
||||
- for every component of cluster (`vmstorage` / `vmselect` / `vminsert`):
|
||||
- `replicaCount` - the number of replicas for components of cluster.
|
||||
- `affinity` - the affinity (the pod's scheduling constraints) for components pods. See more details in [kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity).
|
||||
- `topologySpreadConstraints` - controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains. See more details in [kubernetes docs](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/).
|
||||
|
||||
In addition, operator:
|
||||
|
||||
- uses k8s services or vmauth for load balancing between `vminsert` and `vmselect` components,
|
||||
- uses health checks for to determine the readiness of components for work after restart,
|
||||
- allows to horizontally scale all cluster components just by changing `replicaCount` field.
|
||||
|
||||
Here is an example of a `VMCluster` resource with HA features:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: example-vmcluster-persistent
|
||||
spec:
|
||||
replicationFactor: 2
|
||||
vmstorage:
|
||||
replicaCount: 10
|
||||
storageDataPath: "/vm-data"
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: "app.kubernetes.io/name"
|
||||
operator: In
|
||||
values:
|
||||
- "vmstorage"
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
resources:
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 2048Mi
|
||||
vmselect:
|
||||
replicaCount: 3
|
||||
cacheMountPath: "/select-cache"
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: "app.kubernetes.io/name"
|
||||
operator: In
|
||||
values:
|
||||
- "vmselect"
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
resources:
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: "500Mi"
|
||||
vminsert:
|
||||
replicaCount: 4
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: "app.kubernetes.io/name"
|
||||
operator: In
|
||||
values:
|
||||
- "vminsert"
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
resources:
|
||||
limits:
|
||||
cpu: "1"
|
||||
memory: "500Mi"
|
||||
```
|
||||
|
||||
## Version management
|
||||
|
||||
For `VMCluster` you can specify tag name from [releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases) and repository setting per cluster object:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: example-vmcluster
|
||||
spec:
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: victoriametrics/vmstorage
|
||||
tag: v1.93.4-cluster
|
||||
pullPolicy: Always
|
||||
vmselect:
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: victoriametrics/vmselect
|
||||
tag: v1.93.4-cluster
|
||||
pullPolicy: Always
|
||||
vminsert:
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: victoriametrics/vminsert
|
||||
tag: v1.93.4-cluster
|
||||
pullPolicy: Always
|
||||
```
|
||||
|
||||
Also, you can specify `imagePullSecrets` if you are pulling images from private repo,
|
||||
but `imagePullSecrets` is global setting for all `VMCluster` specification:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: example-vmcluster
|
||||
spec:
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: victoriametrics/vmstorage
|
||||
tag: v1.93.4-cluster
|
||||
pullPolicy: Always
|
||||
vmselect:
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: victoriametrics/vmselect
|
||||
tag: v1.93.4-cluster
|
||||
pullPolicy: Always
|
||||
vminsert:
|
||||
replicaCount: 2
|
||||
image:
|
||||
repository: victoriametrics/vminsert
|
||||
tag: v1.93.4-cluster
|
||||
pullPolicy: Always
|
||||
imagePullSecrets:
|
||||
- name: my-repo-secret
|
||||
# ...
|
||||
```
|
||||
|
||||
## Resource management
|
||||
|
||||
You can specify resources for each component of `VMCluster` resource in the `spec` section of the `VMCluster` CRD.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-resources-example
|
||||
spec:
|
||||
# ...
|
||||
vmstorage:
|
||||
resources:
|
||||
requests:
|
||||
memory: "16Gi"
|
||||
cpu: "4"
|
||||
limits:
|
||||
memory: "16Gi"
|
||||
cpu: "4"
|
||||
# ...
|
||||
vmselect:
|
||||
resources:
|
||||
requests:
|
||||
memory: "16Gi"
|
||||
cpu: "4"
|
||||
limits:
|
||||
memory: "16Gi"
|
||||
cpu: "4"
|
||||
# ...
|
||||
vminsert:
|
||||
resources:
|
||||
requests:
|
||||
memory: "16Gi"
|
||||
cpu: "4"
|
||||
limits:
|
||||
memory: "16Gi"
|
||||
cpu: "4"
|
||||
# ...
|
||||
```
|
||||
|
||||
If these parameters are not specified, then,
|
||||
by default all `VMCluster` pods have resource requests and limits from the default values of the following [operator parameters](https://docs.victoriametrics.com/operator/configuration):
|
||||
|
||||
- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmstorage` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmstorage` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMCluster/vmstorage` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMCluster/vmstorage` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_MEM` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_CPU` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_REQUEST_MEM` - default memory limit for `VMCluster/vmselect` pods,
|
||||
- `VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_REQUEST_CPU` - default memory limit for `VMCluster/vmselect` pods.
|
||||
|
||||
These default parameters will be used if:
|
||||
|
||||
- `VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES` is set to `true` (default value),
|
||||
- `VMCluster/*` CR doesn't have `resources` field in `spec` section.
|
||||
|
||||
Field `resources` in `VMCluster/*` spec have higher priority than operator parameters.
|
||||
|
||||
If you set `VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES` to `false` and don't specify `resources` in `VMCluster/*` CRD,
|
||||
then `VMCluste/*r` pods will be created without resource requests and limits.
|
||||
|
||||
Also, you can specify requests without limits - in this case default values for limits will not be used.
|
||||
|
||||
## Enterprise features
|
||||
|
||||
VMCluster supports following features
|
||||
from [VictoriaMetrics Enterprise](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise):
|
||||
|
||||
- [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling)
|
||||
- [Multiple retentions / Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters)
|
||||
- [Advanced per-tenant statistic](https://docs.victoriametrics.com/pertenantstatistic)
|
||||
- [mTLS for cluster components](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection)
|
||||
- [Backup automation](https://docs.victoriametrics.com/vmbackupmanager)
|
||||
|
||||
VMCluster doesn't support yet feature
|
||||
[Automatic discovery for vmstorage nodes](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#automatic-vmstorage-discovery).
|
||||
|
||||
For using Enterprise version of [vmcluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics)
|
||||
you need to change version of `VMCluster` to version with `-enterprise` suffix using [Version management](#version-management).
|
||||
|
||||
All the enterprise apps require `-eula` command-line flag to be passed to them.
|
||||
This flag acknowledges that your usage fits one of the cases listed on [this page](https://docs.victoriametrics.com/enterprise#victoriametrics-enterprise).
|
||||
So you can use [extraArgs](./#extra-arguments) for passing this flag to `VMCluster`.
|
||||
|
||||
### Downsampling
|
||||
|
||||
After that you can pass [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling)
|
||||
flag to `VMCluster/vmselect` and `VMCluster/vmstorage` with [extraArgs](./#extra-arguments) too.
|
||||
|
||||
Here are complete example for [Downsampling](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-ent-example
|
||||
spec:
|
||||
|
||||
vmselect:
|
||||
# enabling enterprise features for vmselect
|
||||
image:
|
||||
# enterprise version of vmselect
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmselect enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: Downsampling
|
||||
# more details about downsampling you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling
|
||||
downsampling.period: 30d:5m,180d:1h,1y:6h,2y:1d
|
||||
|
||||
vmstorage:
|
||||
# enabling enterprise features for vmstorage
|
||||
image:
|
||||
# enterprise version of vmstorage
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmstorage enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: Downsampling
|
||||
# more details about downsampling you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#downsampling
|
||||
downsampling.period: 30d:5m,180d:1h,1y:6h,2y:1d
|
||||
|
||||
# ...other fields...
|
||||
```
|
||||
|
||||
### Retention filters
|
||||
|
||||
You can pass [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters)
|
||||
flag to `VMCluster/vmstorage` with [extraArgs](./#extra-arguments).
|
||||
|
||||
Here are complete example for [Retention filters](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters):
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-ent-example
|
||||
spec:
|
||||
|
||||
vmstorage:
|
||||
# enabling enterprise features for vmstorage
|
||||
image:
|
||||
# enterprise version of vmstorage
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmstorage enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: Retention filters
|
||||
# more details about retention filters you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#retention-filters
|
||||
retentionFilter: '{vm_account_id="5",env="dev"}:5d,{vm_account_id="5",env="prod"}:5y'
|
||||
|
||||
# ...other fields...
|
||||
```
|
||||
|
||||
### Advanced per-tenant statistic
|
||||
|
||||
For using [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic)
|
||||
you only need to [enable Enterprise version of vmcluster components](#enterprise-features)
|
||||
and operator will automatically create
|
||||
[Scrape objects](https://docs.victoriametrics.com/operator/resources/vmagent#scraping) for cluster components.
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-ent-example
|
||||
spec:
|
||||
|
||||
vmselect:
|
||||
# enabling enterprise features for vmselect
|
||||
image:
|
||||
# enterprise version of vmselect
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmselect enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
vminsert:
|
||||
# enabling enterprise features for vminsert
|
||||
image:
|
||||
# enterprise version of vminsert
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vminsert enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
vmstorage:
|
||||
# enabling enterprise features for vmstorage
|
||||
image:
|
||||
# enterprise version of vmstorage
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmstorage enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# ...other fields...
|
||||
```
|
||||
|
||||
After that [VMAgent](https://docs.victoriametrics.com/operator/resources/vmagent) will automatically
|
||||
scrape [Advanced per-tenant statistic](https://docs.victoriametrics.com/PerTenantStatistic) for cluster components.
|
||||
|
||||
### mTLS protection
|
||||
|
||||
You can pass [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection)
|
||||
flags to `VMCluster/vmstorage`, `VMCluster/vmselect` and `VMCluster/vminsert` with [extraArgs](./#extra-arguments) and mount secret files
|
||||
with `extraVolumes` and `extraVolumeMounts` fields.
|
||||
|
||||
Here are complete example for [mTLS protection](https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection)
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-ent-example
|
||||
spec:
|
||||
|
||||
vmselect:
|
||||
# enabling enterprise features for vmselect
|
||||
image:
|
||||
# enterprise version of vmselect
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmselect enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: mTLS protection
|
||||
# more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection
|
||||
cluster.tls: true
|
||||
cluster.tlsCAFile: /etc/mtls/ca.crt
|
||||
cluster.tlsCertFile: /etc/mtls/vmselect.crt
|
||||
cluster.tlsKeyFile: /etc/mtls/vmselect.key
|
||||
extraVolumes:
|
||||
- name: mtls
|
||||
secret:
|
||||
secretName: mtls
|
||||
extraVolumeMounts:
|
||||
- name: mtls
|
||||
mountPath: /etc/mtls
|
||||
|
||||
vminsert:
|
||||
# enabling enterprise features for vminsert
|
||||
image:
|
||||
# enterprise version of vminsert
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vminsert enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: mTLS protection
|
||||
# more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection
|
||||
cluster.tls: true
|
||||
cluster.tlsCAFile: /etc/mtls/ca.crt
|
||||
cluster.tlsCertFile: /etc/mtls/vminsert.crt
|
||||
cluster.tlsKeyFile: /etc/mtls/vminsert.key
|
||||
extraVolumes:
|
||||
- name: mtls
|
||||
secret:
|
||||
secretName: mtls
|
||||
extraVolumeMounts:
|
||||
- name: mtls
|
||||
mountPath: /etc/mtls
|
||||
|
||||
vmstorage:
|
||||
# enabling enterprise features for vmstorage
|
||||
image:
|
||||
# enterprise version of vmstorage
|
||||
tag: v1.93.5-enterprise-cluster
|
||||
env:
|
||||
- name: POD
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
extraArgs:
|
||||
# should be true and means that you have the legal right to run a vmstorage enterprise
|
||||
# that can either be a signed contract or an email with confirmation to run the service in a trial period
|
||||
# https://victoriametrics.com/legal/esa/
|
||||
eula: true
|
||||
|
||||
# using enterprise features: mTLS protection
|
||||
# more details about mTLS protection you can read on https://docs.victoriametrics.com/Cluster-VictoriaMetrics#mtls-protection
|
||||
cluster.tls: true
|
||||
cluster.tlsCAFile: /etc/mtls/ca.crt
|
||||
cluster.tlsCertFile: /etc/mtls/$(POD).crt
|
||||
cluster.tlsKeyFile: /etc/mtls/$(POD).key
|
||||
extraVolumes:
|
||||
- name: mtls
|
||||
secret:
|
||||
secretName: mtls
|
||||
extraVolumeMounts:
|
||||
- name: mtls
|
||||
mountPath: /etc/mtls
|
||||
|
||||
# ...other fields...
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: mtls
|
||||
namespace: default
|
||||
stringData:
|
||||
ca.crt: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
mtls-vmstorage-0.crt: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
mtls-vmstorage-0.key: |
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
...
|
||||
-----END PRIVATE KEY-----
|
||||
mtls-vmstorage-1.crt: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
mtls-vmstorage-1.key: |
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
...
|
||||
-----END PRIVATE KEY-----
|
||||
vminsert.crt: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
vminsert.key: |
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
...
|
||||
-----END PRIVATE KEY-----
|
||||
vmselect.crt: |
|
||||
-----BEGIN CERTIFICATE-----
|
||||
...
|
||||
-----END CERTIFICATE-----
|
||||
vmselect.key: |
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
...
|
||||
-----END PRIVATE KEY-----
|
||||
|
||||
```
|
||||
|
||||
Example commands for generating certificates you can read
|
||||
on [this page](https://gist.github.com/f41gh7/76ed8e5fb1ebb9737fe746bae9175ee6#generate-self-signed-ca-with-key).
|
||||
|
||||
### Backup automation
|
||||
|
||||
You can check [vmbackupmanager documentation](https://docs.victoriametrics.com/vmbackupmanager) for backup automation.
|
||||
It contains a description of the service and its features. This section covers vmbackumanager integration in vmoperator.
|
||||
|
||||
`VMCluster` has built-in backup configuration, it uses `vmbackupmanager` - proprietary tool for backups.
|
||||
It supports incremental backups (hourly, daily, weekly, monthly) with popular object storages (aws s3, google cloud storage).
|
||||
|
||||
Here is a complete example for backup configuration:
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-ent-example
|
||||
spec:
|
||||
vmstorage:
|
||||
vmBackup:
|
||||
# this feature is only available in Victoriametrics Enterprise
|
||||
# more details about backup automation you can read on https://docs.victoriametrics.com/vmbackupmanager
|
||||
destination: "s3://your_bucket/folder"
|
||||
# Read the object storage credentials from a secret
|
||||
credentialsSecret:
|
||||
name: remote-storage-keys
|
||||
key: credentials
|
||||
# customS3Endpoint: 'https://s3.example.com' # uncomment and adjust if you using s3 compatible storage instead of AWS s3
|
||||
# uncomment and adjust to fit your backup schedule
|
||||
# disableHourly: false
|
||||
# disableDaily: false
|
||||
# disableWeekly: false
|
||||
# disableMonthly: false
|
||||
# ...other fields...
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: remote-storage-keys
|
||||
type: Opaque
|
||||
stringData:
|
||||
credentials: |-
|
||||
[default]
|
||||
aws_access_key_id = your_access_key_id
|
||||
aws_secret_access_key = your_secret_access_key
|
||||
```
|
||||
|
||||
**NOTE**: for cluster version operator adds suffix for destination: `"s3://your_bucket/folder"`, it becomes `"s3://your_bucket/folder/$(POD_NAME)"`.
|
||||
It's needed to make consistent backups for each storage node.
|
||||
|
||||
You can read more about backup configuration options and mechanics [here](https://docs.victoriametrics.com/vmbackupmanager)
|
||||
|
||||
Possible configuration options for backup crd can be found at [link](https://docs.victoriametrics.com/operator/api#vmbackup)
|
||||
|
||||
**Using VMBackupmanager for restoring backups** in Kubernetes environment is described [here](https://docs.victoriametrics.com/vmbackupmanager#how-to-restore-in-kubernetes).
|
||||
|
||||
Also see VMCluster example spec [here](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmcluster_with_backuper.yaml).
|
||||
|
||||
## Examples
|
||||
|
||||
### Minimal example without persistence
|
||||
|
||||
```yaml
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-example-minimal
|
||||
spec:
|
||||
# ...
|
||||
retentionPeriod: "1"
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
vmselect:
|
||||
replicaCount: 2
|
||||
vminsert:
|
||||
replicaCount: 2
|
||||
```
|
||||
|
||||
### With persistence
|
||||
|
||||
```yaml
|
||||
kind: VMCluster
|
||||
metadata:
|
||||
name: vmcluster-example-persistent
|
||||
spec:
|
||||
# ...
|
||||
retentionPeriod: "4"
|
||||
replicationFactor: 2
|
||||
vmstorage:
|
||||
replicaCount: 2
|
||||
storageDataPath: "/vm-data"
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
storageClassName: standard
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
resources:
|
||||
limits:
|
||||
cpu: "0.5"
|
||||
memory: 500Mi
|
||||
vmselect:
|
||||
replicaCount: 2
|
||||
cacheMountPath: "/select-cache"
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
resources:
|
||||
limits:
|
||||
cpu: "0.3"
|
||||
memory: "300Mi"
|
||||
vminsert:
|
||||
replicaCount: 2
|
||||
```
|
Before ![]() (image error) Size: 24 KiB |