Skip to main content

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 the agent container, responsible for managing the Dapr control plane, and the otel 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 the otel logs collector container, responsible for collecting logs from the Dapr sidecars in the cluster.

Configure Conductor agent

Note

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.

agent

The following Advanced Agent Configuration settings can be customized when configuring the Conductor agent for your cluster.

Important

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

requests/limits

Node selectors

Set Kubernetes node selectors on either the diagrid-agent Deployment or the diagrid-agent-logs-collector DaemonSet.

Important

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.

Edit

Important

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.

list