Helm: لا يمكن تثبيت / جلب أحدث مخطط إذا كان إصدار "ما قبل النشر"

تم إنشاؤها على ٦ مايو ٢٠١٧  ·  3تعليقات  ·  مصدر: helm/helm

إصدار الدفة المتأثر: v2.4.1

مشكلة

يفشل helm [install | fetch] <chart repo>/<chart> إذا كان أحدث <chart> في <chart repo> يحتوي على إصدار "ما قبل النشر" - أي يحتوي على قيم إضافية تتجاوز ، على سبيل المثال ، v0.1.0 ، مثل v0.1.0-alpha.1 أو v0.1.0-dev-sha.abc1234 .

تفاصيل

العمل في v2.3.1 :

$ helm version
Client: &version.Version{SemVer:"v2.3.1", GitCommit:"32562a3040bb5ca690339b9840b6f60f8ce25da4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.3.1", GitCommit:"32562a3040bb5ca690339b9840b6f60f8ce25da4", GitTreeState:"clean"}

$ helm search -r workflow-dev
NAME                        VERSION                                 DESCRIPTION
workflow-dev/workflow       v2.13.1-dev-20170504190907-sha.3d6bbf9  Deis Workflow

$ helm fetch workflow-dev/workflow
$ ls
workflow-v2.13.1-dev-20170504190907-sha.3d6bbf9.tgz

لا تعمل في v2.4.1 :

$ helm version
Client: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}

$ helm search -r workflow-dev
NAME                        VERSION                                 DESCRIPTION
workflow-dev/workflow       v2.13.1-dev-20170504190907-sha.3d6bbf9  Deis Workflow
...

$ helm fetch workflow-dev/workflow
Error: chart "workflow" not found in workflow-dev index. (try 'helm repo update'). No chart version found for workflow-

ومع ذلك ، إذا كان أحدث مخطط في الريبو يحتوي على نسخة إصدار "رسمية" ، فسيتم جلبها بنجاح v2.4.1 :

 $ helm search -r jenkins
NAME            VERSION DESCRIPTION
stable/jenkins  0.6.2   Open source continuous integration server. It s..

 $ helm fetch stable/jenkins

 $ ls
jenkins-0.6.2.tgz

القضايا المماثلة / ذات الصلة

تم تقديم https://github.com/kubernetes/charts/issues/999 خصيصًا لمخطط stable/traefik .

في الواقع ، كما نرى ، يحتوي هذا الرسم البياني على القليل من المعلومات الإضافية حول سلسلة الإصدار (النسخة الكاملة: 1.2.1-a ، وبالتالي فإن هذا يؤكد ادعاء هذه المشكلة بأن المعلومات المضافة (تعتبر عادةً "ما قبل الإصدار") كسر التثبيت / الجلب:

$ helm search -r traefik
NAME            VERSION DESCRIPTION
stable/traefik  1.2.1-a A Traefik based Kubernetes ingress controller w...

$ helm fetch stable/traefik
Error: chart "traefik" not found in stable index. (try 'helm repo update'). No chart version found for traefik-

مذكرة قانونية

ومع ذلك ، من المهم ملاحظة (وربما يكون ذلك مفيدًا في تصحيح الأخطاء / تحديد المشكلة) ، إذا تم تحديد إصدار مخطط "ما قبل الإصدار" بشكل صريح ، فيمكن تثبيته / جلبه بدون مشكلة. استمرار من أعلاه:

$ helm fetch stable/traefik --version 1.2.1-a

$ ls
traefik-1.2.1-a.tgz

التعليق الأكثر فائدة

والسبب هو أن إصدار Traefik هو ، وفقًا لـ SemVer ، إصدار سابق. في Helm 2.4.1 ، قررنا عدم تثبيت الإصدارات التجريبية ما لم يتم تقديم إصدار صريح. # 2279

الحل البديل هو تشغيل شيء يسمح للإصدارات المسبقة باستيفاء معايير النطاق: helm fetch stable/traefik --debug --version=">1.0.0-a"

اقترح @ vice لي أننا ربما نضيف علامة للسماح للحزم غير المستقرة بتلبية الطلب. نحن نفكر ربما --devel

ال 3 كومينتر

والسبب هو أن إصدار Traefik هو ، وفقًا لـ SemVer ، إصدار سابق. في Helm 2.4.1 ، قررنا عدم تثبيت الإصدارات التجريبية ما لم يتم تقديم إصدار صريح. # 2279

الحل البديل هو تشغيل شيء يسمح للإصدارات المسبقة باستيفاء معايير النطاق: helm fetch stable/traefik --debug --version=">1.0.0-a"

اقترح @ vice لي أننا ربما نضيف علامة للسماح للحزم غير المستقرة بتلبية الطلب. نحن نفكر ربما --devel

اقترح @ vice لي أننا ربما نضيف علامة للسماح للحزم غير المستقرة بتلبية الطلب.

في الواقع ، إحدى حالات الاستخدام الخاصة بنا هي تخصيص عمليات إعادة الشراء للمخطط بالكامل إلى المخططات ذات الإصدار "غير المستقرة / dev / pre-release" فقط. هذا له ميزة عدم "الازدحام" في مستودعات المخططات "الرسمية" التي تحتوي على إصدارات رسمية فقط.

سيكون من السهل الحفاظ على القدرة على سحب أحدث مخطط من repo (s) dev المذكور دون تحديد أي إصدار أو نطاق إصدار (كما يمكن القيام به في helm قبل 2.4.x): helm install dev-chart-repo/dev-chart ، بدلاً من الاضطرار إلى تتبع أحدث إصدار من مخطط dev بطريقة ما وتوفير النطاق المناسب عبر --version .

إذا كانت هناك حاجة إلى علامة --devel للقيام بما سبق ، فسيكون ذلك جيدًا.

بينما يمكنني أن أفهم (إلى حد ما) الأساس المنطقي وراء رفض تثبيت مخططات "ما قبل الإصدار" ، لا أستطيع أن أرى كيف يكون ذلك مفيدًا مع fetch .

علاوة على ذلك ، فإن رسالة الخطأ الحالية مضللة وتتسبب في إضاعة الوقت.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

bq1756 picture bq1756  ·  3تعليقات

adam-sandor picture adam-sandor  ·  3تعليقات

burnettk picture burnettk  ·  3تعليقات

sgoings picture sgoings  ·  3تعليقات

KavinduZoysa picture KavinduZoysa  ·  3تعليقات