<p>I have two services:</p>

<ul>
<li>bayonetta: backend clusterIp service, replicaset=2</li>
<li>hide: frontend nodePort service, replicaset=1</li>
</ul>

<p>I ran <code>kubectl get all</code>. I see the line 3 and 4 of replicaSet section has everything as 0, why do we have those two lines when nothing is available?</p>

<pre><code>replicaset.apps/bayonetta-deployment-5b75868d89   2         2         2       3h36m
replicaset.apps/bayonetta-deployment-5c65f74c8b   0         0         0       176m
replicaset.apps/hide-deployment-575b6bc68d        0         0         0       3h12m
replicaset.apps/hide-deployment-66d955986b        1         1         1       155m
</code></pre>

<p><img src="https://i.stack.imgur.com/gegCk.png" alt="enter image description here"></p>

<p>You probably updated your <code>Deployments</code>, which results in scaling up new <code>ReplicaSets</code> and scaling down the existing ones.  See the Kubernetes docs <a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment" rel="nofollow noreferrer">here</a>, with the example:</p>

<blockquote>
  <p>Run <code>kubectl get rs</code> to see that the Deployment updated the Pods by creating a new ReplicaSet and scaling it up to 3 replicas, as well as scaling down the old ReplicaSet to 0 replicas.</p>

<pre><code>kubectl get rs
</code></pre>
  
  <p>The output is similar to this:</p>

<pre><code>NAME                          DESIRED   CURRENT   READY   AGE
nginx-deployment-1564180365   3         3         3       6s
nginx-deployment-2035384211   0         0         0       36s
</code></pre>
</blockquote>
