Bosh sahifa Wiki Values

Values

Values — Helm chart shablonlariga uzatiladigan konfiguratsiya qiymatlari to‘plamidir. Ular image manzili, replica soni, resource limit, service porti yoki feature sozlamasi kabi muhitga qarab o‘zgaradigan ma’lumotni manifest tuzilishidan ajratadi. Values odatda YAML ko‘rinishida beriladi va render vaqtida .Values obyekti orqali o‘qiladi.

Manbalar va ustuvorlik

Chart ichidagi values.yaml standart qiymatlarni belgilaydi. Parent chart subchart uchun qiymat uzatishi mumkin. Foydalanuvchi bir yoki bir nechta -f fayl, –set yoki –set-string argumenti orqali ularni almashtiradi. Bir xil yo‘l bir necha joyda berilsa, yuqoriroq ustuvorlikdagi va buyruqda keyinroq kelgan manba g‘olib bo‘ladi.

helm upgrade api ./chart \
  -f values-common.yaml \
  -f values-production.yaml \
  --set image.tag=2.4.1

Bu misolda production fayli common qiymatlarni, command-line esa image tagni almashtiradi. Yakuniy qiymatlarni tushunish uchun barcha qatlam va ularning tartibi release bilan birga qayd etiladi.

YAML turlari

YAML son, boolean, satr, ro‘yxat va mapni farqlaydi. 0123 kabi identifikator, true ko‘rinishidagi satr yoki katta raqam parser tomonidan kutilmagan turga aylanishi mumkin. Ma’nosi satr bo‘lgan qiymat qo‘shtirnoqqa olinadi yoki –set-string ishlatiladi. Template ichida quote, toYaml va nindent funksiyalari formatni xavfsiz chiqarishga yordam beradi.

Maplar ko‘pincha kalit bo‘yicha birlashtiriladi, ro‘yxatlar esa to‘liq almashtirilishi mumkin. Shu sabab murakkab listning faqat bitta elementini overlay bilan o‘zgartirish kutilgan natijani bermaydi. Chart API si values strukturasini sodda va barqaror saqlashi kerak.

Schema va kontrakt

values.schema.json JSON Schema yordamida ruxsat etilgan tur, majburiy maydon, enum va diapazonni tekshiradi. Bu xato replica qiymati yoki noma’lum rejimni Kubernetesga yuborishdan oldin aniqlaydi. Schema semantik bog‘liqliklarning hammasini ifodalay olmaydi; masalan, autoscaling yoqilganda replicaCount e’tiborsiz qolishi dokumentatsiyada va testda ko‘rsatiladi.

Values chartning foydalanuvchiga ochiq konfiguratsiya API sidir. Kalit nomini o‘zgartirish mavjud override fayllarini buzishi mumkin, shuning uchun chart major versiyasi bilan muvofiqlashtiriladi. Deprecated kalit uchun aniq migratsiya yo‘li beriladi.

Muhit va maxfiy ma’lumot

Development va production uchun alohida values fayllari ishlatilishi mumkin, lekin to‘liq nusxalar vaqt o‘tishi bilan farqlanib ketadi. Kichik overlay va bitta asosiy standart fayl o‘zgarishlarni ko‘rinadigan qiladi. Render qilingan manifest ham artifact sifatida tekshirilib, qaysi konfiguratsiya amalda qo‘llangani saqlanadi.

Parol, token va private keyni values fayliga yozish xavfli: ular Git, CI logi yoki Helm release metadata sida qolishi mumkin. Bunday qiymatlar external secret operator, secret store yoki deploy vaqtida himoyalangan kanal orqali beriladi.

Template bilan bog‘lanish

Shablon yo‘q value uchun default funksiyasidan foydalanishi mumkin, ammo bu majburiy konfiguratsiya xatosini yashirmasligi kerak. required funksiyasi aniq xabar bilan renderni to‘xtatadi. Boolean qiymatni if ichida, sonni resource quantity sifatida yoki mapni annotationga chiqarishda tur va format oldindan belgilanadi. Valuesdan olingan satrni to‘g‘ridan-to‘g‘ri YAML bo‘lagi deb talqin qilish injection va buzilgan manifest xavfini oshiradi; shablon uning qaysi maydonga kirishini nazorat qiladi.

Subchart odatda o‘z nomi ostidagi valuesni oladi. Global kalitlar bir nechta subchartga umumiy ma’lumot beradi, biroq nom to‘qnashuvi va yashirin coupling yaratishi mumkin. Parent chart dependencyning ichki kalitlariga haddan tashqari bog‘lansa subchart versiyasini yangilash qiyinlashadi. Ochiq configuration contract kichik va hujjatlashtirilgan saqlanadi.

Bog‘liq tushunchalar

Helm chart, YAML, Go template, JSON Schema, Configuration, Kubernetes Secret, Release