CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları
Kubernetes dağıtımlarını Helm grafikleriyle paketleyip sürümleyin, yapılandırmayı her ortama göre şablonlayın ve grafik sürümlerinin GitHub Actions üzerinden yayımlanmasını otomatikleştirin.
CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Bildirim Dosyalarının Çoğalma Sorunu
Kubernetes'e dağıtım yapmak, çok sayıda YAML bildirimi yazmak anlamına gelir: dağıtımlar, hizmetler, ConfigMaps ve girişler. Bunları her ortam için kopyalamak kısa sürede yönetilemez hâle gelir.
Helm, bildirimleri yeniden kullanılabilir ve sürümlendirilmiş bir paket hâlinde paketleyerek bu sorunu çözer.
Helm Nedir
Helm, Kubernetes için paket yöneticisidir. Paket, şablonlaştırılmış bildirimler ile varsayılan değerlerden oluşan bir bütündür.
Chart.yaml— paket üstverileri ve sürümüvalues.yaml— varsayılan yapılandırmatemplates/— bildirim şablonları
Paket Yapısı
Tipik bir paket dizini şöyle görünür. Helm, son Kubernetes YAML'ını üretmek için değerleri kullanarak şablonları işler.
mychart/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yamlDeğerlerle Şablon Oluşturma
Şablonlar, values.yaml dosyasındaki değerleri alan yer tutucuları kullanır. Bu sayede tek bir şablon birçok ortama hizmet edebilir.
# templates/deployment.yaml
spec:
replicas: {{ .Values.replicaCount }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}Ortam Başına Değerler
Her ortam için ayrı bir değerler dosyası tutun ve bunu kurulum sırasında iletin. Hazırlık ortamı 1 kopya, üretim ortamı ise 5 kopya çalıştırabilir.
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--namespace productionKurulum ve Yükseltme
helm upgrade --install komutu eş işlemlidir: sürüm mevcut değilse kurar, mevcutsa yükseltir.
Bu tek komut, hem ilk hem de sonraki dağıtımlarda çalıştığı için CI/CD açısından idealdir.
CI'da Görüntü Etiketini Ayarlama
CI'da genellikle yeni oluşturulan görüntü etiketini (çoğu zaman işleme ait SHA'yı) --set kullanarak eklersiniz.
Bu, Kubernetes yayınını işlem hattınızın az önce oluşturduğu tam yapıtla ilişkilendirir.
- run: |
helm upgrade --install myapp ./mychart \
--set image.tag=${{ github.sha }}Paketleri Denetleme
Dağıtımdan önce paketi helm lint ile doğrulayın ve YAML veya şablon oluşturma hatalarını erkenden yakalamak için helm template ile işleyin.
- run: helm lint ./mychart
- run: helm template myapp ./mychart -f values-prod.yamlHelm ile Geri Alma
Helm, her sürümü numaralandırılmış bir revizyon olarak izler. Bir dağıtımda sorun çıkarsa anında geri alabilirsiniz.
Bu yaklaşım, hızlı ve belirlenebilir olduğu için felaket kurtarma uygulamalarıyla iyi bir şekilde örtüşür.
helm history myapp
helm rollback myapp 3Paketleme ve Yayımlama
Chart'lar, sürümlendirilmiş arşivler hâline getirilebilir ve tıpkı konteyner imajları gibi bir chart deposuna veya OCI kayıt deposuna gönderilebilir.
Bu sayede diğer ekipler chart'ınızı sürümüne göre kullanabilir.
helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/chartsBir Helm Dağıtım İşi
Hepsini bir araya getirelim: kümeye kimlik doğrulaması yapın, Helm'i kurun, ardından yükseltme işlemini gerçekleştirin. Azure setup-helm action'ı, CLI'yi çalıştırıcıya kurar.
- uses: azure/setup-helm@v4
- run: |
helm upgrade --install myapp ./mychart \
-f values-prod.yaml \
--set image.tag=${{ github.sha }} \
--waitKısa Kontrol
CI/CD'de Helm anlayışınızı test edin.
Özet
Kubernetes uygulamalarını Helm ile dağıtmayı öğrendiniz.
- Chart'lar, şablonlu bildirimleri ve
values.yamldosyasını paketler - Ortam başına değer dosyaları, hazırlık ve üretim ortamlarını yapılandırır
helm upgrade --install, CI dağıtımlarında kullanılan idempotent komuttur- Revizyonlar anında geri alma olanağı sağlar ve chart'lar da imajlar gibi yayımlanabilir
Helm, ham bildirimleri sürümlendirilmiş ve yeniden kullanılabilir sürümlere dönüştürür.
Sıkça Sorulan Sorular
“CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları” dersi ücretsiz mi?
Evet — “CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları” dersinde ne öğreneceğim?
Kubernetes dağıtımlarını Helm grafikleriyle paketleyip sürümleyin, yapılandırmayı her ortama göre şablonlayın ve grafik sürümlerinin GitHub Actions üzerinden yayımlanmasını otomatikleştirin. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Actions ile Docker Görüntüleri Oluşturma
- Görüntüleri Kayıt Depolarına Gönderme
- Actions ile Kubernetes'e Dağıtım
- CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları