Skip to content

Azure proxy agent blocks k8s workloadΒ #295

@ljqqqqq

Description

@ljqqqqq

We noticed that the latest Canonical Ubuntu images (22.04 & 24.04, x86_64 & arm64, version 24.04.202512100) now ship with azure-proxy-agent installed and enabled by default. In our Kubernetes environments, this appears to interfere with normal pod networking, specifically affecting CoreDNS and eBPF-based CNI (Cilium).

It prevents coredns pod from accessing IMDS endpoint so the pods fail to become Ready
Image
We also observed that azure-proxy-agent directly attaches an eBPF program to the root cgroup (/sys/fs/cgroup). This conflicts with Cilium, which expects to manage cgroup eBPF hooks itself.
Image
Image

This is reproducible on a minimal Kubernetes cluster with no additional components installed.

We understand that this behavior may be by design for IMDS protection. However, the current default behavior appears intrusive for Kubernetes workloads. From the documentation, it seems that azure-proxy-agent is part of the implementation of MSP (Metadata Security Protocol). Questions:

  1. Is azure-proxy-agent expected to be active even when the MSP extension is not installed?
    In our testing, not installing the extension does not stop the agent from intercepting traffic.
  2. When the MSP extension is installed and IMDS mode is set to disabled, what is the expected behavior?
    On an x86 Linux VM, even after disabling IMDS via the extension and restarting core-dns by rollout restart, CoreDNS traffic is still blocked.
  3. Is there a supported way to exempt Kubernetes / CNI-managed pods (e.g. CoreDNS, Cilium) from IMDS interception?
    We are aware of allowlist-based configurations, but they appear too fine-grained for typical customer Kubernetes workloads.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions