cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How often does Kubernetes container pods pull OneAgent image from Dynatrace server?

mengsuan_koe1
Contributor

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?

4 REPLIES 4

Romanenkov_Al3x
DynaMight Champion
DynaMight Champion

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. 

 

DT_NGINX_FORCE_UNKNOWN_VERSION_INSTRUMENTATION=1

pahofmann
DynaMight Guru
DynaMight Guru

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. 

Dynatrace Certified Master, AppMon Certified Master - Dynatrace Partner - 360Performance.net

mengsuan_koe1
Contributor

That's good information! 

Well, there is a concern for the bandwidth utilization as the image will be pulled each time a pod is started. What's the approximate file size of the image?

stefan_penner
Dynatrace Helper
Dynatrace Helper

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!


https://www.dynatrace.com/news/blog/kubernetes-in-the-wild-2023/

Featured Posts