Migrate from OneAgent Operator to Dynatrace Operator
Understand and configure the DynaKube custom resource
The DynaKube custom resource (CR) replaces the OneAgent custom resource. The DynaKube CR follows the "don't repeat yourself" (DRY) principle to deploy a number of different components to your Kubernetes cluster.
Each section includes an illustration of the differences between the two custom resources, what changes from the old custom resource to the new one (marked with green), and what stays the same in both custom resource (marked with blue).
Changing operators will change the host ID calculations for monitored hosts, which will lead to monitoring anomalies in the Dynatrace UI.
Classic full-stack migration
Follow the instructions below to migrate from OneAgent Operator to Dynatrace Operator for classic full-stack injection.
Global parameters (spec
)
The following settings are global, shared by every component, and located under spec
.
-
apiUrl
-
tokens
1 -
skipCertCheck
-
proxy
-
trustedCAs
-
networkZone
-
customPullSecret
-
enableIstio
Tokens must point to an existing secret.
ClassicFullStack parameters (.spec.oneAgent.classicFullStack
)
A new section for the full-stack OneAgent is located at .spec.oneAgent.classicFullStack
:
This was disableAgentUpdate
in the OneAgent CR. The values are flipped for this field: disableAgentUpdate: true
means autoUpdate: false
. The default is still to enable automatic updates.
This was agentVersion
in the OneAgent CR.
All the other OneAgent parameters (such as tolerations, arguments, DNS, and resource settings) are also located in the .spec.oneAgent.classicFullStack
section and are unique to the full-stack installation.
Application-only migration
Follow the instructions below to migrate from OneAgent Operator to Dynatrace Operator for automatic application-only injection.
Global parameters (spec
)
The following settings are global, shared by every component, and located under spec
.
-
apiUrl
-
tokens
1 -
skipCertCheck
-
proxy
-
trustedCAs
-
networkZone
-
customPullSecret
-
enableIstio
Tokens must point to an existing secret.
ApplicationMonitoring parameters (.spec.oneAgent.applicationMonitoring
)
A new section for the full-stack OneAgent is located at .spec.oneAgent.applicationMonitoring
:
This was agentVersion
in the OneAgent CR.
This new parameter will deliver binaries to pods automatically and eliminate storage requirements on pods. This is in preview only and defaults to false
.
The image
parameter is no longer available. The functionality will be reintroduced in future. For now, all pods download from the API URL.
ActiveGate migration
As of OneAgent version 1.231, containerized ActiveGates can run multiple capabilities in the same container. The ActiveGate migration works automatically, but to take advantage of this functionality you have to make some changes manually.
Basic functionality
The DynaKube API v1alpha1 is automatically migrated to DynaKube API v1beta1:
This way you get two pods with a single capability each.
Full functionality
After migration, you need to make the following conversion in the DynaKube custom resource manually:
This way you get multiple capabilities in the same pod.
Global parameters (spec
)
The following settings are global, shared by every component, and located under spec
.
-
image
-
tolerations
-
nodeSelectors
-
resources
-
labels
-
group
-
customProperties
-
env
ActiveGate parameters (.spec.activegate.capabilities
)
A new section for the full-stack OneAgent is located at .spec.activegate.capabilities
and can be set to
-
routing
-
Kubernetes-monitoring
The enabled:true
parameter is no longer available.
Conversion webhook
A webhook automatically converts the v1alpha1 routing
/kubernetesMonitoring
into the v1beta1 routing
/kubernetesMonitoring
sections. Any changes to resource
, tolerations
, or other parameters in the new combined ActiveGate section needs to be done manually.
Migrate from OneAgent Operator to Dynatrace Operator
You can migrate from the deprecated OneAgent Operator to the new Dynatrace Operator that manages the lifecycle of several Dynatrace components such as OneAgent, routing, and Kubernetes API Monitor. Additional components will be added as new observability features become available.
Select one of the following options, depending on your deployment methods.
Manifest
Helm
Migrate Manifests
-
Delete OneAgent Operator and the
dynatrace
namespace/project.kubectl delete -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/download/<dto-version>/kubernetes.yaml kubectl delete namespace dynatrace
-
Delete OneAgent Operator and the
dynatrace
namespace/project.oc delete -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/download/<dto-version>/openshift.yaml oc delete project dynatrace
Migrate with Helm
-
Remove OneAgent Operator, the Helm repository, and the
dynatrace
namespace/project.helm uninstall dynatrace-oneagent-operator kubectl delete -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/download/v0.13.0/dynatrace.com_oneagentapms.yaml kubectl delete -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/download/v0.13.0/dynatrace.com_oneagents.yaml helm repo remove dynatrace kubectl delete namespace dynatrace
-
Remove OneAgent Operator, the Helm repository, and the
dynatrace
namespace/project.helm uninstall dynatrace-oneagent-operator oc delete -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/download/v0.13.0/dynatrace.com_oneagentapms.yaml oc delete -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/download/v0.13.0/dynatrace.com_oneagents.yaml helm repo remove dynatrace oc delete project dynatrace