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.
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.
KubeDB
concepts:The Auto Scaling process consists of the following steps:
At first, a user creates an Elasticsearch
Custom Resource Object (CRO).
KubeDB
Community operator watches the Elasticsearch
CRO.
When the operator finds an Elasticsearch
CRO, it creates required number of StatefulSets
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 an ElasticsearchAutoscaler
CRO with desired configuration.
KubeDB
Autoscaler operator watches the ElasticsearchAutoscaler
CRO.
KubeDB
Autoscaler operator creates required number of Vertical Pod Autoscaler VPA for different components of the database, as specified in the elasticsearchautoscaler
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 an ElasticsearchOpsRequest
CRO to scale the database to match the recommendation provided by the VPA object.
KubeDB
Enterprise operator watches the ElasticsearchOpsRequest
CRO.
Then the KubeDB
Enterprise operator will scale the database component vertically as specified on the ElasticsearchOpsRequest
CRO.
In the next docs, we are going to show a detailed-guide on Autoscaling of various Elasticsearch database components using ElasticsearchAutoscaler
CRD.