في الدردشة ، سألت عن القدرة على تحديد كائن مثل هذا عبر --set
وواجهت للأسف الحقيقة:
env:
- name: ROUTER
value: cake
- name: PASSWORD
value: derp
أحب استخدام مقاطع مثل هذه في values.yaml
لتحديد احتياجات متغير env بالكامل لمواصفات حاوية معينة ، لذلك في المواصفات أحتاج فقط:
env:
{{ toYaml .Values.env | indent 10 }}
هناك العديد من الأسباب التي تجعل هذا مفيدًا:
deployment
لمجرد أنني أريد تمرير بعض المتغيرات الأخرى إلى العملية الرئيسية.للأسف ، تمرير هذه الأنواع من الكائنات غير مدعوم حاليًا. استخدام عبارات if في القوالب الخاصة بي بأفضل طريقة للتغلب على هذا في الوقت الحالي ، ولكن سيكون من الرائع تحديد مسحات كبيرة من المعلومات الديناميكية المحتملة حول تطبيقي مباشرةً في values.yaml
لقد وجدت للتو طريقة أخرى للقيام بذلك من خلال ملاحظة kube-lego
:
{{- range $key, $value := .Values.config }}
- name: "{{ $key }}"
value: "{{ $value }}"
{{- end }}
مشكلتي مماثلة.
نريد استخدام المخطط التلقائي aws-cluster-autoscaler في:
https://github.com/kubernetes/charts/tree/master/stable/aws-cluster-autoscaler
نود تمرير اسم autoscalingGroups []. عبر سطر الأوامر ، باستخدام --set
، والمعلومات الأخرى عبر ملف params.yaml:
autoscalingGroups:
- minSize: 2
maxSize: 8
awsRegion: eu-west-1
عندما نحاول تعيين اسم مجموعة القياس التلقائي باستخدام:
$ helm upgrade cluster-autoscaler stable/aws-cluster-autoscaler -f params.yaml --set "autoscalingGroups[].name"="nodes.k8s.test.eu-west-1.aws.redacted.net"
لكن هذا لا يعمل.
قراءة الوثائق ، هذا معروف ، لكن سيكون من الجيد أن تكون قادرًا على القيام بذلك.
هذا ممكن الآن باستخدام بناء الجملة التالي:
helm install foo --set env[0].name="ROUTER",env[0].value="cake"
هذا موثق هنا .
التعليق الأكثر فائدة
هذا ممكن الآن باستخدام بناء الجملة التالي:
هذا موثق هنا .