mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? Fix Kubernetes liveness probe on the OpenSearch container. The previous HTTP probe received an 401 response from the OpenSearch API which treated as a failure and caused the container to be restarted every 20 minutes. ### Type of change - [X] Bug Fix (non-breaking change which fixes an issue)
118 lines
3.5 KiB
YAML
118 lines
3.5 KiB
YAML
{{- if eq .Values.env.DOC_ENGINE "opensearch" -}}
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: {{ include "ragflow.fullname" . }}-opensearch-data
|
|
annotations:
|
|
"helm.sh/resource-policy": keep
|
|
labels:
|
|
{{- include "ragflow.labels" . | nindent 4 }}
|
|
app.kubernetes.io/component: opensearch
|
|
spec:
|
|
{{- with .Values.opensearch.storage.className }}
|
|
storageClassName: {{ . }}
|
|
{{- end }}
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: {{ .Values.opensearch.storage.capacity }}
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: {{ include "ragflow.fullname" . }}-opensearch
|
|
labels:
|
|
{{- include "ragflow.labels" . | nindent 4 }}
|
|
app.kubernetes.io/component: opensearch
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
{{- include "ragflow.selectorLabels" . | nindent 6 }}
|
|
app.kubernetes.io/component: opensearch
|
|
{{- with .Values.opensearch.deployment.strategy }}
|
|
strategy:
|
|
{{- . | toYaml | nindent 4 }}
|
|
{{- end }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
{{- include "ragflow.labels" . | nindent 8 }}
|
|
app.kubernetes.io/component: opensearch
|
|
annotations:
|
|
checksum/config-opensearch: {{ include (print $.Template.BasePath "/opensearch-config.yaml") . | sha256sum }}
|
|
checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }}
|
|
spec:
|
|
initContainers:
|
|
- name: fix-data-volume-permissions
|
|
image: alpine
|
|
command:
|
|
- sh
|
|
- -c
|
|
- "chown -R 1000:0 /usr/share/opensearch/data"
|
|
volumeMounts:
|
|
- mountPath: /usr/share/opensearch/data
|
|
name: opensearch-data
|
|
- name: sysctl
|
|
image: busybox
|
|
securityContext:
|
|
privileged: true
|
|
runAsUser: 0
|
|
command: ["sysctl", "-w", "vm.max_map_count=262144"]
|
|
containers:
|
|
- name: opensearch
|
|
image: {{ .Values.opensearch.image.repository }}:{{ .Values.opensearch.image.tag }}
|
|
envFrom:
|
|
- secretRef:
|
|
name: {{ include "ragflow.fullname" . }}-env-config
|
|
- configMapRef:
|
|
name: {{ include "ragflow.fullname" . }}-opensearch-config
|
|
ports:
|
|
- containerPort: 9201
|
|
name: http
|
|
volumeMounts:
|
|
- mountPath: /usr/share/opensearch/data
|
|
name: opensearch-data
|
|
{{- with .Values.opensearch.deployment.resources }}
|
|
resources:
|
|
{{- . | toYaml | nindent 10 }}
|
|
{{- end }}
|
|
securityContext:
|
|
capabilities:
|
|
add:
|
|
- "IPC_LOCK"
|
|
runAsUser: 1000
|
|
allowPrivilegeEscalation: false
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- curl -u admin:$OPENSEARCH_PASSWORD localhost:9201
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
failureThreshold: 6
|
|
volumes:
|
|
- name: opensearch-data
|
|
persistentVolumeClaim:
|
|
claimName: {{ include "ragflow.fullname" . }}-opensearch-data
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ include "ragflow.fullname" . }}-opensearch
|
|
labels:
|
|
{{- include "ragflow.labels" . | nindent 4 }}
|
|
app.kubernetes.io/component: opensearch
|
|
spec:
|
|
selector:
|
|
{{- include "ragflow.selectorLabels" . | nindent 4 }}
|
|
app.kubernetes.io/component: opensearch
|
|
ports:
|
|
- protocol: TCP
|
|
port: 9201
|
|
targetPort: http
|
|
type: {{ .Values.opensearch.service.type }}
|
|
{{- end -}}
|