Helm, Kubernetes için paket yöneticisidir ve Kubernetes ortamında uygulamanın dağıtımını ve yönetimini kolaylaştırmak için kullanılır.
Helm Nedir?
Helm, chart adı verilen şablonlarla paketleri oluşturur ve yönetir. Uygulama bileşen, bağımlılıklarını tanımlamak ve yapılandırmak için dosyalar içermektedir. Bir chart; servis, pod, dependencielerini, deployment.yaml gibi bir çok bileşen içerir. Helm uygulama sürümlerini ve rollback, ölçeklendirme gibi senaryoları da kolayca uygulamamızı sağlar. helm’i kullanabilmek için ilk etapta kendi lokal ortamımıza kurmamız gerekmektedir.
MacOS için Kurulum(Homebrew)
brew install helm
Windows için kurulum(chocolatey):
choco install kubernetes-helm
Linux için kurulum(chocolatey):
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
Kubernetes Nedir?
Kubernetes, bir açık kaynak konteyner yönetim ve orkestrasyon platformudur. Konteyner teknolojileriyle (genellikle Docker gibi) çalışırken, uygulamalarınızı paketlemek, dağıtmak ve yönetmek için kullanılan bir platformdur. Kubernetes, büyük ve karmaşık uygulamaları çoklu sunucu ortamlarında (çoğunlukla bulut tabanlı) çalıştırmak ve yönetmek için tasarlanmıştır.
Kubernetes, ölçeklenebilir ve yüksek erişilebilirlik gereksinimleri olan büyük ve karmaşık uygulamaların yönetimi için ideal bir çözümdür. Bulut tabanlı hizmetlerde ve özel veri merkezlerinde yaygın olarak kullanılır. Kubernetes, açık kaynak bir projedir ve büyük bir topluluk tarafından desteklenir, bu nedenle sürekli olarak gelişir ve güncellenir.
Kubernetes Ortamında Helm ile Deployment
Basit bir hello-world uygulamasının kurulumunu yapıp kubernetes ortamına deploy edelim:
Aşağıdaki komut ile temel bir helm chart oluşturabilirsiniz:
helm create hello-world
Baktığımızda temelde bütün komponentleri size oluşturur ve size bu değerleri düzenlemek ve ihtiyacınız olan değerleri values.yaml dosyasında düzenleyerek veya kendinize custom bir values.yaml dosyası oluşturarak gerçekleştirebilirsiniz. Şimdilik repository kısmından kendi docker imajımı ekleyip onu deploy edeceğim.
Son olarak aşağıdaki komutla uygulamayı deploy edebilirsiniz:
helm install -f hello-world/values.yaml -n test hello-world ./hello-world
Uygulamanın çalışıp çalışmadığını aşağıdaki komutla port-forward ederek browser üzerinden 127.0.0.1:8080’i açarak görebilirsiniz:
kubectl --namespace port-forward hello-world 8080:80
Bir sonraki yazımda görüşmek üzere …
Giriş için kısa ve öz. Teşekkürler.