لقد قمت للتو بترحيل مجموعتي من 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) ، لذلك ليس هناك ما يضمن إمكانية ترقية هذه الموارد بشكل موثوق باستخدام الدفة. نحاول أن نجعل من السهل ترقية الموارد غير المستقرة في kubernetes ، لكن في بعض الأحيان يكون الأمر خارج نطاق سيطرتنا بسبب التغييرات غير المتوافقة مع الإصدارات السابقة وهذه هي طبيعة الوحش فقط. آسف!
التعليق الأكثر فائدة
للإضافة ، فإن StatefulSets هي كائن ألفا (الآن بيتا لـ 1.8) ، لذلك ليس هناك ما يضمن إمكانية ترقية هذه الموارد بشكل موثوق باستخدام الدفة. نحاول أن نجعل من السهل ترقية الموارد غير المستقرة في kubernetes ، لكن في بعض الأحيان يكون الأمر خارج نطاق سيطرتنا بسبب التغييرات غير المتوافقة مع الإصدارات السابقة وهذه هي طبيعة الوحش فقط. آسف!