112 lines
3.5 KiB
YAML
112 lines
3.5 KiB
YAML
{{- if .Values.opensearch.nodeSets }}
|
|
#pluginsList: ["repository-s3","https://github.com/aiven/prometheus-exporter-plugin-for-opensearch/releases/download/2.11.1.0/prometheus-exporter-2.11.1.0.zip"]
|
|
apiVersion: opensearch.opster.io/v1
|
|
kind: OpenSearchCluster
|
|
metadata:
|
|
name: {{ template "kubezero-lib.fullname" . }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{ include "kubezero-lib.labels" . | nindent 4 }}
|
|
spec:
|
|
general:
|
|
serviceName: {{ template "kubezero-lib.fullname" . }}
|
|
version: {{ .Values.opensearch.version }}
|
|
setVMMaxMapCount: false
|
|
pluginsList: ["repository-s3"]
|
|
monitoring:
|
|
enable: {{ .Values.opensearch.prometheus }}
|
|
tlsConfig:
|
|
insecureSkipVerify: true
|
|
podSecurityContext:
|
|
runAsUser: 1000
|
|
runAsGroup: 1000
|
|
runAsNonRoot: true
|
|
fsGroup: 1000
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
privileged: false
|
|
{{- if .Values.opensearch.dashboard.enabled }}
|
|
# https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/config/opensearch_dashboards.yml
|
|
dashboards:
|
|
enable: true
|
|
version: {{ .Values.opensearch.version }}
|
|
replicas: 1
|
|
resources:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "200m"
|
|
limits:
|
|
memory: "1Gi"
|
|
#cpu: "200m"
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
fsGroup: 1000
|
|
securityContext:
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
privileged: false
|
|
additionalConfig:
|
|
opensearchDashboards.branding.useExpandedHeader: "false"
|
|
opensearchDashboards.branding.applicationTitle: "KubeZero Dashboards"
|
|
opensearchDashboards.branding.mark.defaultUrl: "https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png"
|
|
{{- end }}
|
|
nodePools:
|
|
{{- range .Values.opensearch.nodeSets }}
|
|
- component: nodes-{{ .name }}
|
|
replicas: {{ .replicas }}
|
|
diskSize: {{ .storage.size }}
|
|
{{- with .storage.class }}
|
|
persistence:
|
|
pvc:
|
|
storageClass: {{ . }}
|
|
{{- end }}
|
|
{{- with .resources }}
|
|
resources: {{ toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
roles:
|
|
- "cluster_manager"
|
|
- "data"
|
|
{{- if gt (int .replicas) 1 }}
|
|
pdb:
|
|
enable: true
|
|
maxUnavailable: 1
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
opster.io/opensearch-cluster: {{ template "kubezero-lib.fullname" $ }}
|
|
{{- end }}
|
|
additionalConfig:
|
|
index.codec: zstd_no_dict
|
|
indices.time_series_index.default_index_merge_policy: log_byte_size
|
|
{{- with .zone }}
|
|
cluster.routing.allocation.awareness.attributes: k8s_node_name,zone
|
|
node.attr.zone: {{ . }}
|
|
{{- end }}
|
|
{{- with $.Values.opensearch.settings }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
security:
|
|
config:
|
|
adminSecret:
|
|
name: {{ template "kubezero-lib.fullname" . }}-admin-tls
|
|
tls:
|
|
transport:
|
|
generate: false
|
|
perNode: false
|
|
secret:
|
|
name: {{ template "kubezero-lib.fullname" . }}-nodes-transport-tls
|
|
nodesDn:
|
|
- 'CN={{ template "kubezero-lib.fullname" . }}-nodes'
|
|
adminDn:
|
|
- 'CN={{ template "kubezero-lib.fullname" . }}-admin'
|
|
http:
|
|
generate: false
|
|
secret:
|
|
name: {{ template "kubezero-lib.fullname" . }}-nodes-http-tls
|
|
{{- end }}
|