Download PDF
Download page Private Synthetic Agent (Linux Based Agent in Kubernetes Container).
Private Synthetic Agent (Linux Based Agent in Kubernetes Container)
This page describes the hardware components required for the Private Synthetic Agent (PSA) to run on the Kubernetes (K8S) cluster.
For the old Windows-based Synthetic Private Agent, see Synthetic Private Agent Deployment.
Linux-based PSA supports these platforms:
- SaaS Controllers
- On-premises Controller >=21.4.1 with on-premise Synthetic Server >=21.4.1
- Python >=3
- Chrome browser
- Postgres 12
Linux-based PSA on Google Cloud Platform is not supported with an on-premise Synthetic server.
Prerequisites
- Kubernetes cluster version from 1.15 to 1.18
- License units (SaaS and On-Premise):
- Browser Synthetic Monitoring - Private Agent - Per Location
- Browser Synthetic Monitoring - Private Agent - Unlimited Locations
Hardware Requirements
This table lists the hardware components and their recommended configuration:
Component | Description | Minimum Configuration | Recommended Configuration | ||
---|---|---|---|---|---|
# Instances | Per Instance | # Instances | Per Instance | ||
Heimdall (Orchestrator) | Orchestrator that connects to the Synthetic Cloud to fetch measurement jobs for the PSA cluster. | 1 | Processor: 2 vCPU Memory: 4 GB RAM | 2 | Processor: 3 vCPU Memory: 5 GB RAM |
Postgres (DB) | Database (DB) for the local storage of in-progress measurement metadata. This DB does not store any business data. Any DB data loss or crash impacts ongoing measurements only. Instead of setting up a new DB, you can use the existing Postgres DB set up with HA (High Availability) as a DB Java Database Connectivity (JDBC) URL (part of the configuration to Heimdall). | 1 | Processor: 2 vCPU Memory: 4 GB RAM | 1 | Processor: 3 vCPU Memory: 6 GB RAM |
Measurement Container | A temporary or short-lived container auto-orchestrated by Heimdall to execute every measurement. The measurement container image can be customized to install additional libraries. | Based on need, a temporary container instance is scheduled for every measurement | Burst-able CPU-RAM Min: 0.5 vCPU, 1 GB RAM Max: 1.25 CPU, 2 GB RAM | Based on need, a temporary container instance is scheduled for every measurement | Burst-able CPU-RAM Min: 0.5 vCPU, 1 GB RAM Max: 1.25 CPU, 2 GB RAM |
Number of Measurement Containers
You can calculate the number of required concurrent containers using this formula:
( (Number of Jobs) x (Average job duration in minutes) / (Frequency in minutes))
For example, the number of containers required for 10 jobs with an average duration of 30 seconds per job executed at 5-minute interval needs:
(10 x (30/60) ) / 5 ) = 1 container
Concurrent measurements
The Kubernetes cluster specifications determine the number of concurrent measurements that can be executed. Any submission of jobs beyond the infra limits leads to the queuing of jobs in the Kubernetes cluster. To scale the number of concurrent jobs automatically, enable cluster auto-scaler. K8S auto-scaler functionality depends on the cloud or the managed service provider.
To set up Private Synthetic Agent in any of these environments, see: