Kubernetes: ونقلت YAML المطلوبة عند عدم الحاجة إليها

تم إنشاؤها على ١٤ سبتمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: kubernetes/kubernetes

هل هذا طلب مساعدة؟

لا

ما الكلمات الرئيسية التي بحثت عنها في مشكلات Kubernetes قبل حفظ هذه المشكلة؟

يقتبس yaml

هل هذا تقرير خطأ أم طلب ميزة؟ (اختر واحدة):

إصدار Kubernetes (استخدم kubectl version ): 1.3.6

البيئة :

  • مزود السحابة أو تكوين الأجهزة : GCE
  • نظام التشغيل (على سبيل المثال من / etc / os-release): Alpine Linux 3.4.0
  • Kernel (على سبيل المثال uname -a ): Linux kash-api-4080102595-t21vs 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 Linux
  • أدوات التثبيت : apk
  • آخرون :

ما حدث : عند إنشاء أسرار / خرائط التكوين ، يبدو أنه عشوائي إلى حد ما عندما يُتوقع أن تكون القيم محاطة بعلامات اقتباس أم لا. أحيانًا تكون أرقامًا ، وأحيانًا أخرى تكون سلسلة ، وليس دائمًا بسبب البدء بأحرف غير قياسية.

نحن نستخدم NodeJS لإنشاء تكويناتنا ، و (بشكل مدهش) لا تدعم أي من المكتبات فرض علامات الاقتباس حول القيم ، وتقوم بإنشاء YAML صالح لجميع حالات الاستخدام الأخرى. نحن نلجأ إلى بعض 'sed' / magic / التي تم إنشاؤها لاحقًا لإضافة الاقتباسات ، لكن هذا ليس مثاليًا.

هل من الممكن أن تكون استخدامات kubectl للتحقق من صحة YAML صارمة / معطلة للغاية عند طلب نقل القيم أم لا؟

ما كنت تتوقع حدوثه : عدم طلب إضافة عروض الأسعار يدويًا بعد استخدام منشئ YAML صالح

كيفية إعادة إنتاجه (بأدنى حد ممكن وبدقة قدر الإمكان):
إليك قيمة configmap التي تتطلب الاقتباس

مهلة dbconnectionout: "60"

أو

remoteip: "بعض المضيف هنا"

أي شيء آخر نحتاج إلى معرفته :

arekubectl siapi-machinery

ال 3 كومينتر

theothermike hi ، يبدو أن هذه مشكلة معروفة ولا يبدو أن هناك حلًا حقيقيًا لها. على سبيل المثال ، يجب تحديد النوع بشكل صحيح .. أقترح إلقاء نظرة على المناقشة هنا https://github.com/kubernetes/kubernetes/issues/2763 الكثير من التعليقات الجيدة من liggitt كانت هذه مشكلة أخرى مماثلة تم الإبلاغ عنها وإغلاقها https: / /github.com/kubernetes/kubernetes/issues/28974 إذا كنت liggitt منطقي؟

يمكنني استخدام الأرقام دون الاقتباس عن طريق بادئة القيم بـ !!integer . لكن !!int لا يعمل بالرغم من ذلك. (باستخدام Kubernetes 1.8)

السابق:

apiVersion: v1
kind: ConfigMap
metadata:
 name: identity-config
data:
  TC_HOST: 192.168.1.10
  TC_PORT: !!integer 8080

توافق مع spzala ، يجب تحديد النوع بشكل صحيح كسلسلة. تتطلب Yaml فقط نقل القيم الرقمية والقيم المنطقية (يتم استنتاج قيم ألفا لتكون سلاسل) ، ولكن يمكنك اقتباس جميع قيم بيانات configmap إذا كان ذلك أسهل

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