إصدار المخطط 2.x فقطتتوفر ميزة
additionalManifests فقط في مخطط Helm المبني على subchart بإصدار v2.x.additionalManifests نشر أي كائنات Kubernetes إلى جانب مخطط ClickStack. استخدمها مع الموارد التي لا يوفّر لها المخطط قوالب بشكل مضمّن، مثل NetworkPolicy وHorizontalPodAutoscaler وServiceAccount وPodMonitor وكائنات Ingress المخصصة أو أي كائن آخر من كائنات واجهة برمجة تطبيقات Kubernetes.
كيف يعمل
additionalManifests هو تعريف كامل لمورد في Kubernetes. ويقوم المخطط بما يلي:
- المرور على كل عنصر في القائمة
- تحويل العنصر إلى YAML (
toYaml) - تقييم تعبيرات القوالب في ملف YAML الناتج باستخدام Helm
tpl
.Release.Name,.Release.Namespaceinclude "clickstack.fullname" .ودوال المساعدة الأخرى الخاصة بالمخطط.Values.*
قيود ملف values
additionalManifests في ملف values، وتُحلَّل ملفات values بصيغة YAML قبل تشغيل tpl.
- يجب أن يكون أي
{{ ... }}في ملف values داخل سلسلة نصية محاطة بعلامتَي اقتباس - لا تُعد كتل القوالب البنيوية صالحة في YAML الخاص بملفات values (على سبيل المثال،
{{- include ... | nindent ... }}بمفردها) - بالنسبة إلى الحقول غير النصية (على سبيل المثال، أرقام المنافذ)، استخدم قيَمًا حرفية أو منافذ مُسمّاة
- إذا كنت بحاجة إلى قوالب بنيوية، فاستخدم قالب wrapper chart بدلًا من ملف values خام
دوال المساعدة المتاحة لـ المخطط
templates/_helpers.tpl:
| المساعدة | الوصف | الاستخدام في ملف values |
|---|---|---|
clickstack.name | اسم المخطط (مقتطع إلى 63 حرفًا) | آمن في القيم scalar الموضوعة بين علامتي اقتباس |
clickstack.fullname | اسم مؤهل بـ Release | آمن في القيم scalar الموضوعة بين علامتي اقتباس |
clickstack.chart | اسم المخطط + الإصدار | آمن في القيم scalar الموضوعة بين علامتي اقتباس |
clickstack.selectorLabels | كتلة labels الخاصة بـ selector | لقوالب wrapper مخطط فقط |
clickstack.labels | كتلة labels القياسية | لقوالب wrapper مخطط فقط |
clickstack.mongodb.fullname | اسم MongoDB CR | آمن في القيم scalar الموضوعة بين علامتي اقتباس |
clickstack.clickhouse.fullname | اسم ClickHouse CR | آمن في القيم scalar الموضوعة بين علامتي اقتباس |
clickstack.otel.fullname | اسم OTel collector | آمن في القيم scalar الموضوعة بين علامتي اقتباس |
أمثلة
ServiceAccount
NetworkPolicy
HorizontalPodAutoscaler
PodMonitor (Prometheus Operator)
AWS ALB Ingress
TargetGroupBinding
TargetGroupBinding مُعرَّفة صراحةً:
متقدم: قوالب wrapper مخطط
include "clickstack.labels" . | nindent 4، فقم بتصييرها من قالب wrapper مخطط (templates/*.yaml) بدلًا من وضع هذه الكتل مباشرةً في ملفات values.
مثال على مقتطف من قالب wrapper مخطط:
نصائح
خطافات Helm
additionalManifests كمستند YAML منفصل. يمكنك إضافة التعليقات التوضيحية لخطافات Helm للتحكم في ترتيب التثبيت/الترقية:
ترتيب CRD
PodMonitor)، فيجب أن تكون تعريفات الموارد المخصصة (CRDs) موجودة بالفعل في العنقود قبل التثبيت/الترقية.
دمج موارد متعددة
additionalManifests عبارة عن قائمة. تُعرَض العناصر وفق ترتيبها في القائمة، ويصبح كل عنصر مستند YAML مستقلًا.
الخطوات التالية
- دليل Helm الرئيسي - التثبيت الأساسي
- دليل التهيئة - مفاتيح API والأسرار وIngress
- عمليات النشر على Cloud - إعدادات GKE وEKS وAKS
- مستودع مخططات Helm لـ ClickStack - الشيفرة المصدرية للمخططات ومرجع values