Download PDF
Download page Target Allocator.
Target Allocator
The Target Allocator is designed for large cluster environments. A cluster is considered large if it needs multiple Cluster Agents to monitor a single Cluster.
With Target Allocator, you can specify the number of Cluster Agent replicas required to monitor a single cluster effectively. When you enable the Target Allocator, you can have multiple replicas of Cluster Agent as part of the same installation.
If you already have a Cluster Agent instance with Target Allocator in the same cluster, you cannot create another separate instance of Cluster Agent. Instead, you can add replicas and upgrade the existing Cluster Agent instance.
Key Features
When you enable Target Allocator, you ensure simple, efficient, and scalable monitoring of large Kubernetes clusters.
The Target Allocator helps in:
- Simplified monitoring: simplifies the monitoring of large clusters. The Target Allocator creates the specified number of replicas of the Cluster Agent.
- Auto-allocation: auto-allocates namespaces to Cluster Agent replicas. The allocation of namespaces is based on the number of pods in each monitored namespace.
- Aggregation: aggregates the data and reports to the Controller. The Target Allocator creates groups of namespaces for each Cluster Agent replica. The data from all the Cluster Agent replicas are displayed under the same cluster on the Controller UI.
- Auto-scaling: automatically scales up the replicas required to monitor a single cluster. To auto-scale the replicas, you must configure the parameters in the YAML file during Installation. The replicas are created based on the default profile with
1550
mi memory and3750
m CPU to monitor2500
pods.Auto-scaling is disabled by default. You can enable it using the
targetAllocator.autoScaling.enabled
parameter in the YAML configuration file.
Installation
The Target Allocator uses the same image as the Cluster Agent. You can decide to specify the required number of replicas or use auto-scaling. During auto-scaling the Target Allocator automatically identifies the number of required replicas.
To set up the Target Allocator, specify the number of replicas or autoscaling parameters as mentioned in the following sample YAML file during the Cluster Agent installation:
With Auto-Scaling
If you are using auto-scaling, use the following parameters under the auto-scaling section of the Target Allocator:
Parameter | Description | Default Value |
---|---|---|
enabled | Specify this to enable Target Allocator. | true |
replicaProfile | The profile to be used. Currently, only the Default profile is available. The Default profile uses the 1550mi memory and 3750m CPU to monitor 2500 pods. | Default |
maxClusterAgentReplicas | Specify the maximum number of replicas that you require to auto-scale. | N/A |
scaleDown | Specify the Scale-down may result in the metrics drop. By default, this parameter is disabled. | Optional |
This is the sample YAML file:
spec:
…
appName: "my-cluster"
nsToMonitorRegex: ".*"
instrumentationMethod: "None"
containerAppCorrelationMethod: "none"
targetAllocator:
enabled: true
autoScaling
enabled: true
replicaProfile: Default
maxClusterAgentReplicas: 12
scaleDown:
stabilizationWindowSeconds: 86400 #In Seconds
Without Auto-Scaling
Parameter | Description | Default Value |
---|---|---|
enabled | Specify this to enable Target Allocator. | true |
clusterAgentReplicas | The number of cluster Agent replicas. Set the number of replicas based on your requirements. See Cluster Agent Requirements and Supported Environments. If auto-scaling is enabled, this value is ignored. | 3 |
This is the sample YAML file:
spec:
…
appName: "my-cluster"
nsToMonitorRegex: ".*"
instrumentationMethod: "None"
containerAppCorrelationMethod: "none"
targetAllocator:
enabled: true
clusterAgentReplicas: 3
For more information about requirements, see Cluster Agent Requirements and Supported Environments.
For details about installing Cluster Agent with replicas, see: