config/recipes/autoscaling/elasticsearch.yaml (72 lines of code) (raw):

--- apiVersion: autoscaling.k8s.elastic.co/v1alpha1 kind: ElasticsearchAutoscaler metadata: name: autoscaling-sample spec: elasticsearchRef: name: elasticsearch-sample policies: - name: di roles: ["data", "ingest" , "transform"] ## Autoscaling deciders (https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-deciders.html) come with ## default settings. Uncomment the lines below to adjust the deciders settings. #deciders: ## 'proactive_storage' is only provided as an example, each role comes with specific individual autoscaling deciders. # proactive_storage: # forecast_window: 5m resources: nodeCount: min: 3 max: 8 cpu: min: 2 max: 8 memory: min: 2Gi max: 16Gi storage: min: 64Gi max: 512Gi - name: ml roles: - ml resources: nodeCount: min: 1 max: 9 cpu: min: 1 max: 4 memory: min: 2Gi max: 8Gi storage: min: 1Gi max: 1Gi --- apiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata: name: elasticsearch-sample spec: version: 8.17.0 nodeSets: - name: master count: 3 podTemplate: spec: containers: - name: elasticsearch # Specify both limits and requests to benefit from the desired nodes API / Elasticsearch resources aware management. resources: limits: memory: 4Gi cpu: 2 config: node: roles: [ "master" ] store.allow_mmap: false - name: di config: node: roles: [ "data", "ingest", "transform" ] store.allow_mmap: false - name: ml config: node: roles: [ "ml" ] store.allow_mmap: false