Helm Nedir?
Öncelikle, Kubernetes hakkında biraz bilgi verelim. Kubernetes, container’larınızı yönetmek için kullanabileceğiniz harika bir orkestrasyon aracıdır. Ama bir noktada, bu kadar güçlü bir aracı yönetmek biraz karmaşık hale gelebilir. İşte burada devreye Helm giriyor. Helm, Kubernetes için bir paket yöneticisidir. Basitçe söylemek gerekirse, Helm, uygulamalarınızı kolayca dağıtmanıza ve yönetmenize olanak tanır. Tıpkı bir yazılım paket yöneticisi gibi çalışır.
Helm’i kullanarak, uygulamanızın bir "chart"ını oluşturabilir, bu "chart"ı farklı Kubernetes ortamlarında (geliştirme, test, üretim) kolayca dağıtabilirsiniz. Şimdi gelin, Helm ile Kubernetes uygulamasını nasıl dağıttığımıza bakalım.
Adım 1: Helm’i Kurma
İlk işimiz Helm’i sistemimize kurmak. Eğer Helm’in kurulu değilse, aşağıdaki adımları izleyerek kurulum işlemini başlatabiliriz.
Helm’i kurmak için terminalinizi açın ve şu komutu yazın:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash Bu komut, Helm'in en son sürümünü indirir ve sisteminize kurar. Kurulumun ardından Helm’in doğru şekilde yüklendiğini doğrulamak için şu komutu çalıştırabilirsiniz:
helm version Adım 2: Helm Repository’si Ekleme
Helm ile çalışmaya başlamadan önce, kullanmak istediğiniz Helm chart’larını bir depo (repository) üzerinden çekmeniz gerekecek. Kubernetes uygulamalarını hızlıca dağıtabilmek için genellikle bitnami, stable, ve kubernetes-charts gibi popüler Helm reposunu kullanıyoruz. Bu reposu şu şekilde ekleyebiliriz:
helm repo add bitnami https://charts.bitnami.com/bitnami Repo’yu ekledikten sonra, aşağıdaki komutla repo içeriğini güncelleyebilirsiniz:
helm repo update Adım 3: Uygulama Dağıtımı İçin Helm Chart’ını Seçme
Uygulamanızı dağıtmak için bir Helm chart’ı seçmeniz gerekir. Chart, uygulamanızın Kubernetes üzerindeki tüm yapılandırmalarını ve bağımlılıklarını içerir. Örneğin, bir WordPress uygulaması dağıtmak için Bitnami’nin WordPress chart’ını kullanabiliriz. Bunu yapmak için şu komutu yazmamız yeterli:
helm search repo bitnami/wordpress Bu komut, Bitnami repo’sunda bulunan WordPress chart’ını listeler. Artık, bu chart’ı kullanarak Kubernetes üzerinde WordPress uygulaması dağıtabiliriz.
Adım 4: Helm Chart’ı Kullanarak Uygulama Dağıtma
Uygulama dağıtımı için şu komutu kullanabilirsiniz:
helm install my-wordpress bitnami/wordpress Bu komut, "my-wordpress" adında bir release (yeni bir sürüm) oluşturacak ve Bitnami’nin WordPress chart’ını kullanarak Kubernetes cluster'ınıza dağıtacaktır. Helm, uygulamanızın bütün bağımlılıklarını yükleyecek ve Kubernetes üzerinde çalıştırılmak üzere gerekli yapılandırmaları yapacaktır.
Adım 5: Uygulamanın Durumunu Kontrol Etme
Uygulamanızın başarılı bir şekilde dağıtılıp dağıtılmadığını kontrol etmek için şu komutu kullanabilirsiniz:
helm list Bu komut, Kubernetes üzerinde dağıttığınız tüm uygulamaların listesini gösterir. Ayrıca, dağıttığınız WordPress uygulamasının durumunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
kubectl get pods Adım 6: Uygulama Yapılandırmasını Güncelleme
Helm’in en güzel özelliklerinden biri de uygulama yapılandırmalarını kolayca güncelleyebilmenizdir. Eğer bir değişiklik yapmak isterseniz, şu komut ile değerlerinizi güncelleyebilirsiniz:
helm upgrade my-wordpress bitnami/wordpress --set wordpressPassword=YeniŞifre Bu komut, daha önce dağıttığınız WordPress uygulamasını günceller ve belirttiğiniz yeni şifreyi kullanır.
Adım 7: Uygulamanın Kaldırılması
Bir uygulamayı kaldırmak için Helm çok basit bir yol sunar. Şu komutu kullanarak uygulamanızı silebilirsiniz:
helm uninstall my-wordpress Bu komut, "my-wordpress" adındaki tüm uygulama verilerini siler ve Kubernetes cluster'ınızdan kaldırır.
Sonuç:
Helm, Kubernetes ile uygulama dağıtmayı son derece basitleştiriyor. Hızla uygulama dağıtmak, güncellemek ve kaldırmak için mükemmel bir araçtır. Eğer Kubernetes ile çalışıyorsanız, Helm’i öğrenmek ve kullanmak işinizi oldukça kolaylaştıracaktır.
Helm ile uygulama dağıtma sürecine dair temel adımları öğrendiniz! Şimdi siz de kendi projelerinizde Helm’i kullanarak uygulama dağıtım süreçlerinizi hızlandırabilirsiniz.