apiVersion: apps/v1 kind: Deployment metadata: name: opensearch namespace: data spec: replicas: 1 selector: matchLabels: app: opensearch template: metadata: labels: app: opensearch spec: securityContext: fsGroup: 1000 initContainers: - name: sysctl image: busybox command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true containers: - name: opensearch image: opensearchproject/opensearch:3 # OpenSearch 3.x has no maintained prometheus-exporter plugin. # Metrics come from /_cluster/stats JSON API (scraped by dashboard queries). # TODO: add opensearch-exporter sidecar for native Prometheus metrics. ports: - name: http containerPort: 9200 protocol: TCP - name: transport containerPort: 9300 protocol: TCP env: - name: discovery.type value: single-node - name: OPENSEARCH_JAVA_OPTS value: "-Xms1g -Xmx1536m" - name: DISABLE_SECURITY_PLUGIN value: "true" - name: plugins.ml_commons.only_run_on_ml_node value: "false" - name: plugins.ml_commons.native_memory_threshold value: "90" - name: plugins.ml_commons.model_access_control_enabled value: "false" - name: plugins.ml_commons.allow_registering_model_via_url value: "true" resources: limits: memory: 2Gi requests: memory: 1Gi cpu: 100m volumeMounts: - name: data mountPath: /usr/share/opensearch/data volumes: - name: data persistentVolumeClaim: claimName: opensearch-data