Deployment options on Kubernetes/OpenShift
There are different ways to activate Dynatrace on Kubernetes. Each way has its own advantages. We recommend these deployment strategies in terms of feature completeness and lack of constraints.
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. For migration instructions, see Migrate from OneAgent Operator to Dynatrace Operator on Kubernetes/OpenShift.
Classic full-stack injection
recommendedFor the installation guide, see Set up Kubernetes monitoring.
Note: If you prefer to use Helm, see Set up Kubernetes/OpenShift monitoring with Helm.
Dynatrace Operator manages classic full-stack injection after the following resources are deployed.
- OneAgent, deployed as a DaemonSet, collects host metrics from Kubernetes nodes. It also detects new containers and injects OneAgent code modules into application pods.
- Dynatrace Kubernetes monitor collects cluster and workload metrics, events, and status from the Kubernetes API.
Note: Classic full-stack injection requires write access from the OneAgent pod to the Kubernetes node filesystem in order to detect and inject into newly deployed containers.
Cloud-native full-stack injection
For the installation guide, see Set up Kubernetes monitoring.
Note: If you prefer to use Helm, see Set up Kubernetes/OpenShift monitoring with Helm.
Dynatrace Operator manages cloud-native full-stack injection after the following resources are deployed.
-
OneAgent, deployed as a DaemonSet, collects host metrics from Kubernetes nodes.
-
Dynatrace webhook server modifies pod definitions to include Dynatrace code modules for application observability.
-
Dynatrace CSI driver deployed as a DaemonSet provides OneAgent binaries to pods.
-
Dynatrace Kubernetes Monitoring collects cluster and workload metrics, events, and status from the Kubernetes API.
Application-only injection
You can use the application-only injection strategy for application pods. You don't install OneAgent pods and can't collect host metrics from Kubernetes nodes. You can collect alternative node metrics from other sources such as Prometheus.
Note: Unless you're using the useCSIDriver
parameter (preview release), this deployment strategy requires extra ephemeral storage:
- ~325 MB for glibc
- ~290 MB for musl
- ~650 MB for glibc and musl combined
There are three types of application-only injection.
Automatic application-only injection
For the installation guide, see Automatic application-only injection.
Note: If you prefer to use Helm, see Set up Kubernetes/OpenShift monitoring with Helm.
Dynatrace Operator manages automatic application-only injection after the following resources are deployed.
- Dynatrace Kubernetes monitor collects cluster and workload metrics, events, and status from the Kubernetes API.
- Dynatrace webhook server modifies pod definitions to include Dynatrace code modules for application observability.
Pod runtime injection
For the installation guide, see Pod runtime injection.
Container build-time injection
For the installation guide, see Container build-time injection.
Classic manual full-stack injection
You can use the classic manual full-stack injection strategy for manual deployment of OneAgent DaemonSet and Kubernetes API without Dynatrace Operator.