Helm Nedir
Source: Dev.to
Helm Nedir
Wordpress gibi bir uygulama, ön yüzde bir Wordpress konteyneri ve arka planda bir MySQL veritabanı gerektirir. Bu bileşenleri manuel olarak Deployment, StatefulSet, Service, PersistentVolume, ServiceAccount, RoleBinding gibi Kubernetes objeleriyle oluşturabiliriz. Ancak Helm sayesinde aynı yapı tek bir komutla paketlenip dağıtılabilir.
Helm, ortam (dev, prod vb.) bazında dinamik değerler (kaynak limitleri, pod replika sayısı vb.) tanımlamayı da destekler; böylece farklı cluster’larda aynı chart’ı farklı konfigürasyonlarla çalıştırabiliriz.
Helm Chart Oluşturma
helm create suleyman-helm-project
Bu komut, aşağıdaki temel dosya ve klasör yapısını oluşturur:
suleyman-helm-project/
├── Chart.yaml
├── values.yaml
├── charts/
└── templates/
Uygulamanıza ait Kubernetes manifestlerini (Deployment, Service, vb.) templates klasörüne yerleştirin.
Chart’ı Deploy Etmek
Chart klasörünün içinde aşağıdaki komutu çalıştırın:
helm install suleyman-uygulama .
Örnek çıktı:
NAME: suleyman-uygulama
LAST DEPLOYED: Tue Dec 30 19:45:29 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
Chart’ı Kaldırmak
helm uninstall suleyman-uygulama
Bu komut, ilgili release’ı ve oluşturulan tüm Kubernetes kaynaklarını siler.
Versiyonlar Arası Geçiş ve values.yaml
Helm, aynı chart’ın farklı sürümlerini (versiyonlarını) yönetmenizi sağlar. Ancak parametrelerin dinamik olarak güncellenmesi için values.yaml dosyasındaki değerleri değiştirmeniz gerekir. Production ortamlarında ihtiyaç duyulan kaynak limitleri, replica sayısı gibi ayarlar bu dosya üzerinden kolayca özelleştirilebilir.
Daha Fazla Örnek
Helm ile ilgili ek örnekler ve tam proje yapısı aşağıdaki GitHub deposunda bulunabilir:
https://github.com/suleymanakturk/Helm.git
Bir sonraki makalede görüşmek üzere, iyi günler.