How does OneAgent Operator work?
Dynatrace OneAgent Operator registers as a controller that watches for resources of type
OneAgent as defined by a 'CustomResourceDefinition'. This allows you to define a configuration that corresponds to your OneAgent deployment.
By loading the configuration into Kubernetes or OpenShift, the configuration is automatically passed to the custom controller which ensures the rollout of OneAgent based on your specifications.
The following diagram outlines the involved components and objects.
By creating the OneAgent
CustomResource entity in Kubernetes, the object is automatically passed to Dynatrace OneAgent Operator.
First, it’s being determined if a corresponding DaemonSet already exists. If not, Dynatrace OneAgent Operator creates a new one. The DaemonSet is responsible for rolling out OneAgent to selected nodes.
Further, OneAgent Operator constantly queries the Dynatrace API to check if a new version for a given deployment is available. In the event of a pending update, all pods belonging to a certain custom resource that don’t have the updated version are being recycled in order to pick up the latest drivers.
This reconciliation loop constantly revises the actual state with the desired state and takes appropriate actions when needed.