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

2

There are 2 answers

3
Malgorzata On

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.

0
anurag On

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.