| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- {{- if .Values.loki.enabled }}
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: loki
- namespace: {{ .Release.Namespace }}
- labels:
- app: loki
- spec:
- serviceName: loki
- replicas: {{ .Values.loki.replicas }}
- selector:
- matchLabels:
- app: loki
- template:
- metadata:
- labels:
- app: loki
- spec:
- serviceAccountName: loki
- securityContext:
- fsGroup: 65534
- runAsNonRoot: false
- runAsUser: 0
- nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
- tolerations: {{ toYaml .Values.tolerations | nindent 8 }}
- affinity: {{ toYaml .Values.affinity | nindent 8 }}
- initContainers:
- - name: init-loki-storage
- image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/alpine:3.18
- securityContext:
- runAsUser: 0
- command:
- - sh
- - -c
- - |
- set -e
- mkdir -p /loki/chunks
- mkdir -p /loki/boltdb-shipper-active
- mkdir -p /loki/boltdb-shipper-cache
- mkdir -p /loki/compactor
- mkdir -p /wal
- chmod -R 777 /loki
- chmod -R 777 /wal
- echo "Loki storage and WAL directories created successfully"
- volumeMounts:
- - name: loki-storage
- mountPath: /loki
- - name: wal-vol
- mountPath: /wal
- containers:
- - name: loki
- image: "{{ .Values.loki.image.repository }}:{{ .Values.loki.image.tag }}"
- imagePullPolicy: IfNotPresent
- args:
- - -config.file=/etc/loki/loki-config.yaml
- ports:
- - name: http
- containerPort: 3100
- protocol: TCP
- livenessProbe:
- httpGet:
- path: /ready
- port: http
- initialDelaySeconds: 45
- timeoutSeconds: 1
- periodSeconds: 10
- successThreshold: 1
- failureThreshold: 3
- readinessProbe:
- httpGet:
- path: /ready
- port: http
- initialDelaySeconds: 45
- timeoutSeconds: 1
- periodSeconds: 10
- successThreshold: 1
- failureThreshold: 3
- resources:
- limits:
- cpu: {{ .Values.loki.resources.limits.cpu }}
- memory: {{ .Values.loki.resources.limits.memory }}
- requests:
- cpu: {{ .Values.loki.resources.requests.cpu }}
- memory: {{ .Values.loki.resources.requests.memory }}
- volumeMounts:
- - name: loki-config
- mountPath: /etc/loki
- readOnly: true
- - name: loki-storage
- mountPath: /loki
- - name: wal-vol
- mountPath: /wal
- volumes:
- - name: loki-config
- configMap:
- name: loki-config
- - name: wal-vol
- emptyDir: {}
- volumeClaimTemplates:
- - metadata:
- name: loki-storage
- spec:
- accessModes:
- - ReadWriteOnce
- storageClassName: {{ .Values.loki.persistence.storageClassName }}
- resources:
- requests:
- storage: {{ .Values.loki.persistence.size }}
- {{- end }}
|