Chart yapısı
- Docker & Kubernetes kursu
- İleri seviye
- Ders 8/70
- 4 dk
Helm chart dizin yapısını öğrenirsin.
Chart yapısı
Bir chart belirli bir klasör düzenidir. helm create örnek bir iskelet üretir:
magaza/
Chart.yaml # ad, sürüm, açıklama
values.yaml # varsayılan değerler
templates/ # Go şablonlu YAML'lar
deployment.yaml
service.yaml
_helpers.tpl # ortak şablon parçaları
NOTES.txt # kurulum sonrası mesaj
charts/ # bağımlı chart'lar# Chart.yaml
apiVersion: v2
name: magaza
version: 0.1.0 # chart sürümü
appVersion: "1.4.2" # uygulama sürümüŞablonlar
templates/ altındaki dosyalar Go şablon dilini kullanır. {{ .Values.x }} values.yaml'dan, {{ .Release.Name }} release adından, {{ .Chart.AppVersion }} Chart.yaml'dan okur:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}-web
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
containers:
- name: web
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"Uygulama Chart iskeleti
İki adım: magaza adlı chart iskeletini oluşturan komutu yaz; ardından Chart.yaml içeriğini yaz: apiVersion: v2, name: magaza, version: 0.1.0, appVersion: "1.4.2".
Başlangıç kodu
# buraya yazÖrnek çözüm
helm create magaza
# Chart.yaml
apiVersion: v2
name: magaza
version: 0.1.0
appVersion: "1.4.2"Beklenen çıktı
Creating magaza
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Chart.yaml'daki version ile appVersion arasındaki fark nedir?
- appVersion Kubernetes sürümüdür
- version Helm sürümüdür
- version chart paketinin, appVersion içindeki uygulamanın sürümüdür Doğru cevap
- İkisi aynıdır
Açıklama: Şablon değişince version artar; image değişince appVersion.
2 Değeri values.yaml'dan oku.
replicas: {{ .____.replicaCount }}
replicas: {{ .Values.replicaCount }}
Açıklama: .Values values.yaml ve --set değerleridir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
Chart.yaml |
Chart bilgisi |
values.yaml |
Varsayılan değerler |
templates/ |
Şablonlu YAML |
.Release.Name |
Release adı |