When deploying Java applications to be monitored by Universal Monitoring Agent (UMA), the default auto-attach behavior causes already running application pods to restart. For high-availability or sensitive production workloads, these restarts even when handled gracefully by Kubernetes are undesirable.
When UMA is configured with agentSidecarEnabled: true, it uses the Sidecar AutoAttach method:
How it works: After a successful attach, the UMA operator updates the workload specification, creating a new deployment revision.
The impact: Kubernetes detects the new revision and initiates a standard Rolling Update. While this ensures zero-downtime from a traffic perspective, it forces background pod restarts to roll out the updated spec.
To prevent pod restarts while retaining UMA instrumentation, switch UMA to use Dynamic AutoAttach (Live JVM Attach API).
Update configuration by editing values.yaml and reload configuration:
Modify your UMA configuration parameters to disable the sidecar approach:
agentSidecarEnabled: false
How it works orks:
Disabling the sidecar prevents UMA from modifying the underlying Deployment revision, stopping Kubernetes from triggering a Rolling Update.
Instead, UMA will utilize the native Live JVM Attach API to dynamically hook into the running Java process directly inside the existing pod achieving monitoring coverage with zero pod restarts.