2016-04-07 6 views
4

So habe ich einen Kubernetes-Cluster, und ich verwende Flanell für ein Overlay-Netzwerk. Es hat gut geklappt (fast ein Jahr lang), dann habe ich einen Dienst modifiziert, um 2 Ports zu haben, und auf einmal bekomme ich einen völlig anderen Dienst, den ich vorher bearbeitet habe und den ich nicht bearbeitet habe:L3 fehlt und Route nicht gefunden für Flanell

<Timestamp> <host> flanneld[873]: I0407 18:36:51.705743 00873 vxlan.go:345] L3 miss: <Service's IP> 
<Timestamp> <host> flanneld[873]: I0407 18:36:51.705865 00873 vxlan.go:349] Route for <Service's IP> not found 

Gibt es eine gemeinsame Ursache? Ich benutze Kubernetes 1.0.X und Flannel 0.5.5 und ich sollte erwähnen, nur ein Knoten hat dieses Problem, der Rest der Knoten sind in Ordnung. Der Kube-Proxy des schlechten Knotens sagt auch, dass er den Endpunkt des Dienstes nicht finden kann.

+0

getan werden BTW für diejenigen, die denken, dass dies auf Serverfault gehört, dachte ich auch, aber sie haben nicht einmal diese Tags dort. –

+0

Haben Sie tatsächlich Probleme bei der Verbindung mit dem Dienst oder seinen Endpunkten oder fragen Sie einfach nach Log-Zeilen in Flanell? Dienst-VIPs sind vollständig virtuell und werden von kubeproxy abgefangen und in Endpunkt-ips umgewandelt. Solange Flanell diese Endpunkt-IPs routen kann, sollte * * in Ordnung sein (aber es könnte sicherlich etwas tiefer gehen). –

+0

Ich frage alle oben genannten. Ich konnte die IP des Dienstes nicht anpingen, und diese sich wiederholenden Protokollzeilen waren die einzige abnormale Sache. –

Antwort

2

Irgendwann wird sich ändern, Flanell es Subnetzkonfiguration ... Sie können dies feststellen, ob die IP und MTU von cat /run/flannel/subnet.env nicht ps aux | grep docker (oder cat /etc/default/docker) überein ... in diesem Fall Sie müssen Docker neu konfigurieren den neuen verwenden Flanellkonfiguration

Zuerst müssen Sie die Schnittstelle Docker Netzwerk

sudo ip link set dev docker0 down 
sudo brctl delbr docker0 

Weiter Sie Docker neu konfigurieren müssen löschen die neue Flanell Konfiguration verwendet werden.
Hinweis: manchmal hat dieser Schritt manuell (dh lesen Sie die Inhalte von /run/flannel/subnet.env und dann verändern /etc/default/docker)

source /run/flannel/subnet.env 

echo DOCKER_OPTS=\"-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}\" > /etc/default/docker 

Schließlich Neustart Docker

sudo service docker restart 
+1

Hoffentlich behebt dies Ihr Problem ... wenn nicht, ich dachte, ich würde trotzdem posten, weil wir rüber kamen Diese Ausgabe * viel *. – Charlino

+0

Irgendwelche Tipps, um dies zu verhindern? –

+0

Es tut uns leid, wir haben nie eine schnelle Lösung gefunden. – Charlino