CodeBlanks Logo Icon CodeBlanks

Chart yapısı

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

terminal
# buraya yaz

Örnek çözüm

terminal
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.

Soru
  replicas: {{ .____.replicaCount }}
Cevap
  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ı

İleri seviye bölümündeki tüm dersler