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 a
Elasticsearch
Custom Resource Object (CRO).KubeDB
Provisioner operator watches theElasticsearch
CRO.When the operator finds a
Elasticsearch
CRO, it creates required number ofPetSets
and related necessary stuff like secrets, services, etc.Then, in order to set up autoscaling of the various components of the
Elasticsearch
database the user creates aElasticsearchAutoscaler
CRO with desired configuration.KubeDB
Autoscaler operator watches theElasticsearchAutoscaler
CRO.KubeDB
Autoscaler operator generates recommendation using the modified version of kubernetes official recommender for different components of the database, as specified in theElasticsearchAutoscaler
CRO.If the generated recommendation doesn’t match the current resources of the database, then
KubeDB
Autoscaler operator creates aElasticsearchOpsRequest
CRO to scale the database to match the recommendation generated.KubeDB
Ops-manager operator watches theElasticsearchOpsRequest
CRO.Then the
KubeDB
Ops-manager operator will scale the database component vertically as specified on theElasticsearchOpsRequest
CRO.
In the next docs, we are going to show a step-by-step guide on Autoscaling of various Elasticsearch database components using ElasticsearchAutoscaler
CRD.