<p>So I'm trying to bring up my kubernetes dashboard (remote server) but I'm having issues.  How do I resolve this issue?</p>
<ol>
<li>using <a href="https://github.com/kubernetes/dashboard" rel="nofollow noreferrer">https://github.com/kubernetes/dashboard</a></li>
</ol>
<blockquote>
<p>kubectl apply -f <a href="https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml" rel="nofollow noreferrer">https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml</a></p>
</blockquote>
<ol start="2">
<li>Created a ServiceAccount</li>
</ol>
<blockquote>
<p>kubectl create serviceaccount dashboard-admin-sa</p>
</blockquote>
<ol start="3">
<li>Created an RBAC profile</li>
</ol>
<blockquote>
<p>kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa</p>
</blockquote>
<p>When I load the page I get this not the kubernetes dashboard</p>
<pre><code>{
  &quot;paths&quot;: [
    &quot;/apis&quot;,
    &quot;/apis/&quot;,
    &quot;/apis/apiextensions.k8s.io&quot;,
    &quot;/apis/apiextensions.k8s.io/v1&quot;,
    &quot;/apis/apiextensions.k8s.io/v1beta1&quot;,
    &quot;/healthz&quot;,
    &quot;/healthz/etcd&quot;,
    &quot;/healthz/log&quot;,
    &quot;/healthz/ping&quot;,
    &quot;/healthz/poststarthook/crd-informer-synced&quot;,
    &quot;/healthz/poststarthook/generic-apiserver-start-informers&quot;,
    &quot;/healthz/poststarthook/start-apiextensions-controllers&quot;,
    &quot;/healthz/poststarthook/start-apiextensions-informers&quot;,
    &quot;/livez&quot;,
    &quot;/livez/etcd&quot;,
    &quot;/livez/log&quot;,
    &quot;/livez/ping&quot;,
    &quot;/livez/poststarthook/crd-informer-synced&quot;,
    &quot;/livez/poststarthook/generic-apiserver-start-informers&quot;,
    &quot;/livez/poststarthook/start-apiextensions-controllers&quot;,
    &quot;/livez/poststarthook/start-apiextensions-informers&quot;,
    &quot;/metrics&quot;,
    &quot;/openapi/v2&quot;,
    &quot;/readyz&quot;,
    &quot;/readyz/etcd&quot;,
    &quot;/readyz/log&quot;,
    &quot;/readyz/ping&quot;,
    &quot;/readyz/poststarthook/crd-informer-synced&quot;,
    &quot;/readyz/poststarthook/generic-apiserver-start-informers&quot;,
    &quot;/readyz/poststarthook/start-apiextensions-controllers&quot;,
    &quot;/readyz/poststarthook/start-apiextensions-informers&quot;,
    &quot;/readyz/shutdown&quot;,
    &quot;/version&quot;
  ]
}
</code></pre>
<p><strong>Details:</strong></p>
<blockquote>
<p>kubectl config view</p>
</blockquote>
<pre><code>apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://100.xx.xx.x27:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
</code></pre>
<blockquote>
<p>kubectl get svc --all-namespaces</p>
</blockquote>
<pre><code>NAMESPACE              NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
default                kubernetes                  ClusterIP   10.96.0.1        &lt;none&gt;        443/TCP                  7h19m
kube-system            kube-dns                    ClusterIP   10.96.0.10       &lt;none&gt;        53/UDP,53/TCP,9153/TCP   7h19m
kubernetes-dashboard   dashboard-metrics-scraper   ClusterIP   10.110.162.231   &lt;none&gt;        8000/TCP                 84m
kubernetes-dashboard   kubernetes-dashboard        ClusterIP   10.104.136.25    &lt;none&gt;        443/TCP                  84m
</code></pre>
<blockquote>
<p>kubectl get pods --all-namespaces</p>
</blockquote>
<pre><code>NAMESPACE              NAME                                                     READY   STATUS    RESTARTS   AGE
kube-system            coredns-66bff467f8-jk8ql                                 1/1     Running   1          7h27m
kube-system            coredns-66bff467f8-wxsnf                                 1/1     Running   1          7h27m
kube-system            etcd-ip-100-xx-xx-x27                      1/1     Running   1          7h28m
kube-system            kube-apiserver-ip-100-xx-xx-x27            1/1     Running   1          7h28m
kube-system            kube-controller-manager-ip-100-xx-xx-x27   1/1     Running   1          7h28m
kube-system            kube-proxy-vbddf                                         1/1     Running   1          7h27m
kube-system            kube-scheduler-ip-100-xx-xx-x27            1/1     Running   1          7h28m
kube-system            weave-net-cfk2m                                          2/2     Running   3          7h27m
kubernetes-dashboard   dashboard-metrics-scraper-6b4884c9d5-fwljp               1/1     Running   0          93m
kubernetes-dashboard   kubernetes-dashboard-7f99b75bf4-x2hpq                    1/1     Running   0          93m
</code></pre>

Lacer
<p>Here is the really good guide which i would suggest to follow for setting up kubernetes dashaboard - <a href="https://jhooq.com/setting-up-kubernetes-dashboard/#kubernetes-dashboard-local-cluster" rel="nofollow noreferrer">https://jhooq.com/setting-up-kubernetes-dashboard/#kubernetes-dashboard-local-cluster</a></p>
<p>But what i see here is -</p>
<ol>
<li>Keep the <code>kubectl proxy</code> running otherwise you will not be able to access the dashboard and it might result in http 404</li>
<li>Also check the validity of the token.</li>
<li>Check the service account, here is what i used for service account</li>
</ol>
<pre><code>cat &lt;&lt;EOF | kubectl create -f -
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
EOF
</code></pre>
<ol start="4">
<li>ClusterRoleBinding</li>
</ol>
<pre><code>cat &lt;&lt;EOF | kubectl create -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system
EOF
</code></pre>
<p>I hope it should solve your issue. If not then please check the guide and compare your steps which you did while setting up the dashboard</p>
