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 ConfigurationRecommended Configuration
# InstancesPer Instance# InstancesPer Instance
Heimdall
(Orchestrator)
Orchestrator that connects to the Synthetic Cloud to fetch measurement jobs for the PSA cluster.
1Processor: 2 vCPU
Memory: 4 GB RAM
2Processor: 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).
1Processor: 2 vCPU
Memory: 4 GB RAM
1Processor: 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: