Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/aws-ebs-csi-driver/values.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ image:
tag: "v1.38.1"

storageClasses:
- name: "ebs-sc"
- name: "{{ .Values.ebsStorageClassName }}"
parameters:
type: "gp3"
allowVolumeExpansion: true
Expand Down
2 changes: 1 addition & 1 deletion charts/longhorn/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

### Can LH be used for critical services (e.g., Databases)?

No (as of now). , we should not use it for volumes of critical services.
No. We should not use it for volumes of critical services.

As of now, we should avoid using LH for critical services. Instead, we should rely on easier-to-maintain solutions (e.g., application-level replication [Postgres Operators], S3, etc.). Once we get hands-on experience, extensive monitoring and ability to scale LH, we can consider using it for critical services.

Expand Down
2 changes: 1 addition & 1 deletion charts/portainer/values.ebs-pv.yaml.gotmpl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
persistence:
enabled: true
size: "1Gi" # minimal size for gp3 is 1Gi
storageClass: "ebs-sc"
storageClass: "{{ .Values.ebsStorageClassName }}"
2 changes: 1 addition & 1 deletion charts/portainer/values.longhorn-pv.yaml.gotmpl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
persistence:
enabled: true
size: "300Mi" # cannot be lower https://github.com/longhorn/longhorn/issues/8488
storageClass: "{{.Values.longhornStorageClassName}}"
storageClass: "{{ .Values.longhornStorageClassName }}"
10 changes: 10 additions & 0 deletions charts/traefik/values.secure.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,16 @@ extraObjects:
prefixes:
- /longhorn

- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: logs-strip-prefix
namespace: {{.Release.Namespace}}
spec:
stripPrefix:
prefixes:
- /logs

- apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
Expand Down
2 changes: 2 additions & 0 deletions charts/victoria-logs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Highly Available Configuration with Helm:
* https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9076
59 changes: 59 additions & 0 deletions charts/victoria-logs/values.yaml.gotmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# https://github.com/VictoriaMetrics/helm-charts/blob/victoria-logs-single-0.11.2/charts/victoria-logs-single/values.yaml

vector:
# by default it will generate sink per statefulset's pod
# each pod has a separate PV, so the data is replicated
enabled: true

server:
# HA trough multiple replicas
# https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9076
replicaCount: 2

retentionPeriod: 30d

ingress:
enabled: true
annotations:
namespace: "{{ .Release.Namespace }}"
cert-manager.io/cluster-issuer: "cert-issuer"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.middlewares: traefik-logs-strip-prefix@kubernetescrd,traefik-traefik-basic-auth@kubernetescrd # namespace + middleware name
tls:
- hosts:
- {{ requiredEnv "K8S_MONITORING_FQDN" }}
secretName: monitoring-tls
hosts:
- name: {{ requiredEnv "K8S_MONITORING_FQDN" }}
path:
- /logs
pathType: Prefix

persistentVolume:
enabled: true
storageClassName: "{{ .Values.ebsStorageClassName }}"
size: 10Gi

nodeSelector:
ops: "true"

# Schedule pods on different nodes if possible (HA)
# https://stackoverflow.com/a/64958458/12124525
topologySpreadConstraints:
- maxSkew: 1
topologyKey: "kubernetes.io/hostname"
whenUnsatisfiable: DoNotSchedule
# hardcoded due to https://github.com/VictoriaMetrics/helm-charts/issues/2219
labelSelector:
matchLabels:
app: server
app.kubernetes.io/instance: victoria-logs
app.kubernetes.io/name: victoria-logs-single

resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 500m
memory: 512Mi
Loading