I'd recommend to keep project structure simple and straight forward:
chart-name/
# any static content to include into templates
files/
# all needed dynamic templates
templates/
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: vlinsert | |
| spec: | |
| type: ClusterIP | |
| ports: | |
| - name: http | |
| protocol: TCP | |
| port: 9428 |
| apiVersion: operator.victoriametrics.com/v1beta1 | |
| kind: VMAgent | |
| metadata: | |
| name: main | |
| spec: | |
| selectAllByDefault: true | |
| replicaCount: 1 | |
| statefulMode: true | |
| shardCount: 2 | |
| extraArgs: |
In education purpose, I'll use single node version of VictoriaMetrics.
Lets say we have 2 zones: zone-a and zone-b. Separate cluster must be deploy to the both zones with commands:
helm upgrade -i zone-a vm/victoria-metrics-cluster -f zone.yaml| serviceMonitor: | |
| enabled: true | |
| alertmanager: | |
| enabled: true | |
| persistentVolume: | |
| enabled: false | |
| replicas: 1 | |
| resources: | |
| limits: |
openssl req -x509 -sha256 -days 1825 -newkey rsa:2048 -keyout rootCA.key -out rootCA.crt -nodes
openssl req -newkey rsa:2048 -nodes -keyout vmstorage_0.key -out vmstorage_0.csr