Helm Nedir
Kubernetes kullanan herkesin mutlaka öğreneceği bir yazılım olan helm için kubernetesin paket yöneticisi diyebiliriz. İşletim sistemlerinde ki apt,dnf gibi hızlı bir şekilde uygulamalarımızı kurmamızı sağlamaktadır.
Örneğin; wordpress altyapısı için bir wordpress yazılımı ve arka tarafında mysql veritabanı çalışması gerekmektedir. Biz bu yapıyı manuel olarak deploymentlar, statefulset ve servisler ile ayağa kaldırabiliriz. Ama helm ile bu yapıyı tek bir komutla ayağa kaldırabiliriz.
Wordpress iki bileşenden oluşuyor ama uygulamamız için deploymentlar, statefulset, servisler, persistencevolume, serviceaccount, rolebinding gibi fazla sayıda objemiz var ise bu yapıyı farklı clusterlarda ayağa kaldırmak iş yükü çıkartacaktır. Helm ile bu yapıyı bir paket haline getirip tek komut ile ayağa kaldırabiliriz.
Bir güzel özelliği daha ortama bağlı olarak dinamik değerlerin kullanılabilmesidir. Örneğin; dev veya prod ortamları için farklı kaynak limitleri, pod replika sayıları vb. oluşturabiliriz.
Helm Chart Olusturma
helm create suleyman-helm-project
Yukarıda ki komut ile helm chart oluşturuyoruz. Bu komut ile bize helm dosya yapısını oluşturacak
charts
Chart.yaml > Helm chart ile ilgili temel bilgilerin yazıldığı dosyadır. Chart ismi, versiyonu v.
templates > Kubernetes manifest dosyalarımızın yazıldığı klasördür.
values.yaml > Helm chart için varsayılan değerlerin yazıldığı klasördür.
Aşağıdaki gibi bir python uygulamam ve bağlandığı veritabanı ve bunların servisleri var. Bunları templates klasörüne içine atıyorum.
Artık suleyman-helm-project klasörünün içerisinde helm install suleyman-uygulama . aşağıdaki gibi bir sonuç verecektir.
root@master:~/helm/suleyman-project# helm install suleyman-uygulama .
NAME: suleyman-uygulama
LAST DEPLOYED: Tue Dec 30 19:45:29 2025
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
Kaldırmak için de helm uninstall suleyman-uygulama komutu kullanılabilir.
Helm ile önceki versiyonlar arasında geçiş yapabiliriz. Bu şekilde kullanmak çok kullanışlı değil çünkü parametreler dinamik olarak güncellenmiyor. Ama production ortamlarda bazı istenilen değerler values.yaml dosyası ile dinamik olarak değiştirilebilmektedir.
Helm ile ilgili daha fazla örneğini aşağıdaki github repository içerisinde bulabilirsiniz.
https://github.com/suleymanakturk/Helm.git
Bir sonraki makalede görüşmek üzere, iyi günler.


Top comments (0)