Deployment
RESOURCEA controller that manages the desired state of Pods and ReplicaSets
A Deployment tells Kubernetes how many replicas of your Pod should be running and handles keeping them that way. You describe the desired state, and the Deployment controller works to match it by spinning up new Pods, rolling out updates, or scaling down as needed.
When you update a Deployment (say, a new container image), it performs a rolling update by default: gradually replacing old Pods with new ones so your app stays available. If something goes wrong, you can roll back to a previous version. Under the hood, Deployments manage ReplicaSets, but you rarely interact with those directly.
Attacked and defended in
13 OFFENSIVE Cluster Reconnaissance via Prometheus RECONNAISSANCE DEFENSIVE Detecting API Server Proxy Abuse DEFENSIVE Detecting Argo Workflows Abuse via Audit Logs DEFENSIVE Detecting Data Exfiltration via Kubernetes Events DEFENSIVE Detecting Orphan Pod Masquerading via Audit Logs DEFENSIVE Detecting Permission Enumeration via Audit Logs OFFENSIVE Orphan Pod Masquerading DEFENSE EVASION OFFENSIVE Privilege Escalation via serviceaccounts/token Permission PRIVILEGE ESCALATION DEFENSIVE Restricting Prometheus Endpoint Access OFFENSIVE Rogue Static Pod Deployment PERSISTENCE DEFENSIVE Securing ArgoCD Application Access OFFENSIVE ServiceAccount Token Theft CREDENTIAL ACCESS OFFENSIVE Weaponizing ArgoCD Application PRIVILEGE ESCALATION