هل هذا طلب مساعدة؟
لا
ما الكلمات الرئيسية التي بحثت عنها في مشكلات Kubernetes قبل حفظ هذه المشكلة؟
هل هذا تقرير خطأ أم طلب ميزة؟ (اختر واحدة):
إصدار Kubernetes (استخدم kubectl version
): 1.3.6
البيئة :
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ما حدث : عند إنشاء أسرار / خرائط التكوين ، يبدو أنه عشوائي إلى حد ما عندما يُتوقع أن تكون القيم محاطة بعلامات اقتباس أم لا. أحيانًا تكون أرقامًا ، وأحيانًا أخرى تكون سلسلة ، وليس دائمًا بسبب البدء بأحرف غير قياسية.
نحن نستخدم NodeJS لإنشاء تكويناتنا ، و (بشكل مدهش) لا تدعم أي من المكتبات فرض علامات الاقتباس حول القيم ، وتقوم بإنشاء YAML صالح لجميع حالات الاستخدام الأخرى. نحن نلجأ إلى بعض 'sed' / magic / التي تم إنشاؤها لاحقًا لإضافة الاقتباسات ، لكن هذا ليس مثاليًا.
هل من الممكن أن تكون استخدامات kubectl للتحقق من صحة YAML صارمة / معطلة للغاية عند طلب نقل القيم أم لا؟
ما كنت تتوقع حدوثه : عدم طلب إضافة عروض الأسعار يدويًا بعد استخدام منشئ YAML صالح
كيفية إعادة إنتاجه (بأدنى حد ممكن وبدقة قدر الإمكان):
إليك قيمة configmap التي تتطلب الاقتباس
مهلة dbconnectionout: "60"
أو
remoteip: "بعض المضيف هنا"
أي شيء آخر نحتاج إلى معرفته :
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 إذا كان ذلك أسهل