Kubernetes deployment overview

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.

Starting with Dynatrace Cluster version 1.215 , you can deploy full-stack OneAgents and containerized ActiveGates using Dynatrace Operator. For migration instructions, see Migrate to Dynatrace Operator.

1. Classic full-stack injection

For the installation guide, see Classic full-stack injection.

Dynatrace Operator manages the classic full-stack injection after deploying the following custom resources.

  • OneAgent pod, 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 pod collects cluster and workload metrics, events, and status from the Kubernetes API.

classic-dto

Note: Classic full-stack injection requires write access from the OneAgent pod to the Kubernetes node in order to detect and inject into newly deployed containers.

2. 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 or StatsD.

Note: 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.

2.1. Automatic application-only injection

The application-only injection strategy uses OneAgent Operator. Support for using Dynatrace Operator to handle application-only injection is in development.

For the installation guide, see Automatic application-only injection.

Dynatrace Operator manages the automatic application-only injection after deploying the following custom resources.

  • Dynatrace Kubernetes monitor pod collects cluster and workload metrics, events, and status from the Kubernetes API.
  • Dynatrace webhook pod modifies pod definitions to include Dynatrace code modules for application observability.

app-only-old

2.2. Pod runtime injection

For the installation guide, see Pod runtime injection.

pod-inj

2.3. Container build-time injection

For the installation guide, see Container build-time injection.

build-inj

3. 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.