Architecture & Components
System Overview
ScaleOps is deployed as a self-contained platform that operates entirely within your Kubernetes cluster. The system consists of multiple microservices deployed as Kubernetes Deployments within a dedicated namespace (scaleops-system).
The following diagram illustrates the high-level architecture and data flow of the ScaleOps platform.
Core Components
scaleops-recommender
The Recommender service is the central intelligence engine of the ScaleOps platform. It continuously analyzes per-workload resource utilization metrics and applies user-defined resource allocation policies to generate optimal resource recommendations.
scaleops-dashboards
The Dashboard service provides the primary user interface for policy management and workload automation configuration. The service authenticates users through external authentication tokens and executes cluster operations with full administrative privileges, ensuring complete control over the authentication context.
scaleops-admissions
The Admissions Controller is responsible for implementing resource optimization recommendations by modifying workload resource requirements during pod creation. The controller operates exclusively on pods that have been explicitly authorized for automation by authenticated users.
scaleops-updater
The Updater service identifies pods requiring resource allocation updates and orchestrates the scheduling of these updates to ensure optimal resource utilization across the cluster.
scaleops-agent
The Agent service monitors pod creation events and initiates recommendation generation for newly created workloads, ensuring immediate optimization for new deployments.
scaleops-healthcheck
ScaleOps implements comprehensive health monitoring through periodic health check pods. These checks validate the functionality of all platform components, including admission controller operations, and detect potential issues such as webhook downtime or network connectivity problems.
Label Management
ScaleOps applies specific labels to manage pods within the cluster. For environments with policy enforcement tools such as OPA or Kyverno, ensure that these labels are permitted by your existing policies. All ScaleOps labels are prefixed with scaleops.sh/ to prevent conflicts with other labeling systems.