how to stop and start kubernetes cluster I have launched kubernetes cluster using kubeadm with 1 master and 2 worker node. Is there any safe way to stop and start the entire cluster without disturbing deployments. 

If I restart the master VM directly, It shows most of system pods containers in a stopped state.
You can maintain your data while stopping the master if you have persistent volumes attached, this is especially the case when using GKE google Kubernetes engine. But if you wanted to keep your services running while completely stopping a master that would require High Availability, Allowing one master node to take over the responsibility of another master which is clustering.