Safeguard
Security Guides•

Does a new admission policy affect pods that are already running?

A new Kubernetes admission policy checks create and update requests, so running pods are not evicted. Learn what it does touch and how to audit the rest.

Safeguard Security Team
4 min read

No. A new Kubernetes admission policy is evaluated when someone creates, updates or deletes an object, so pods that are already running keep running. The policy bites later, when a Deployment is edited or a pod is recreated. That gap is why a freshly enforced policy can look like it does nothing.

What admission control actually sees

Admission is a step in the API request path. The Kubernetes documentation says admission controllers apply to requests that create, delete or modify objects, and that they cannot block reads such as get, watch or list. Nothing in that description reaches into the node and stops a container that is already up.

So the question to ask is not "which pods break" but "which requests will now be refused". A policy that rejects images from an unapproved registry will refuse the next create or update that names one. A pod that has been running for months from that registry is untouched until something changes it.

When old workloads meet the new rule

A running workload meets the policy at the next event that sends a request to the API server. Common triggers:

EventDoes the policy run?
Pod is recreated by a controller after a node drain or crashYes, the new pod is admitted fresh
Deployment pod template edited, new rolloutYes, new pods are created
Deployment scaled up or downNew pods are admitted, but scaling alone does not change the template
Existing pod keeps runningNo new request, no evaluation
Someone reads the object with kubectl getNo, reads bypass admission

The Deployment documentation adds a useful detail: a rollout is triggered if and only if the pod template changes, and scaling does not create a new revision. That means a Deployment can sit untouched for a long time and never be evaluated, then fail on the first routine edit. Teams call this a surprise outage. It is really a deferred finding.

How to find the workloads that would fail

You do not have to wait for the surprise. The ValidatingAdmissionPolicy binding supports validation actions, and the documentation lists Deny, Warn and Audit. Audit puts the failure into the audit event for the API request, and Warn returns a warning to the client.

  1. Bind the new policy with Warn and Audit first, not Deny.
  2. Run a dry run of your existing manifests against the cluster so the policy evaluates them without changing anything.
  3. Read the warnings and the audit annotations, and list every workload that would be refused.
  4. Fix or deliberately except each one, with an owner and a date.
  5. Switch the binding to Deny once the list is empty.

If you use the built-in Pod Security admission, the same idea applies at namespace level through the audit and warn modes, which the documentation describes alongside enforce.

Retrofit what is already running

Admission is a gate for change, not an inventory. For what is already deployed, you need a separate sweep: list live objects, run the same rules against them, and track the gap until it closes. Some policy engines can report on existing resources in the background, but check the documentation for the tool you use before relying on that.

Where Safeguard fits

Safeguard's policies, gates and guardrails apply rules at the points where code and dependencies change, and its SBOM and dependency scanning gives you the inventory to check what is already shipped. You can try a free scan on a project to see what a first sweep looks like.

Quick check

Will enforcing a policy kill my running pods?

No. The policy runs on create, update and delete requests. Running pods are only evaluated when something recreates or changes them.

Why did a deploy fail months after we added the policy?

The Deployment was never evaluated until its pod template was edited. The first edit sent a new request through admission and exposed the old violation.

What is the safest way to roll out a new policy?

Bind it with Warn and Audit, collect the list of would-be failures, fix them, then switch to Deny.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.