Kubernetes-Dashboard funktioniert nicht, "existiert bereits" und "konnte die angeforderte Ressource nicht finden (Dienst-Heapster abrufen)"

2761
Ivan

Ich bin neu in Kubernetes

Ziel ist es, das Cluster-Dashboard von Kubernetes zum Laufen zu bringen

Wenn ich kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml --validate=falsedas hier mache

Ich bekomme:

Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": secrets "kubernetes-dashboard-certs" already exists Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": serviceaccounts "kubernetes-dashboard" already exists Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": roles.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" already exists Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": rolebindings.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" already exists Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": deployments.extensions "kubernetes-dashboard" already exists Error from server (AlreadyExists): error when creating "https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml": services "kubernetes-dashboard" already exists 

Wenn ich renne kubectl get services --namespace kube-system, bekomme ich:

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-dns 10.233.0.3 <none> 53/UDP,53/TCP 10d kubernetes-dashboard 10.233.28.132 <none> 80/TCP 9d 

Wenn ich versuche, das Dashboard-Kubernetes-Cluster zu erreichen, bekomme ich es Connection refused

kubectl logs --namespace=kube-system kubernetes-dashboard-4167803980-1dz53 Ausgabe:

2017/09/27 10:54:11 Using in-cluster config to connect to apiserver 2017/09/27 10:54:11 Using service account token for csrf signing 2017/09/27 10:54:11 No request provided. Skipping authorization 2017/09/27 10:54:11 Starting overwatch 2017/09/27 10:54:11 Successful initial request to the apiserver, version: v1.7.3+coreos.0 2017/09/27 10:54:11 New synchronizer has been registered: kubernetes-dashboard-key-holder-kube-system. Starting 2017/09/27 10:54:11 Starting secret synchronizer for kubernetes-dashboard-key-holder in namespace kube-system 2017/09/27 10:54:11 Initializing secret synchronizer synchronously using secret kubernetes-dashboard-key-holder from namespace kube-system 2017/09/27 10:54:11 Initializing JWE encryption key from synchronized object 2017/09/27 10:54:11 Creating in-cluster Heapster client 2017/09/27 10:54:11 Serving securely on HTTPS port: 8443 2017/09/27 10:54:11 Metric client health check failed: the server could not find the requested resource (get services heapster). Retrying in 30 seconds. 

Wie kann ich das Dashboard zum Laufen bringen? Schätze deine Hilfe.

0

1 Antwort auf die Frage

2
cohadar

Zuerst alles löschen:

kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 

Dann erstellen Sie es neu:

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 

Starten Sie einen Proxy:

kubectl proxy 

Dann öffnen Sie es:

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

Sie können auch die K8-API-Adresse anstelle von Localhost verwenden. Beachten Sie, dass in einigen neuen Dashboard-Versionen die Kurzadresse mit uibeispielsweise: k8s.api.example.com/uinicht mehr funktioniert und Sie die lange hässliche Adresse explizit verwenden müssen.