Helm: La mise à niveau de l'affinité statefulset de l'annotation vers spec.affinity échoue à partir de k8s 1.5 -> 1.6

Créé le 18 sept. 2017  ·  3Commentaires  ·  Source: helm/helm

Problème

Je viens de migrer mon cluster de k8s 1.5 à 1.6 et je dois mettre à niveau mon graphique zookeeper pour utiliser spec.affinity au lieu de 1.5 annotations.

Error: UPGRADE FAILED: StatefulSet.apps "zk" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas' and 'containers' are forbidden.

Question

Comment puis-je procéder à la mise à niveau du graphique sans supprimer le cluster zookeeper existant ?
de

annotations:
    scheduler.alpha.kubernetes.io/affinity: >
      {
        "podAntiAffinity": {
          "requiredDuringSchedulingIgnoredDuringExecution": [
            {
              "labelSelector": {
                "matchExpressions": [
                  {
                    "key": "app",
                    "operator": "In",
                     "values": ["zk-headless"]
                  }
                ]
              },
              "topologyKey": "kubernetes.io/hostname"
            }
          ]
        }
}

à

affinity:
  podAntiAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
                - key: "app"
                  operator: In
                  values: 
                  - zk-headless
  topologyKey: "kubernetes.io/hostname"
questiosupport

Commentaire le plus utile

Pour ajouter, les StatefulSets sont un objet alpha (maintenant bêta pour 1.8), il n'y a donc aucune garantie que ces ressources puissent être mises à niveau de manière fiable avec helm. Nous essayons de faciliter la mise à niveau des ressources instables dans kubernetes, mais parfois, cela échappe simplement à notre contrôle en raison de modifications incompatibles avec les versions antérieures et c'est juste la nature de la bête. Pardon!

Tous les 3 commentaires

De plus, je suis au courant de https://github.com/kubernetes/features/blob/master/release-1.6/release-notes-draft.md#scheduling pour continuer à utiliser l'affinité par annotations dans 1.6, mais ce problème persistera existe quand je voudrai passer à la 1.7

Il s'agit d'un problème en amont avec la mise à niveau des affinités de statefulset, nous ne pouvons donc rien faire ici, malheureusement. Je suis désolé que nous ne puissions pas vous aider ici, mais je suggère d'ouvrir un ticket ou de rechercher des tickets existants sur https://github.com/kubernetes/kubernetes pour résoudre ce problème. Merci!

Pour ajouter, les StatefulSets sont un objet alpha (maintenant bêta pour 1.8), il n'y a donc aucune garantie que ces ressources puissent être mises à niveau de manière fiable avec helm. Nous essayons de faciliter la mise à niveau des ressources instables dans kubernetes, mais parfois, cela échappe simplement à notre contrôle en raison de modifications incompatibles avec les versions antérieures et c'est juste la nature de la bête. Pardon!

Cette page vous a été utile?
0 / 5 - 0 notes