The Aperture Agent is the decision executor of the Aperture system. In addition to gathering data, the Aperture Agent functions as a gatekeeper, acting on traffic based on periodic adjustments made by the Aperture Controller. Specifically, depending on feedback from the Controller, the agent will effectively allow or drop incoming requests. Further, supporting the Controller, the agent works to inject information into traffic, including the specific traffic-shaping decisions made and classification labels which can later be used for observability and closed loop feedback.
All the configuration parameters for the Aperture Agent are listed here.
The Aperture Agent can be installed in the following modes:
Upgrading from one of the installation modes below to the other is discouraged and can result in unpredictable behavior.
The Aperture Agent can also be installed with only namespace-scoped resources.
The Aperture Agent can be installed using the Kubernetes Operator available for it.info
This method requires access to create cluster level resources such as ClusterRole, ClusterRoleBinding, CustomResourceDefinition and so on.
Use the Namespace-scoped Installation if you do not want to assign the cluster level permissions.
The Aperture Agent can be installed as a Kubernetes DaemonSet, where it will get deployed on all the nodes of the cluster.
The Aperture Agent can also be installed as a Sidecar. In this mode, whenever a new pod is started with required labels and annotations, the agent container will be attached with the pod.
The Aperture Agent can be installed as a system service on any Linux system that is supported.
The Aperture Agent can also be installed on Docker as containers.
Self-Hosted Aperture Controller
When using the self-hosted Aperture Controller instead of the Aperture Cloud
Controller, you need to turn off the
enable_cloud_controller flag and
configure Controller, etcd and Prometheus endpoints directly, for example:
- aperturectl or helm
- Docker or Bare Metal
The values above assume that you have installed the
Aperture Controller on the same
default namespace, with etcd and Prometheus using
release name. If your setup is different, adjust these endpoints accordingly.
You might need to adjust the endpoints, depending on your exact setup.
If you're not using Aperture Cloud, simply remove the