I have Dynatrace Managed server on-prem and also monitoring some Kubernetes on the cloud. Does Kubernetes pull the OneAgent image from Dynatrace Managed server each time an application pod is created, or is the OneAgent image cached within the Dynatrace operator?
Solved! Go to Solution.
As I know - each time. Others will correct me if I am wrong.
To reduce traffic you can upload image to Cloud repository and define image in DynaKube.yaml, but update version in that case will be manual.
IIRC the imagePullPolicy is set to always, so it will pull the image each time a pod is started, even if the image is already present.
Hi @mengsuan_koe1 ,
which deployment option are you using in your Dynakube (classic full-stack vs cloud-native full-stack; assuming you are referring to full-stack monitoring)?
Ad "each time an application pod is created":
Are you referring to the OneAgent pod (default-namespace: Dynatrace, DaemonSet) or your applications pods (in your namespaces)?
For classic full-stack, the OneAgent image is downloaded by the container runtime (namespace: dynatrace). The injection into your application pods (your namespace) does not require any additional images/bandwidth.
For cloud-native, there is a difference between the OneAgent image and the code-modules image. While the OneAgent image is downloaded by the container runtime, the code-modules image is downloaded and managed by the CSI driver. The injection of the code-modules into your application pods is again leveraging the CSI driver (CSI volume) -> no additional image downloads/bandwidth. (The init container uses the container image from the Operator which is cached by the CR).
All container images are cached by the ActiveGate on your Dynatrace managed cluster.
Hope that helps!