2016-08-04 33 views
0

Es scheint einige Probleme zu geben, von 1.2 zu 1.3 zu gehen, die es unmöglich macht, vor Ort zu aktualisieren.kubernetes 1.2 bis 1.3 Upgrade auf CoreOS

Ist das korrekt?

Wenn ein Arbeiter Knoten auf 1.3.4 aktualisieren, während der Rest 1.2.2 ausgeführt wird, ist der Knoten ready nie

ich viele Fehler 415 (nicht unterstützten Medientyp?) Bekommen von kubelet, das scheint Hinweis auf inkompatibles Format.

kubelet[2927]: E0804 01:55:13.794921 2927 event.go:198] Server rejected event '&api.Event{TypeMeta:unversioned.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:".146777d057f9b62b", GenerateName:"", Namespace:"default", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:unversioned.Time{Time:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*unversioned.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil), OwnerReferences:[]api.OwnerReference(nil), Finalizers:[]string(nil)}, InvolvedObject:api.ObjectReference{Kind:"Node", Namespace:"", Name:"198.245.63.87", UID:"xxxxxxxx", APIVersion:"", ResourceVersion:"", FieldPath:""}, Reason:"NodeHasSufficientDisk", Message:"Node xxxxxxxx status is now: NodeHasSufficientDisk", Source:api.EventSource{Component:"kubelet", Host:"xxxxxxxxxx"}, FirstTimestamp:unversioned.Time{Time:time.Time{sec:63605872340, nsec:72642091, loc:(*time.Location)(0x45be3e0)}}, LastTimestamp:unversioned.Time{Time:time.Time{sec:63605872513, nsec:790683013, loc:(*time.Location)(0x45be3e0)}}, Count:29, Type:"Normal"}': 'the server responded with the status code 415 but did not return more information (post events)' (will not retry!)

Ich möchte verstehen, wenn es sich um ein Setup-Problem ist oder eine echte Bruch Änderung, die Upgrade-in-place verhindern ...

Dank

+1

Haben Sie Ihren API Server aktualisieren zuerst? Du solltest das immer tun. –

+0

updating api server zuerst klingt nicht wie eine gute idee, als ob es versagt, es ist der gesamte cluster, der droht, so hoffe ich aktualisieren minion zu einer zeit ist eine vernünftige ansatz, aber offensichtlich ist es kot so einfach. – MrE

+0

Ihr API Server kann nicht verstehen, was Ihre Komponenten sagen, wenn sie eine niedrigere Version haben. Nur der API-Server garantiert die Rückwärtskompatibilität mit anderen Komponenten. Wenn Sie Angst vor Ausfallzeiten haben, sollten Sie einen Multi-Master-Cluster bereitstellen. Erwähnenswert ist auch, dass Ihr Cluster weiterhin funktioniert, während der Master nicht aktiv ist. Die Knoten-Komponenten empfangen nur die vom Scheduler und vom Controller-Manager generierten Updates. Dadurch haben Sie genug Zeit, um herauszufinden, was falsch ist, während alle Pods online bleiben. –

Antwort