CodeBlanks Logo Icon CodeBlanks

Üretim tasarımı

Üretim uygulamasının mimarisini tasarlarsın.

Proje: üretime hazır dağıtım

Orta seviye projesindeki mağaza uygulamasını üretime hazır hâle getireceksin. Eklenecekler:

  1. Veritabanı: kalıcı diskli bir StatefulSet ve headless servis
  2. Dış erişim: alan adı ve HTTPS ile Ingress
  3. Yük: API için HPA
  4. Güvenlik: uygulamaya özel ServiceAccount ve en az yetki
  5. Paketleme: tüm parçalar tek bir Helm chart'ında
magaza/
  Chart.yaml
  values.yaml
  values-prod.yaml
  templates/
    db-statefulset.yaml   db-service.yaml
    api-deployment.yaml   api-service.yaml   api-hpa.yaml
    web-deployment.yaml   web-service.yaml
    ingress.yaml          serviceaccount.yaml

Değerlerin tasarımı

İyi bir values.yaml, değişmesi muhtemel her şeyi açığa çıkarır ve geliştirme için güvenli varsayılanlar verir; üretim dosyası yalnızca farkları içerir:

# values.yaml
image:
  api: ghcr.io/ali/magaza-api
  tag: ""              # boşsa Chart.appVersion
api:
  replicas: 1
  autoscaling: {enabled: false, min: 2, max: 10, cpu: 70}
ingress:
  enabled: false
  host: magaza.local

# values-prod.yaml
api:
  autoscaling: {enabled: true}
ingress:
  enabled: true
  host: magaza.example.com

Uygulama Üretim değerleri

values-prod.yaml içeriğini yaz: api.autoscaling.enabled: true; ingress altında enabled: true ve host: magaza.example.com; db.storage: 20Gi.

Başlangıç kodu

terminal
# values-prod.yaml
# buraya yaz

Örnek çözüm

terminal
# values-prod.yaml
api:
  autoscaling:
    enabled: true
ingress:
  enabled: true
  host: magaza.example.com
db:
  storage: 20Gi

Beklenen çıktı

$ helm template magaza ./magaza -f values-prod.yaml | grep -c "^kind:"
10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Ortama özel farkları (kopya sayısı, alan adı) nerede tutmak en uygunudur?

  • Ayrı chart kopyalarında
  • Pod'lara elle girerek
  • Ortama özel values dosyalarında (values-prod.yaml) Doğru cevap
  • Şablonların içine sabit yazarak

Açıklama: Şablonlar aynı kalır; yalnızca değerler değişir.

2 Chart iskeletini oluştur.

Soru
helm ____ magaza
Cevap
helm create magaza

Açıklama: helm create örnek bir chart üretir.

3 Eşleştir.

Kavram Anlamı
StatefulSet Veritabanı
Ingress HTTPS ve alan adı
HPA API ölçeklemesi
values-prod.yaml Üretim farkları

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