Я только что перенес свой кластер с k8s 1.5 на 1.6, и мне нужно обновить диаграмму zookeeper, чтобы использовать spec.affinity вместо аннотаций 1.5.
Error: UPGRADE FAILED: StatefulSet.apps "zk" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas' and 'containers' are forbidden.
Как я могу продолжить обновление диаграммы, не удаляя существующий кластер zookeeper?
из
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"
Кроме того, мне известно о https://github.com/kubernetes/features/blob/master/release-1.6/release-notes-draft.md#scheduling, чтобы продолжать использовать привязку по аннотациям в 1.6, но эта проблема все равно будет существует, когда я захочу перейти на 1.7
Это проблема апстрима, связанная с обновлением привязок с набором состояний, поэтому, к сожалению, мы ничего не можем здесь сделать. Мне жаль, что мы не можем вам здесь помочь, но я бы посоветовал открыть заявку или поискать существующие заявки на https://github.com/kubernetes/kubernetes, чтобы решить эту проблему. Спасибо!
Чтобы добавить, StatefulSets - это альфа-объект (теперь бета-версия для 1.8), поэтому нет гарантии, что эти ресурсы могут быть надежно обновлены с помощью helm. Мы стараемся упростить обновление нестабильных ресурсов в кубернетах, но иногда это просто выходит из-под нашего контроля из-за обратно несовместимых изменений, и это просто природа зверя. Простите!
Самый полезный комментарий
Чтобы добавить, StatefulSets - это альфа-объект (теперь бета-версия для 1.8), поэтому нет гарантии, что эти ресурсы могут быть надежно обновлены с помощью helm. Мы стараемся упростить обновление нестабильных ресурсов в кубернетах, но иногда это просто выходит из-под нашего контроля из-за обратно несовместимых изменений, и это просто природа зверя. Простите!