Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengembalikan palsu lalai jika harta tidak wujud dalam fail values.yaml?
Editor PHP Youzi di sini untuk menjawab soalan biasa: "Jika atribut tidak wujud dalam fail values.yaml, bagaimana untuk mengembalikan palsu lalai dalam Carta Helm Kubernetes, kami sering menggunakan nilai. yaml untuk Menentukan parameter konfigurasi. Apabila kita ingin mendapatkan nilai atribut tertentu, jika atribut tidak wujud dalam fail values.yaml, kita boleh menggunakan beberapa kaedah untuk mengembalikan nilai lalai. Berikut adalah beberapa penyelesaian biasa.
fail yaml. Saya mempunyai nilai yang ditakrifkan di bawah global seperti yang ditunjukkan di bawah
global: logging: log4j: enabled: true
Saya juga mempunyai fungsi tambahan
{{- define "helm-basic-template.logging-enabled" -}} {{ .Values.global.logging.log4j.enabled | default "false" }} {{- end -}}
Properti global.logging.log4j.enabled mungkin tidak wujud, dalam hal ini saya mahu fungsi pembantu mengembalikan palsu, jika tidak mengembalikan nilai harta itu. Tetapi ia tidak berfungsi seperti yang saya jangkakan. Ada idea apa yang salah dengan fungsi saya? Atau adakah cara lain yang lebih baik untuk menulis semula? Terima kasih
Untuk mengelakkan pembolehubah tidak ditentukan, semakan tambahan diperlukan di sini.
Mengikut dokumentasi helm, apabila objek kosong, pernyataan if kembali palsu.
Paip akan dinilai palsu jika nilainya ialah:
Gunakan cek di bawah terus.
{{- if .Values.global }} {{- if .Values.global.logging }} {{- if .Values.global.logging.log4j }} {{- if .Values.global.logging.log4j.enabled }} apiVersion: v1 kind: ConfigMap metadata: name: logging-cm data: conf.json: | xxxxx ... {{- end }} {{- end }} {{- end }} {{- end }}
Atau gunakan kaedah templat yang dinamakan.
{{- define "helm-basic-template.logging-enabled" -}} {{- $val := false }} {{- if .Values.global -}} {{- if .Values.global.logging -}} {{- if .Values.global.logging.log4j -}} {{- if .Values.global.logging.log4j.enabled -}} {{- $val = true }} {{- end -}} {{- end -}} {{- end -}} {{- end -}} {{ $val }} {{- end -}}
Atau gunakan lalai untuk menetapkan nilai lalai yang mudah.
{{- define "helm-basic-template.logging-enabled" -}} {{- .Values.global.logging.log4j.enabled | default false .Values.global.logging.log4j.enabled -}} {{- end -}}
Atau gunakan gali untuk memilih kunci daripada senarai nilai. p>
{{- define "helm-basic-template.logging-enabled" -}} {{- dig "logging" "log4j" "enabled" false .Values.global -}} {{- end -}}
Atas ialah kandungan terperinci Bagaimana untuk mengembalikan palsu lalai jika harta tidak wujud dalam fail values.yaml?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!