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.

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