<p>I have the following deployment yaml</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: pressbrief
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app-pressbrief
  template:
    metadata:
      labels:
        app: app-pressbrief
    spec:
      containers:
</code></pre>
<p>I use the following command to run the deployment</p>
<pre><code>kubectl apply -f deployment.yaml
deployment.apps/pressbrief created
</code></pre>
<p>now if I change something in the containers template and run it again</p>
<pre><code>kubectl apply -f deployment.yaml
deployment.apps/pressbrief configured
</code></pre>
<p>I'll now see two pods running instead of one. I'd expect that since it's the same deployment, <strong>the old pod should be terminated, but it isn't</strong>. Perhaps it's important to mention that the old pod is in a &quot;crash-loop&quot; state (hence the reason I'm updating it).</p>

Mike
<p>You need to change your update Strategy if you are using RollingUpdate it will wait for the new pod to be in Ready State till it starts terminating the first. Use Recreate for update it will terminate the pod first then create the new one</p>
