Üretim tasarımı
- Docker & Kubernetes kursu
- İleri seviye
- Ders 61/70
- 4 dk
Ü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:
- Veritabanı: kalıcı diskli bir StatefulSet ve headless servis
- Dış erişim: alan adı ve HTTPS ile Ingress
- Yük: API için HPA
- Güvenlik: uygulamaya özel ServiceAccount ve en az yetki
- 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.yamlDeğ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.comUygulama Ü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
# values-prod.yaml
# buraya yazÖrnek çözüm
# values-prod.yaml
api:
autoscaling:
enabled: true
ingress:
enabled: true
host: magaza.example.com
db:
storage: 20GiBeklenen çı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.
helm ____ magaza
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ı |