2015-12-18 21 views
5

Ich versuche, Kubernetes auf Ubutnu (Bare-Metal-Installation) zu installieren. Ich installiere einen Master und einen Knoten und es sieht gut aus. Ich habe das UI-Addon ohne ein Problem installiert, aber als ich versuchte, das DNS-Addon zu installieren, starte ich den Pod ständig neu.Kann skydns nicht starten

in kube-apiserver Protokolle erhalte ich:

E1218 12:56:15.298118  5 handlers.go:37] Unable to authenticate the request due to an error: crypto/rsa: verification error 
I1218 12:56:15.298220  5 handlers.go:131] GET /api/v1/services: (534.467µs) 401 [[kube2sky/v0.20.2 (linux/amd64) kubernetes/unknown] 172.27.35.39:33013] 
E1218 12:56:15.298396  5 handlers.go:37] Unable to authenticate the request due to an error: crypto/rsa: verification error 
I1218 12:56:15.298469  5 handlers.go:131] GET /api/v1/endpoints: (493.5µs) 401 [[kube2sky/v0.20.2 (linux/amd64) kubernetes/unknown] 172.27.35.39:33014] 
I1218 12:56:16.001321  5 handlers.go:131] GET /healthz: (83.326µs) 0 [[Go 1.1 package http] 127.0.0.1:42096] 
E1218 12:56:16.303274  5 handlers.go:37] Unable to authenticate the request due to an error: crypto/rsa: verification error 
E1218 12:56:16.303274  5 handlers.go:37] Unable to authenticate the request due to an error: crypto/rsa: verification error 

Und im kube2sky Behälter log ich folgende Fehlermeldungen erhalten:

E1218 12:57:51.713651  1 reflector.go:136] Failed to list *api.Service: the server has asked for the client to provide credentials (get services) 
E1218 12:57:51.713850  1 reflector.go:136] Failed to list *api.Endpoints: the server has asked for the client to provide credentials (get endpoints) 

mir sieht aus wie ich ein Problem mit Dienstkonto haben und Token, aber ich sah in der Kube2sky-Instanz und ich sehe, dass ich ein Token in /tmp/secrets/kubernetes.io/serviceaccount Verzeichnis und die ca.crt ist die richtige ca des Clusters

Ich verwende: ubuntu 14.04 Kubernetes 1.1.2 Add Ich versuche, die dns Addon aus dem Addon-Verzeichnis von Kubernetes 1.1.2

+0

Ich habe Kubernetes Sie genau dort installiert hatten gleich. Bitte überprüfen Sie mountPath im kube2sky Container. Ich verwende volumeMounts für Token wie folgt. "VolumeMounts": [{ "name": "default-token-npk63", "readonly": true, "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount" } ] , – jeon

Antwort

0

zu erstellen, wie ich es nicht mit skydns gefunden werden ausgeben, sondern mit Kubernetes selbst. Wenn ich diesen rc/service in einen anderen Namespace lege, funktioniert es perfekt. Ich hatte dieses Problem mit 1.1.4 Kubernetes

6

Ich hatte das gleiche Problem nach der Aktualisierung des Zertifikats und des Schlüssels des API-Servers. Ich reparierte den DNS-Dienst, nachdem das Geheimnis zu entfernen:

# Search the secret name 
kubectl get pod --namespace=kube-system -l k8s-app=kube-dns -o yaml | grep -A1 serviceaccount 

# Delete the current secret 
kubectl delete secret/<name-of-the-secret> --namespace=kube-system 

Ich brauche auch die ganze POD neu zu starten, weiß nicht, ob es ein besserer Ansatz ist:

kubectl delete svc/kube-dns rc/kube-dns-v9 --namespace=kube-system 
kubectl create -f dns-addon.yaml