<p>I have a MySQL pod running in my cluster.<br> I need to temporarily pause the pod from working without deleting it, something similar to docker where the <code>docker stop container-id</code> cmd will stop the container not delete the container.<br> Are there any commands available in kubernetes to pause/stop a pod?</p>

<p>So, like others have pointed out, Kubernetes doesn't support stop/pause of current state of pod and resume when needed. However, you can still achieve it by having no working deployments which is setting number of replicas to 0.</p>

<pre><code>kubectl scale --replicas=0 deployment/&lt;your-deployment&gt;
</code></pre>

<p>see the help</p>

<pre><code># Set a new size for a Deployment, ReplicaSet, Replication Controller, or StatefulSet.
kubectl scale --help

</code></pre>

<p>Scale also allows users to specify one or more preconditions for the scale action.</p>

<p>If <code>--current-replicas</code> or <code>--resource-version</code> is specified, it is validated before the scale is attempted, and it is
guaranteed that the precondition holds true when the scale is sent to the server.</p>

<p><strong>Examples:</strong></p>

<pre><code>  # Scale a replicaset named 'foo' to 3.
  kubectl scale --replicas=3 rs/foo

  # Scale a resource identified by type and name specified in "foo.yaml" to 3.
  kubectl scale --replicas=3 -f foo.yaml

  # If the deployment named mysql's current size is 2, scale mysql to 3.
  kubectl scale --current-replicas=2 --replicas=3 deployment/mysql

  # Scale multiple replication controllers.
  kubectl scale --replicas=5 rc/foo rc/bar rc/baz

  # Scale statefulset named 'web' to 3.
  kubectl scale --replicas=3 statefulset/web
</code></pre>
