Scale Store is a microservices suite designed to simplify the management of scaling configurations for applications within Kubernetes environments. It offers a user-friendly interface to control the number of instances for each application, making it particularly useful in environments with predictable load patterns such as small government projects, internal company tools, and sandbox development environments. Scale Store’s intuitive UI eliminates the need for direct manipulation of Kubernetes YAML files, streamlining the scaling process.
Scale Store operates in conjunction with Kubernetes and KEDA. It is designed to be easily integrated into a Kubernetes cluster with KEDA installed. Once deployed using a Helm chart, Scale Store becomes the central hub for scaling configurations.
graph TD
A[Kubernetes Cluster] -->|KEDA Installed| B(Scale Store)
B -->|Manages Scaling Configurations via UI| C{Scaler Schema}
C --> D[Project]
C --> E[Environment]
C --> F[Application]
D --> G[Scaling Configuration]
E --> G
F --> G
G -->|Determines| H[Number of Instances]
H -->|Informs| I[KEDA Scaled Object]
I -->|Attaches to| J[Deployment - Your Microservice]
get_number_of_instances
stored procedure, replacing the need for manual query configurations in YAML.apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: authorization-service
spec:
scaleTargetRef:
name: authorization-service
pollingInterval: 10 # Optional
cooldownPeriod: 30 # Optional
maxReplicaCount: 10 # Optional
triggers:
- type: postgresql
metadata:
connectionFromEnv: AUTH_SERVICE_DB_CONNECTION
query: "SELECT get_number_of_instances('authorization-service', 'project-name', 'dev-environment')"
targetQueryValue: "1"
https://github.com/users/josephaw1022/projects/19/views/1