# Kubernetes Dashboard

Über das Dashboard lassen sich die Informationen über den Cluster visualisieren
und anpassen. Sobald ein `metrics-server` im Cluster existiert, kann man auch die
Metriken visualisieren.

## Installation metrics-server

```bash
> kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
```

Sollte der `kublet-server` nicht mit gültigen Zertifikaten ausgestattet sein,
muss dies dem `metrics-server` mitgeteilt werden.

```bash
> kubectl patch deployment metrics-server -n kube-system --type=json  -p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]'
```

## Installation Dashboard

```bash
> helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
> helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard --set web.service.type=NodePort
> kubectl get svc -n kubernetes-dashboard -l app.kubernetes.io/component=web
```

Diese Installation des Dashboards ist ohne Absicherung per SSL. Diese müsste
zusätzlich konfiguriert werden. Alternativ Nutzung von [Rancher](rancher-install.html).

## Zugriff auf das Dashboard

### Anlegen eine serviceAccounts

```bash
kubectl create serviceaccount admin-user -n kubernetes-dashboard
```

### serviceAccount ClusterAdmin Rechte zuweisen

```bash
kubectl create clusterrolebinding admin-user-binding --clusterrole=cluster-admin \
        --serviceaccount=kubernetes-dashboard:admin-user
```

### Token generieren und ausgeben lassen

```bash
kubectl -n kubernetes-dashboard create token admin-user
```

### SSL Port per Proxy weiterleiten

```bash
kubectl -n kubernetes-dashboard port-forward \
        svc/kubernetes-dashboard-kong-proxy 8443:443
```

Zugriff auf das Dashboard über [https://localhost:8443](https://localhost:8443)
