diff --git a/charts/victoriametrics/Chart.yaml b/charts/victoriametrics/Chart.yaml new file mode 100644 index 0000000..d0cf107 --- /dev/null +++ b/charts/victoriametrics/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: vm +description: A Helm chart for victoriametrics +type: application +version: 0.0.1 +appVersion: v0.0.1 +maintainers: + - name: ashwani-opstree + +dependencies: + - name: victoria-metrics-k8s-stack + version: 0.25.5 + repository: https://victoriametrics.github.io/helm-charts/ + alias: vm + tags: + - monitoring + condition: vm.enabled + - name: prometheus-blackbox-exporter + version: 8.17.0 + repository: https://prometheus-community.github.io/helm-charts/ + tags: + - blackbox + alias: blackbox + condition: blackbox.enabled diff --git a/charts/victoriametrics/values.yaml b/charts/victoriametrics/values.yaml new file mode 100644 index 0000000..2f945cd --- /dev/null +++ b/charts/victoriametrics/values.yaml @@ -0,0 +1,242 @@ +vm: + defaultDashboardsEnabled: false + experimentalDashboardsEnabled: false + prometheus-node-exporter: + enabled: true + node: + enabled: true + kubeStateMetrics: + enabled: true + grafana: + enabled: true + testFramework: + enabled: false + sidecar: + datasources: + defaultDatasourceEnabled: false + resources: + requests: + cpu: "0.5" + memory: 1Gi + limits: + cpu: 1 + memory: 2Gi + persistence: + enabled: true + type: sts + storageClassName: buildpiper-storage + accessModes: + - ReadWriteOnce + size: 1Gi + finalizers: + - kubernetes.io/pvc-protection + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + alertmanager: + enabled: true + config: + global: + resolve_timeout: 5m + templates: + - "/etc/vm/configs/**/*.tmpl" + route: + receiver: "blackhole" + receivers: + - name: blackhole + spec: + configNamespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + replicaCount: 2 + retention: 240h + resources: + requests: + cpu: 250m + memory: 500Mi + limits: + cpu: 250m + memory: 500Mi + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + storage: + volumeClaimTemplate: + spec: + storageClassName: buildpiper-storage + accessModes: + - "ReadWriteOnce" + resources: + requests: + storage: 1Gi + vmsingle: + enabled: false + defaultRules: + create: false + kubeApiServer: + enabled: false + kubeControllerManager: + enabled: false + kubeEtcd: + enabled: false + kubeScheduler: + enabled: false + crds: + enabled: false + dashboards: + node-exporter-full: false + + vmcluster: + enabled: true + spec: + retentionPeriod: "14d" + replicationFactor: 1 + vmstorage: + replicaCount: 1 + extraArgs: + search.maxUniqueTimeseries: "10000000000000" + resources: + limits: + cpu: "0.5" + memory: 500Mi + requests: + cpu: "0.5" + memory: 500Mi + storage: + volumeClaimTemplate: + spec: + storageClassName: buildpiper-storage + resources: + requests: + storage: 20Gi + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + vmselect: + replicaCount: 1 + extraArgs: + memory.allowedPercent: "75" + search.cacheTimestampOffset: 60m + search.maxLabelsAPISeries: "10000000000000" + search.maxMemoryPerQuery: 2GB + search.maxPointsPerTimeseries: "10000000000000" + search.maxQueryDuration: 10m + search.maxQueryLen: "10000000000000" + search.maxSeries: "10000000000000" + search.maxUniqueTimeseries: "10000000000000" + storage: + volumeClaimTemplate: + spec: + storageClassName: buildpiper-storage + resources: + requests: + storage: 2Gi + resources: + limits: + cpu: "1" + memory: "1Gi" + requests: + cpu: "1" + memory: "1Gi" + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + vminsert: + replicaCount: 1 + extraArgs: + maxLabelsPerTimeseries: "100" + image: + tag: v1.103.0-cluster + resources: + limits: + cpu: "0.5" + memory: 500Mi + requests: + cpu: "0.5" + memory: "500Mi" + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + + vmagent: + enabled: true + spec: + serviceScrapeNamespaceSelector: + matchLabels: + kubernetes.io/metadata.name: vm + extraArgs: + promscrape.maxScrapeSize: 200MB + promscrape.streamParse: "true" + promscrape.dropOriginalLabels: "true" + resources: + limits: + cpu: "0.5" + memory: 500Mi + requests: + cpu: "0.5" + memory: 500Mi + scrapeInterval: 30s + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + vmalert: + enabled: true + spec: + resources: + limits: + cpu: "0.5" + memory: 500Mi + requests: + cpu: "0.5" + memory: 500Mi + nodeSelector: + node_group: monit-logging + tolerations: + - key: olly + operator: Equal + value: "true" + effect: NoSchedule + + +blackbox: + enabled: false + serviceMonitor: + enabled: false + config: + modules: + http_2xx: + prober: http + timeout: 5s + http: + valid_http_versions: + - "HTTP/1.0" + - "HTTP/1.1" + - "HTTP/2.0" + no_follow_redirects: false + preferred_ip_protocol: "ip4" + fail_if_ssl: false + fail_if_not_ssl: false