Helm: Das Upgrade der Statefulset-Affinität von Annotation auf spec.affinity schlägt fehl von k8s 1.5 -> 1.6

Erstellt am 18. Sept. 2017  ·  3Kommentare  ·  Quelle: helm/helm

Problem

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.

Frage

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"
questiosupport

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!

Alle 3 Kommentare

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!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen