Helm이란?
Source: Dev.to
Helm이란
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 차트 만들기
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 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
차트 삭제하기
helm uninstall suleyman-uygulama
Bu komut, ilgili release’ı ve oluşturulan tüm Kubernetes kaynaklarını siler.
버전 간 전환 및 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.
더 많은 예제
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.