How to fix kubectl 'The connection to the server localhost:8080 was refused - did you specify the right host or port?'
Problem:
You want to configure a Kubernetes service using kubectl
using a command like
kubectl patch service/"my-elasticsearch-svc" --namespace "default" --patch '{"spec": {"type": "LoadBalancer"}}'
but you only see this error message:
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Solution
Kubernetes does not have the correct credentials to access the cluster.
Add the correct credentials to the kubectl config using
gcloud container clusters get-credentials [cluster name] --zone [cluster zone]
e.g.
gcloud container clusters get-credentials cluster-1 --zone europe-west3-c
After that, retry your original command.
In case you don’t know your cluster name or zone, use
gcloud container clusters list
to display the cluster metadata.
Credits to this StackOverflow answer for the original solution.