Ich habe gerade meinen Cluster von k8s 1.5 auf 1.6 migriert und muss mein Zookeeper-Diagramm aktualisieren, um spec.affinity anstelle von 1.5-Anmerkungen zu verwenden.
Error: UPGRADE FAILED: StatefulSet.apps "zk" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas' and 'containers' are forbidden.
Wie kann ich mit dem Aktualisieren des Diagramms fortfahren, ohne einen vorhandenen Zookeeper-Cluster zu löschen?
von
annotations:
scheduler.alpha.kubernetes.io/affinity: >
{
"podAntiAffinity": {
"requiredDuringSchedulingIgnoredDuringExecution": [
{
"labelSelector": {
"matchExpressions": [
{
"key": "app",
"operator": "In",
"values": ["zk-headless"]
}
]
},
"topologyKey": "kubernetes.io/hostname"
}
]
}
}
zu
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- zk-headless
topologyKey: "kubernetes.io/hostname"
Außerdem ist mir https://github.com/kubernetes/features/blob/master/release-1.6/release-notes-draft.md#scheduling bekannt , um die Affinität durch Anmerkungen in 1.6 weiterhin zu verwenden, aber dieses Problem wird weiterhin bestehen existiert, wenn ich auf 1.7 aktualisieren möchte
Dies ist ein Upstream-Problem beim Upgrade von Statefulset-Affinitäten, daher können wir hier leider nichts tun. Es tut mir leid, dass wir Ihnen hier nicht helfen können, aber ich würde vorschlagen, ein Ticket zu öffnen oder unter https://github.com/kubernetes/kubernetes nach vorhandenen Tickets zu suchen, um dieses Problem zu beheben. Vielen Dank!
Außerdem sind StatefulSets ein Alpha-Objekt (jetzt Beta für 1.8), daher gibt es keine Garantie dafür, dass diese Ressourcen zuverlässig mit helm aktualisiert werden können. Wir versuchen, es einfach zu machen, instabile Ressourcen in Kubernetes zu aktualisieren, aber manchmal liegt es aufgrund von abwärtsinkompatiblen Änderungen einfach außerhalb unserer Kontrolle und das ist einfach die Natur des Biests. Es tut uns leid!
Hilfreichster Kommentar
Außerdem sind StatefulSets ein Alpha-Objekt (jetzt Beta für 1.8), daher gibt es keine Garantie dafür, dass diese Ressourcen zuverlässig mit helm aktualisiert werden können. Wir versuchen, es einfach zu machen, instabile Ressourcen in Kubernetes zu aktualisieren, aber manchmal liegt es aufgrund von abwärtsinkompatiblen Änderungen einfach außerhalb unserer Kontrolle und das ist einfach die Natur des Biests. Es tut uns leid!