You can set a Highly Available Kubernetes cluster by adding worker node pools and master replicas.
That’s true as of Kubernetes version 1.5.2. It is supported using the kube-up/kube-down scripts for GCE (as alpha): http://blog.kubernetes.io/2017/02/highly-available-kubernetes-clusters.html?m=1
For AWS you have support for HA Kubernetes cluster using KOPS scripts: