<p>I am really new to Kubernetes.</p>

<p>I have deployed Kubernetes using kops. 
My question is how can I  shutdown my instances (not terminate them) so my data, deployments and services will not be lost. </p>

<p>Currently after editing ig of master and nodes, by changing max and min instance  size to 0 inside auto scaling group of EC2, changes my instances into terminated stance. Which also makes me loose my pods and data inside of them?</p>

<p>How to overcome on this issue??</p>

<p>You have actually answered yourself. All that is required to do is to scale the instance size to 0.
Following this <a href="https://perrohunter.com/how-to-shutdown-a-kops-kubernetes-cluster-on-aws/" rel="nofollow noreferrer">tutorial</a>, the steps are:</p>

<ul>
<li><code>kops edit ig nodes</code> change <code>minSize</code> and <code>maxSize</code> to 0  </li>
<li><code>kops get ig</code>- to get master node name </li>
<li><code>kops edit ig</code> - change min and max size to 0</li>
<li><code>kops update cluster --yes</code> </li>
<li><code>kops rolling-update cluster</code></li>
</ul>

<p>After that you can see in EC2, that all of the cluster machines are terminated. When you will want to start it again just repeat the steps but change the values to desired number of machines (min 1 master).</p>

<p>I can confirm that all the pods, services and deployments are running again after scaling the cluster back to its initial size. In my case those were nginx pods and hello-minikube pod from Kubernetes <a href="https://kubernetes.io/docs/tutorials/hello-minikube/#create-a-deployment" rel="nofollow noreferrer">documentation</a> example.  Did you miss any of these steps that it did not work in your case? Do you have an s3 bucket that <a href="https://kubernetes.io/docs/setup/custom-cloud/kops/#3-5-create-an-s3-bucket-to-store-your-clusters-state" rel="nofollow noreferrer">stores the cluster state?</a>
You need to run these commands before running the kops cluster:</p>

<p><code>aws s3api create-bucket --bucket ... --region eu-central-1a
aws s3api put-bucket-versioning --bucket ... --versioning-configuration</code></p>

<blockquote>
  <p>kops lets you manage your clusters even after installation. To do
  this, it must keep track of the clusters that you have created, along
  with their configuration, the keys they are using etc. This
  information is stored in an S3 bucket. S3 permissions are used to
  control access to the bucket.</p>
</blockquote>

<p>This one is after scaling down to 0:</p>

<p><a href="https://i.stack.imgur.com/FMhS0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FMhS0.png" alt=""></a></p>

<p>And this screenshot after scaling back.
<a href="https://i.stack.imgur.com/x4Ewv.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/x4Ewv.png" alt=""></a></p>
