A newer version is available. For the latest information, see the
current release documentation.
Autoscaling stateless applications
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Autoscaling stateless applications
editThis section only applies to stateless applications. See Elasticsearch autoscaling for more details about scaling automatically Elasticsearch.
The Horizontal Pod Autoscaler can be used to automatically scale the deployments of the following resources:
- Kibana
- APM Server
- Enterprise Search
- Elastic Maps Server
These resources expose the scale subresource which can be used by the Horizontal Pod Autoscaler controller to automatically adjust the number of replicas according to the CPU load or any other custom or external metric. The example below shows how to create an HorizontalPodAutoscaler resource to adjust the replicas of a Kibana deployment according to the CPU load:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: elasticsearch-sample
spec:
version: 8.19.8
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false
---
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana-sample
spec:
version: 8.19.8
count: 1
elasticsearchRef:
name: "elasticsearch-sample"
podTemplate:
spec:
containers:
- name: kibana
resources:
requests:
memory: 1Gi
cpu: 1
limits:
memory: 1Gi
---
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: kb
spec:
scaleTargetRef:
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
name: kibana-sample
minReplicas: 1
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50