<p>I've launched kubernetes cluster using kops. It was working find and I started facing the following problem:</p>

<pre><code>kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?
</code></pre>

<p>How do i solve this?
It looks like kubernetes-apiserver is not running, How do i get this working?</p>

<pre><code>kubectl run nginx --image=nginx:1.10.0
error: failed to discover supported resources: Get http://localhost:8080/apis/apps/v1beta1?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused
</code></pre>

<p>Please suggest</p>

<p>Kubernetes uses a <code>$KUBECONFIG</code> file for connecting to clusters. It may be when provisioning your kops cluster, it didn't write the file correctly. I can't be sure as you haven't provided enough info.</p>

<p>Assuming this is the issue, and you only have a single cluster, it can be resolved like so:</p>

<pre><code># Find your cluster name
kops get clusters
# set the clustername as a var
clustername=&lt;clustername&gt;
# export the KUBECONFIG variable, which kubectl uses to find the kubeconfig file
export KUBECONFIG=~/.kube/${clustername}
# download the kubeconfig file locally using kops
kops export kubecfg --name ${clustername} --config=~$KUBECONFIG
</code></pre>

<p>You can find more information about the <code>KUBECONFIG</code> file <a href="https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/" rel="noreferrer">here</a></p>
