You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

redis.yaml 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. ---
  2. apiVersion: v1
  3. kind: Service
  4. metadata:
  5. name: {{ include "ragflow.fullname" . }}-redis
  6. annotations:
  7. "helm.sh/resource-policy": keep
  8. labels:
  9. {{- include "ragflow.labels" . | nindent 4 }}
  10. app.kubernetes.io/component: redis
  11. spec:
  12. ports:
  13. - port: 6379
  14. name: redis
  15. protocol: TCP
  16. clusterIP: None # Headless service for StatefulSet
  17. selector:
  18. {{- include "ragflow.selectorLabels" . | nindent 4 }}
  19. app.kubernetes.io/component: redis
  20. ---
  21. apiVersion: apps/v1
  22. kind: StatefulSet
  23. metadata:
  24. name: {{ include "ragflow.fullname" . }}-redis
  25. labels:
  26. {{- include "ragflow.labels" . | nindent 4 }}
  27. app.kubernetes.io/component: redis
  28. spec:
  29. serviceName: {{ include "ragflow.fullname" . }}-redis
  30. replicas: 1
  31. selector:
  32. matchLabels:
  33. {{- include "ragflow.selectorLabels" . | nindent 6 }}
  34. app.kubernetes.io/component: redis
  35. template:
  36. metadata:
  37. labels:
  38. {{- include "ragflow.labels" . | nindent 8 }}
  39. app.kubernetes.io/component: redis
  40. annotations:
  41. checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }}
  42. spec:
  43. terminationGracePeriodSeconds: 60
  44. containers:
  45. - name: redis
  46. image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}
  47. command:
  48. - "sh"
  49. - "-c"
  50. - "exec redis-server --requirepass ${REDIS_PASSWORD} --maxmemory 128mb --maxmemory-policy allkeys-lru"
  51. envFrom:
  52. - secretRef:
  53. name: {{ include "ragflow.fullname" . }}-env-config
  54. ports:
  55. - containerPort: 6379
  56. name: redis
  57. {{- if .Values.redis.persistence.enabled }}
  58. volumeMounts:
  59. - name: redis-data
  60. mountPath: /data
  61. {{- end }}
  62. {{- with .Values.redis.deployment.resources }}
  63. resources:
  64. {{- . | toYaml | nindent 12 }}
  65. {{- end }}
  66. {{- if .Values.redis.persistence.enabled }}
  67. volumeClaimTemplates:
  68. - metadata:
  69. name: redis-data
  70. labels:
  71. {{- include "ragflow.labels" . | nindent 10 }}
  72. app.kubernetes.io/component: redis
  73. spec:
  74. accessModes:
  75. - ReadWriteOnce
  76. {{- with .Values.redis.storage.className }}
  77. storageClassName: {{ . }}
  78. {{- end }}
  79. resources:
  80. requests:
  81. storage: {{ .Values.redis.storage.capacity }}
  82. {{- end }}
  83. ---
  84. apiVersion: v1
  85. kind: Service
  86. metadata:
  87. name: {{ include "ragflow.fullname" . }}-redis-svc
  88. labels:
  89. {{- include "ragflow.labels" . | nindent 4 }}
  90. app.kubernetes.io/component: redis
  91. spec:
  92. ports:
  93. - port: 6379
  94. targetPort: redis
  95. protocol: TCP
  96. selector:
  97. {{- include "ragflow.selectorLabels" . | nindent 4 }}
  98. app.kubernetes.io/component: redis
  99. ---
  100. apiVersion: policy/v1
  101. kind: PodDisruptionBudget
  102. metadata:
  103. name: {{ include "ragflow.fullname" . }}-redis-pdb
  104. labels:
  105. {{- include "ragflow.labels" . | nindent 4 }}
  106. app.kubernetes.io/component: redis
  107. spec:
  108. minAvailable: 1
  109. selector:
  110. matchLabels:
  111. {{- include "ragflow.selectorLabels" . | nindent 6 }}
  112. app.kubernetes.io/component: redis