Bu yazıda, Kubernetes cluster üzerinde uygulama yönetimi ve dağıtımı için Helm kurulum adımlarını ve Helm chart’larının kullanımını inceleyeceğiz.
Helm Kurulumu için Gerekli Ön Koşullar
Helm kurulumuna başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olmalısınız:
- Çalışan bir Kubernetes cluster’ınız olmalı.
- Kubernetes cluster API endpoint’i Helm çalıştırdığınız makineden erişilebilir olmalı.
- Cluster’a
kubectl
ile kimlik doğrulaması yapmalısınız vecluster-admin
yetkilerine sahip olmalısınız.
Yöntem 1: Script Kullanarak Helm Kurulumu
Bu yöntemi, özellikle yerel çalışma ortamınızda ya da test sunucularında Helm kurulumunu yapmak için öneriyorum. Ancak, proje gereksinimleri için belirli bir Helm sürümüne ihtiyaç duyuyorsanız, sonraki bölümde yer alan ikili (binary) kurulum yöntemini takip etmeniz daha uygun olacaktır.
Not: Helm ile yönetmek istediğiniz cluster’a uygun kubectl
bağlamı (context) ayarlanmış olmalıdır.
Adım 1: Helm Kurulum Script’ini İndirin
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
Adım 2: İndirilen Script’e Çalıştırma İzinleri Verin
chmod +x get_helm.sh
Adım 3: Script’i Çalıştırın
Bu script, sisteminize uygun ikili dosyayı otomatik olarak bulup kuracaktır.
./get_helm.sh
Adım 4: Kurulumu Doğrulayın
Helm komutunu çalıştırarak kurulumun başarılı olup olmadığını kontrol edebilirsiniz.
helm
Yöntem 2: İkili Dosya ile Helm 3 Kurulumu
Bu yöntem, proje ortamlarınızda belirli bir Helm sürümünü tüm sistemlerde aynı olacak şekilde kurmanız gerektiğinde tercih edilmelidir.
Adım 1: İhtiyaç duyduğunuz sürüm için GitHub Helm sürüm sayfasına gidin ve uygun Linux amd64
bağlantısını kopyalayın.
wget -O helm.tar.gz https://get.helm.sh/helm-v3.13.0-rc.1-linux-amd64.tar.gz
Adım 2: İndirilen Dosyayı Açın
tar -zxvf helm.tar.gz
Adım 3: Helm İkili Dosyasını /usr/local/bin
Diznine Taşıyın
sudo mv linux-amd64/helm /usr/local/bin/helm
Adım 4: Kurulumu Doğrulayın
helm
Yöntem 3: Paket Yöneticileri ile Helm Kurulumu
MacOS için
brew install helm
Debian/Ubuntu için
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
Windows için
Scoop kullanarak:
scoop install helm
Chocolatey kullanarak:
choco install kubernetes-helm
Helm Güncelleme
Eğer eski bir Helm sürümünü kullanıyorsanız ve en son sürüme yükseltmek istiyorsanız, aşağıdaki adımları takip edebilirsiniz:
MacOS için
brew update
brew upgrade helm
Linux için
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Windows için
choco upgrade kubernetes-helm
Güncellemeden sonra sürüm kontrolünü şu komutla yapabilirsiniz:
helm version
Stabil Helm Reposu Ekleme
Topluluk tarafından geliştirilen ve bakımı yapılan stabil Helm chart’ları için repo ekleyelim:
helm repo add stable https://charts.helm.sh/stable
Belirli bir chart’ı aramak için search
komutunu kullanabilirsiniz. Örneğin, Kubernetes üzerinde Jenkins kurmak isterseniz şu komutu kullanabilirsiniz:
helm search repo jenkins
Alternatif olarak, ArtifactHub üzerinden topluluk tarafından paylaşılan Helm chart’larına göz atabilirsiniz.
Helm Chart Kurulumu ve Doğrulama
Helm kurulumunu doğrulamak için nginx-ingress
controller kurulumunu yapacağız.
Adım 1: Nginx-Ingress Helm Reposunu Ekleyin
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
Adım 2: Chart Repo’yu Güncelleyin
helm repo update
Adım 3: Nginx Chart Kurulumu Yapın
helm install ingress-controller ingress-nginx/ingress-nginx
Burada ingress-controller
özel sürüm adıdır. İstediğiniz bir ismi verebilirsiniz.
Adım 4: Helm Deployment Durumunu Kontrol Edin
helm ls
Alternatif olarak, kubectl
ile de durumu kontrol edebilirsiniz:
arduino
kubectl get deployments
Adım 5: Kurulumu Kaldırma
Doğrulama sonrası kurulumu kaldırmak için şu komutu çalıştırmanız yeterlidir:
helm uninstall ingress-controller
Sonuç
Bu yazıda, Helm kurulumu, chart repo ekleme ve örnek bir Helm deployment’ı doğrulama işlemlerini inceledik. Projelerde Helm kullanırken kendi chart’larınızı oluşturmanız ve güvenlik ekibi tarafından onaylanmış container image’larını kullanmanız önerilir. Topluluk chart’larını kullanıyorsanız, community docker image’larını özel yapılmış image’larla değiştirmeyi unutmayın.
Helm chart geliştirme konusunda daha detaylı bir rehber için bir sonraki yazımıza göz atmayı unutmayın!