This guide describes how the different storage volumes are used by Dynatrace Operator.
The following table shows the storage requirements of Dynatrace Operator deployment modes.
| Deployment type | CSI driver disabled | CSI driver enabled |
|---|---|---|
| 2 GB for OneAgent configuration and binaries on the node root filesystem | N/A |
| 2 GB for OneAgent configuration and binaries on the node root filesystem | 2 GB for OneAgent configuration and binaries in the kubelet root directory |
| 1 GB per monitored pod from local ephemeral storage (for example, kubelet root directory) | 1 GB per tenant and running OneAgent version in the kubelet root directory 0.1 GB per injected pod from local ephemeral storage (for example, kubelet root directory) |
| Combination of | Combination of |
The kubelet root directory is the central storage location for all directories required by the CSI driver. Allocate approximately 30 GB for the kubelet directory to cover all Dynatrace-related storage requirements.
These numbers should be increased for volatile environments and can be decreased for environments with disk space monitoring.
Depending on your setup, the kubelet root directory might not be located in /var/lib/kubelet.
| Volume name | Path on the host | Permissions | Purpose | Sizing recommendation |
|---|---|---|---|---|
|
| Read-write necessary | Stores node information | N/A |
|
| Read-write necessary | Contains the CSI driver "registration" socket. This socket allows the registrar to use it to register the CSI driver. | 10 MB |
|
| Read-write necessary | Stores all files required for the CSI driver's operation. | See plugin directory directory disk usage for all factors that influence storage consumption. |
Contains the CSI driver components and enables kubelet to interact with the driver for operations like health checks.
Storage usage depends on your environment:
If OneAgent is monitoring the host additional storage is consumed.
| Component | Disk usage | Notes |
|---|---|---|
| OneAgent | 5 GB | Essential for OneAgent functionality. |
| Code Modules | see table below 1 | |
| Runtime logs | 0.1-1 GB per pod | Logs and data generated at runtime. |
| Configuration | 20 MB per pod |
Disk usage per version is depending on the architecture. Without CSI driver the listed amount of storage is consumed per pod.
| Architecture | Disk usage |
|---|---|
| amd64 | 1.2 GB |
| arm64 | 800 MB |
| s390x | 500 MB |
| ppc64le | 500 MB |
Allows the Extension Execution Controller to store configuration, runtime data, logs, and secrets required for executing extensions.
| Volume name | Volume Type | Mount path | Purpose |
|---|---|---|---|
|
|
| Persistent volume for storing extension runtime data and state. By default, the persistent storage size is 1 GB. You can configure this value in the Look at Dynakube parameters for more information. |
|
|
| Ephemeral volume used for storing extension configuration. |
|
|
| Ephemeral volume for storing extension logs. |
Allows the SQL Extension Executor to store temporary files (for example, certificates).
| Volume name | Volume Type | Host path | Purpose |
|---|---|---|---|
|
|
| Ephemeral volume used for storing app data. |
Allows the OneAgent to persist its configuration.
| Volume name | Volume Type | Host path | Purpose |
|---|---|---|---|
|
|
| Without CSI driver configuration is written directly to the host filesystem. |
|
|
| With CSI driver no configuration is written to an ephemeral volume, instead plugin directory on the host is used to persist OneAgent configuration. |
Configurable using storageHostPath field in the Dynakube. See Dynakube parameters for more information.
These directories are specific to Dynatrace. They are injected into workloads by the Webhook and don't require user management or configuration.
| Volume name | Volume type | Purpose | Sizing recommendation |
|---|---|---|---|
|
| Stores the OneAgent binary and logs. | An Note: you can configure
|
|
| Stores the OneAgent binary and logs. | Used if CSI driver is installed. 1 |
|
| Stores configuration data and logs for the OneAgent, including custom CAs.
Stores configuration data for metadata enrichment ( | Dynatrace Operator version 1.7.0+ You can configure
The Operator puts |
Same disk usage as described in plugin directory disk usage. You can save storage by configuring the node image pull feature.
More details about the format of <size> can be found in the Kubernetes documentation.
Overview of the volume size limits for ephemeral volumes of the Dynatrace Operator components and which Helm switches can be used to configure them.
| Component | Container(s) | Volume name | Mount point | Helm value | Size limit default |
|---|---|---|---|---|---|
| dynatrace-webhook | webhook | certs-dir | /tmp/k8s-webhook-server/serving-certs | webhook.volumes.certsDir.sizeLimit | 10 Mi |
There are no default values for ephemeral storage resource configuration. They can be configured using the Helm switches shown in the following table:
| Component | Container(s) | Helm value |
|---|---|---|
dynatrace-operator | operator |
|
dynatrace-webhook | webhook |
|
dynatrace-csi-driver | init |
|
dynatrace-csi-driver | provisioner |
|
dynatrace-csi-driver | server |
|
dynatrace-csi-driver | registrar |
|
dynatrace-csi-driver | livenessprobe |
|
codemodule-download-<hash> | codemodule-download |
|
The Helm switches can be used in a custom values.yaml file to control the limits during Operator install with the Helm chart.