The agent group is a versatile label that defines a collection of Agents operating as peers. It serves as a means to organize and manage Agents within Aperture. The agent group can be associated with different entities based on the deployment mode of the Agents.
In sidecar mode, it is recommended to name the agent group based on the service. This approach establishes a unified agent group for all pods within the service. For example, all pods within the 'Checkout' service can be defined under the same agent group.
In DaemonSet mode, the agent group name is typically based on the Kubernetes cluster name. This ensures that all Agents deployed on each node of the cluster belong to the same agent group.
The agent group can be configured during Agent installation. Refer to the agent config for more details.
Benefits of Agent Group
Efficient Management: Agent groups facilitate the efficient management of multiple Agents within complex environments, such as sidecar or multi-cluster installations. They enable scaling of Aperture configuration to meet the demands of intricate setups.
State Synchronization: An agent group defines the scope of agent-to-agent synchronization. Agents within the same group form a peer-to-peer network to synchronize fine-grained per label counters. These counters are crucial for rate-limiting and for implementing global token buckets used in quota scheduling. Additionally, all Agents within an agent group instantiate the same set of flow control components as defined in the policies running at the Controller. This ensures consistent behavior and synchronization across the group.