alexellis/k8s-on-raspbian

GUIDE.md, "Start up the Kubernetes dashboard" section, outdated?

youngkin opened this issue · 1 comments

In GUIDE.md, in the "Start up the Kubernetes dashboard" section, the kubectl apply ... command is referencing a resource that no longer exists. Here's the kubectl apply ... command from the guide along with the response:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative/kubernetes-dashboard-arm-head.yaml
error: unable to read URL "https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative/kubernetes-dashboard-arm-head.yaml", server reported 404 Not Found, status code=404

I poked around in the Kubernetes Dashboard repo and it appears that an ARM version is no longer available. I did find some deployment specs referencing older versions of the ARM dashboard image, but those images use the now retired Kubernetes Hipster instead of the Kubernetes Metrics Server. The dashboard pod log shows:
2020/03/07 17:00:00 Metric client health check failed: the server could not find the requested resource (get services heapster). Retrying in 30 seconds.

Expected Behaviour

I expected that the kubectl apply ... would successfully download the deployment spec and create the required resources.

Current Behaviour

See above, the kubectl apply ... returns a 404 not found

Possible Solution

Find a current arm version of the Kubernetes Dashboard.

Steps to Reproduce (for bugs)

  1. Run the kubectl apply ... command referenced in GUIDE.md, i.e.,
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative/kubernetes-dashboard-arm-head.yaml

Context

I was hoping to install the dashboard to visually inspect my cluster.

Your Environment

  • Docker version docker version (e.g. Docker 17.0.05 ):
$ d version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:22:34 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:29:19 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
  • What version of Kubernetes are you using? kubectl version:
k version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-13T18:08:14Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/arm"}
  • Operating System and version (e.g. Linux, Windows, MacOS):
    The client is a Mac

  • What ARM or Raspberry Pi board are you using?
    Pi 4B

I also just stumbled upon this.

However, there is already an PR that fixes the URL: #30
The ClusterDashboard still natively supports ARM.

However, I had to use another ClusterRoleBinding to make it work:

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-admin
  labels:
    k8s-app: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard