You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
New to KubeDB? Please start here.
Elasticsearch Compute Resource Autoscaling
This guide will give an overview on how the KubeDB Autoscaler operator autoscales the database compute resources i.e. cpu
and memory
using elasticsearchautoscaler
crd.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Compute Autoscaling Works
The Auto Scaling process consists of the following steps:
At first, a user creates an
Elasticsearch
Custom Resource Object (CRO).KubeDB
Community operator watches theElasticsearch
CRO.When the operator finds an
Elasticsearch
CRO, it creates required number ofStatefulSets
and related necessary stuff like secrets, services, etc.Then, in order to set up autoscaling of the various nodes (ie. master, data, ingest, etc.) of the
Elasticsearch
database the user creates anElasticsearchAutoscaler
CRO with desired configuration.KubeDB
Autoscaler operator watches theElasticsearchAutoscaler
CRO.KubeDB
Autoscaler operator creates required number of Vertical Pod Autoscaler VPA for different components of the database, as specified in theelasticsearchautoscaler
CRO.Then
KubeDB
Autoscaler operator continuously watches the VPA objects for the recommendation.If the VPA generated recommendation doesn’t match the current resources of the database, then the
KubeDB
Autoscaler operator creates anElasticsearchOpsRequest
CRO to scale the database to match the recommendation provided by the VPA object.KubeDB
Enterprise operator watches theElasticsearchOpsRequest
CRO.Then the
KubeDB
Enterprise operator will scale the database component vertically as specified on theElasticsearchOpsRequest
CRO.
In the next docs, we are going to show a detailed-guide on Autoscaling of various Elasticsearch database components using ElasticsearchAutoscaler
CRD.