AMendis
AMendis

Reputation: 1574

Accessing kubernetes dashboard gives Error trying to reach service: 'dial tcp 10.44.0.2:8443: connect: connection refused'

I used kubernetes hard way and managed to deploy a cluster successfully with kubernetes 1.18.6

I used vmware and kubernetes 1.18.6. I deployed metric-server and kubernets dashboard

I used this command --> kubectl proxy --address='0.0.0.0' --port=8001 --accept-hosts='^*$' to startup kuberenetes dashboard

Then I used below url to access kubernes dashboard from my master node

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

But I'm getting below error in my browser

Error trying to reach service: 'dial tcp 10.44.0.2:8443: connect: connection refused'

But I can access kubernetes dashboard without any issue on my worker nodes using the url https://10.44.0.2:8443/

What am I missing ?

Why I can't access kubernetes dashboard normal way ?

I created another cluster with kubeadm tool and I can access kubernetes dashboard outside of the cluster.

I have weave and coredns configured and I don't see any errors on them. I did a smoke test and its all working properly. I even deployed wordpress and its also working properly.

All of my configurations are in https://github.com/godomainz/kubernetes-the-hard-way.git feature/Feature-1.18.6 branch

Guest OS : Ubuntu 18.04
Cluster environment used : VMWare workstation
Host PC: Windowd 10 Pro(i7 processor,64GB Ram)
Each VM has 15GB RAM with 8 Cores
Kubernetes version used : 1.18.6

Upvotes: 7

Views: 9441

Answers (3)

Zaid Sasa
Zaid Sasa

Reputation: 1

This is a networking issue in your cluster. K8S Dashboard requires that in-cluster networking works properly and pods can reach apiserver through default kubernetes service.

Create i.e. a busybox pod and try to access apiserver through the service you'll get the same results.

Upvotes: 0

anurag
anurag

Reputation: 636

Try running the service on a different port

kubectl proxy --address='0.0.0.0' --port=8002 --accept-hosts='.*'

If this does not work then another Quick fix, edit the kubernetes-dashboard yaml file >> selector type is "ClusterIP" to "NodePort" if you are running on localhost.

Upvotes: 3

Malgorzata
Malgorzata

Reputation: 7023

In case you are using kubectl proxy to connect to Kubernetes API, make sure kubeconfig file is properly configured. or try kubectl proxy --kubeconfig=/path/to/dashboard-user.kubeconfig

Note: This way of accessing Dashboard is only possible if you choose to install your user certificates in the browser. In example as mentioned before, certificates used by the kubeconfig file to contact API Server can be used.

Take a look: cannot-access-dashboard, kubernetes-dashboard-showing-http-proxy, accessing-dashboard-kubernetes, setting-kubernetes-dashboard.

Upvotes: 0

Related Questions