Conductor agent
The Conductor agent is responsible for monitoring the Dapr control plane in the connected cluster. It will also fully manage the control plane if you have configured Conductor to handle operational tasks.
The agent is comprised of two Kubernetes resources:
- The
diagrid-agent
Deployment which runs theagent
container, responsible for managing the Dapr control plane, and theotel
metrics collector container, responsible for collecting metrics from the Dapr control plane and the Dapr applications running in the cluster. - The
diagrid-agent-logs-collector
Daemonset which runs theotel
logs collector container, responsible for collecting logs from the Dapr sidecars in the cluster.
Configure Conductor agent
Configuring the Conductor Agent deployment is only available in Conductor Enterprise.
It is strongly recommended to enable auto-upgrades for the agent to ensure it stays up-to-date. Should you opt out of automatic agent upgrades, you will be responsible for upgrading the agent manually as needed.
The following Advanced Agent Configuration
settings can be customized when configuring the Conductor agent for your cluster.
If you are onboarding a cluster with ARM-based machines, or a combination of ARM and x86 nodes, you likely need to apply a specific set of tolerations and node selectors. See Install Conductor on ARM Cluster
Request/Limits
The diagrid-agent
Deployment and diagrid-agent-logs-collector
DaemonSet both have CPU and memory requests set for all containers. The default values were developed based on profiling tests results and should not be changed for most use cases.
If necessary:
- Default requests can be customized using the Diagrid Conductor CLI
- CPU and memory limits can be set or updated using the Conductor console
Node selectors
Set Kubernetes node selectors on either the diagrid-agent
Deployment or the diagrid-agent-logs-collector
DaemonSet.
Conductor is only supported on Linux nodes.
Tolerations
Kubernetes tolerations can be set on both the diagrid-agent
Deployment and the diagrid-agent-logs-collector
DaemonSet to ensure that they are running on the desired tainted nodes.
Two default tolerations are applied on the diagrid-agent-logs-collector
DaemonSet so logs can be collected from apps running on designated master or control plane nodes. These tolerations can be deleted or updated if necessary.
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
Install Conductor agent
In order to onboard a cluster after the above connection settings have been configured, a Kubernetes installation command is generated and must be executed against the target cluster's Kubernetes API server.
The configuration generated by the cluster connection creation process should only be applied to one Kubernetes cluster. A new cluster connection should be created for each cluster you want to onboard. See FAQ for more insight.
After the installation command is run on your target cluster, the Conductor agent should be running in the diagrid-cloud
namespace and the cluster connection should show up momentarily on the dashboard.
Monitor Conductor agent
To view the ongoing health and status of the cluster agent, status logs are provided which can be accessed by clicking the Agent status for a given cluster connection in the Cluster List
view.