Skip to content

Commit 6cdd47b

Browse files
add victoria-traces-cluster chart (#2400)
1 parent 5074a7e commit 6cdd47b

39 files changed

+3375
-0
lines changed

.github/workflows/run-testing.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ jobs:
8383

8484
- name: Set up chart-testing
8585
uses: helm/[email protected]
86+
with:
87+
version: 3.13.0
8688

8789
- name: Create Kind cluster
8890
uses: helm/kind-action@v1
@@ -109,6 +111,7 @@ jobs:
109111
--validate | kubectl apply -f - --dry-run=server
110112
fi
111113
ct install \
114+
--release-name test \
112115
--namespace ${{ matrix.chart }}-testing \
113116
--config .github/ci/ct.yaml \
114117
--charts "charts/${{ matrix.chart }}" \
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj
22+
.vscode/
23+
*.md.gotmpl
24+
CHANGELOG.md
25+
_changelog.md
26+
_index.md
27+
e2e/
28+
lint/
29+
tests/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## Next release
2+
3+
- add victoria-traces-cluster chart
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: victoria-metrics-common
3+
repository: https://victoriametrics.github.io/helm-charts/
4+
version: 0.0.42
5+
digest: sha256:82f1236ec90826664cf0bcfe90a2db859b88a152f148233803d6f19c8459c5e0
6+
generated: "2025-09-10T10:27:56.536073+03:00"
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
apiVersion: v2
2+
type: application
3+
appVersion: v0.2.0
4+
description: The VictoriaTraces cluster Helm chart deploys VictoriaTraces cluster database in Kubernetes.
5+
name: victoria-traces-cluster
6+
version: 0.0.1
7+
sources:
8+
- https://github.com/VictoriaMetrics/helm-charts
9+
icon: https://avatars.githubusercontent.com/u/43720803?s=200&v=4
10+
kubeVersion: ">=1.25.0-0"
11+
home: https://github.com/VictoriaMetrics/helm-charts
12+
keywords:
13+
- victoriatraces
14+
- traces
15+
- kubernetes
16+
- observability
17+
annotations:
18+
artifacthub.io/license: Apache-2.0
19+
artifacthub.io/category: "monitoring-logging"
20+
artifacthub.io/links: |
21+
- name: Sources
22+
url: https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-traces-cluster
23+
- name: Charts repo
24+
url: https://victoriametrics.github.io/helm-charts/
25+
- name: Docs
26+
url: https://docs.victoriametrics.com/victoriatraces/cluster/
27+
- name: Changelog
28+
url: https://docs.victoriametrics.com/victoriatraces/changelog/
29+
dependencies:
30+
- name: victoria-metrics-common
31+
version: "0.0.*"
32+
repository: https://victoriametrics.github.io/helm-charts/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# VictoriaTraces Cluster Helm chart
2+
3+
Chart documentation is available [here](https://docs.victoriametrics.com/helm/victoriatraces-cluster/)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
weight: 1
3+
title: CHANGELOG
4+
menu:
5+
docs:
6+
weight: 1
7+
identifier: helm-victoria-traces-cluster-changelog
8+
parent: helm-victoria-traces-cluster
9+
url: /helm/victoria-traces-cluster/changelog/
10+
aliases:
11+
- /helm/victoriatraces-cluster/changelog/
12+
tags:
13+
- traces
14+
- kubernetes
15+
---
16+
{{% content "CHANGELOG.md" %}}
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
weight: 2
3+
title: VictoriaTraces Cluster
4+
menu:
5+
docs:
6+
parent: helm
7+
weight: 2
8+
identifier: helm-victoria-traces-cluster
9+
url: /helm/victoria-traces-cluster/
10+
aliases:
11+
- /helm/victoriatraces-cluster/
12+
tags:
13+
- traces
14+
- kubernetes
15+
---
16+
{{ template "chart.badges" . }}
17+
18+
{{ template "chart.description" . }}
19+
20+
{{ template "chart.prerequisites" . }}
21+
22+
## Quick start
23+
24+
The chart deploys VictoriaTraces cluster database.
25+
It deploys the following components according to [VictoriaTraces cluster architecture](https://docs.victoriametrics.com/victoriatraces/cluster/#architecture):
26+
27+
- `vtstorage` stores the ingested traces to the configured persistent volumes
28+
- `vtinsert` receives incoming traces and spreads them evenly across `vtstorage` nodes
29+
- `vtselect` provides API for querying the ingested traces
30+
31+
The default chart setup is shown below:
32+
33+
```mermaid
34+
graph LR
35+
Collector["Log Collector"] --> VTI1["vtinsert-1"]
36+
Collector --> VTI2["vtinsert-2"]
37+
38+
subgraph "VictoriaTraces Cluster"
39+
VTI1 --> VTS1["vtstorage-1"]
40+
VTI1 --> VTS2["vtstorage-2"]
41+
VTI2 --> VTS1
42+
VTI2 --> VTS2
43+
44+
VTS1 <--> VTQ1["vtselect-1"]
45+
VTS1 <--> VTQ2["vtselect-2"]
46+
VTS2 <--> VTQ1
47+
VTS2 <--> VTQ2
48+
end
49+
50+
VTQ2 <--> Users
51+
```
52+
53+
For a quick start, install `victoria-traces-cluster` using the following commands,
54+
making sure to replace the environment variables with your own values:
55+
56+
```sh
57+
export RETENTION=30d
58+
export PVC_SIZE=10Gi
59+
export VTSTORAGE_REPLICAS=2
60+
export NAMESPACE=traces
61+
62+
# Install victoria-traces-cluster chart
63+
helm install vtc vm/victoria-traces-cluster --namespace $NAMESPACE --wait \
64+
--set "vtstorage.retentionPeriod=$RETENTION" --set "vtstorage.persistentVolume.size=$PVC_SIZE" \
65+
--set vmauth.enabled=true \
66+
--set vtstorage.replicaCount=$VTSTORAGE_REPLICAS
67+
68+
In the example above, two `vtstorage` instances are deployed, each with a 30-day retention period and a 10 Gi PVC.
69+
70+
To access the data within the cluster, use the vmauth address: `http://vtc-victoria-traces-cluster-vmauth.logging.svc.cluster.local:8427`.
71+
You can use this address as Data Source URL in Grafana.
72+
The vmui interface is available at: `http://vtc-victoria-traces-cluster-vmauth.logging.svc.cluster.local:8427/select/vmui/`.
73+
74+
To uninstall these charts, run: `helm uninstall vts`.
75+
Note that this *will not* remove the PVCs, so you will need to delete them manually if no longer needed.
76+
77+
For finer control and easier maintenance, it is recommended to set these
78+
values in a separate `values` file and use it during installation.
79+
See [how to install victoria-traces-single](https://docs.victoriametrics.com/helm/victoria-traces-single/#install-victoria-traces-single-chart) for an example.
80+
You can do this later if you want to configure more settings than shown in the default example.
81+
82+
## Chart configuration
83+
84+
### vmauth
85+
86+
When you enable `vmauth` with:
87+
88+
```yaml
89+
vmauth:
90+
enabled: true
91+
```
92+
93+
The chart launches an [`vmauth`](https://docs.victoriametrics.com/victoriametrics/vmauth/) service
94+
for proxying and load-balancing incoming data ingestion requests to `vtinsert` nodes and for proxying and load-balancing incoming queries to `vtselect` nodes.
95+
96+
So, the chart can now be thought of as:
97+
98+
```mermaid
99+
graph LR
100+
Collector["Traces Collector"] --> VTI1["vtinsert-1"]
101+
Collector --> VTI2["vtinsert-2"]
102+
103+
subgraph "VictoriaTraces Cluster"
104+
VTI1 --> VTS1["vtstorage-1"]
105+
VTI1 --> VTS2["vtstorage-2"]
106+
VTI2 --> VTS1
107+
VTI2 --> VTS2
108+
109+
VTS1 <--> VTQ1["vtselect-1"]
110+
VTS1 <--> VTQ2["vtselect-2"]
111+
VTS2 <--> VTQ1
112+
VTS2 <--> VTQ2
113+
end
114+
115+
VTQ1 <--> Users["vmauth"]
116+
VTQ2 <--> Users
117+
```
118+
119+
{{ include "chart.installSection" . }}
120+
121+
{{ include "chart.uninstallSection" . }}
122+
123+
{{ include "chart.helmDocs" . }}
124+
125+
## Parameters
126+
127+
The following tables lists the configurable parameters of the chart and their default values.
128+
129+
Change the values according to the need of the environment in ``victoria-traces-cluster/values.yaml`` file.
130+
131+
{{ template "chart.valuesTableHtml" . }}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
podDisruptionBudget:
2+
enabled: true
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
podDisruptionBudget:
2+
enabled: true
3+
4+

0 commit comments

Comments
 (0)