Bloğa geri dön

Windows'ta Helm 3 Paket Yöneticisi ile Kubernetes Üzerine Yazılım Kurma

Windows'ta Helm 3 Paket Yöneticisi ile Kubernetes Üzerine Yazılım Kurma

Yazılım geliştirme geçmişinden geliyorsanız, muhtemelen Paket Yöneticisi terimine aşinasınızdır. Paket Yöneticileri; bağımlılıkları yüklemenize, sürümleri yükseltmenize ve düşürmenize vb. olanak tanır. Bu eğitimde, Kubernetes için oldukça popüler bir paket yöneticisi olan Helm.

aracına göz atacağız. Helm, Kubernetes uygulamalarının yönetilmesine yardımcı olur. Helm ile uygulama meta verilerini, bağımlılıklarını ve yapılandırmalarını belirterek bir Kubernetes uygulaması tanımlayabilirsiniz. Helm ayrıca Kubernetes üzerinde uygulamalar yükleyebilir, bunun yanı sıra uygulamaları yükseltebilir ve düşürebilir. Son olarak, Helm dosyasını kullanarak uygulamanızı başkalarıyla paylaşabilirsiniz. Bu eğitimde, Windows işletim sisteminde Helm 3'ü nasıl kuracağınızı, ayrıca chart'ları ve sürümleri nasıl kuracağınızı, yükselteceğinizi, geri alacağınızı ve yöneteceğinizi göstereceğiz.

Hadi başlayalım!

Gereksinimler

Eğitime başlamadan önce, ilk olarak aşağıdaki kurulumlara sahip olduğunuzdan emin olmanız gerekir:

  • Windows üzerinde Kubernetes kurulumu yapmadıysanız, başlamanın en kolay yolu Docker Desktop kullanmaktır. Şu adrese gidin: https://www.docker.com/products/docker-desktop. Docker Desktop uygulamasını indirin ve kurun. Bu eğitimde Windows ile çalışacağız. Bu nedenle WSL 2 Backend kurulumu yapmamız gerekecek. Bu, Windows için bir Linux alt sistemidir ve Docker desteği sağlar:

Docker Desktop Kubernetes with Helm

Once the Docker Desktop hazır olduğunda, Settings -> Kubernetes seçeneğine gidin ve şu seçeneği işaretleyin: Enable Kubernetes:

Docker Settings Kubernetes with Helm

Enable k8s Kubernetes with Helm

Her şeyin düzgün çalışıp çalışmadığını kontrol etmek için, kullandığınız sistem hangisiyse terminal/powershell ekranına gidin ve aşağıdaki komutu yazın:

Aşağıdaki çıktıyı görüyorsanız, başlamaya hazırsınız demektir:

kubectl Kubernetes with Helm

Alternatif olarak, Ubuntu üzerinde çalışmaya karar verirseniz detaylı kılavuzumuzu takip edebilirsiniz: Ubuntu 20.04 üzerinde Kubernetes Nasıl Kurulur ve Kullanılır.

Ayrıca, kurulum işlemine başlamadan önce Helm ile ilişkili bazı temel terimlere göz atalım.

  • Charts

 Kubernetes YAML dosyaları Helm chart'ları içinde paketlenir.

  • Helm Depoları

Helm, depolar için destek sağlar. Bir Helm deposu, başkalarının kullanabilmesi için Helm chart'larını barındıran bir konumdur. Helm, kendi depolarınızı oluşturmanıza izin vermenin yanı sıra üçüncü taraf depoları da destekler.

  • Tiller

Tiller, Helm'in sunucu bileşenidir. Kubernetes kümesine kurulması gerekir. Helm Chart'ını alır ve kümeyi buna göre yapılandırır.

Ayrıca, Helm hakkında detaylı bir genel bakış sunan blog yazımıza göz atabilir ve Helm'in Kubernetes'e uygulama dağıtımını basitleştirme yöntemlerini inceleyebilirsiniz.

Şimdi başlamaya hazırız!

Adım 1: Helm 3 Kurulumu

Helm 3 kurulumu oldukça basit bir işlemdir. Sürümler Helm GitHub sayfasında mevcuttur. Tercih ettiğiniz işletim sistemine göre kullanacağınız sürümü indirebilirsiniz. Bu eğitimde Windows işletim sistemini kullanacağız, bu nedenle Windows için aşağıdaki adımları takip edin:

  1. GitHub sayfasında, Windows için Helm ikili dosyalarını indirin.

  2. İndirme işlemi tamamlandığında, sıkıştırılmış arşivi İndirilenler klasörünüzde veya indirdiğiniz yerde bulabilirsiniz.

  3. Ardından, bu arşivi uygun bir konuma taşıyın ve arşivden çıkarın. Çıkarılan içerikte helm.exe dosyasını bulmalısınız:
    helm_binary

  4. Klasör konumunu kopyalayın ve sisteminizin ortam değişkenlerindeki PATH değişkenine ekleyin.

  5. İşlemi tamamladıktan sonra terminali açın ve aşağıdaki komutu yazın:

Aşağıdaki çıktıyı görüyorsanız, Helm kurulumunu tamamlamışsınız demektir. Ardından sonraki adımlara geçebilirsiniz:

helm

Adım 2: Depoları Kurma ve Bir Helm Chart'ı Yükleme

Helm, depolara erişimi ve depoların yönetimini destekler. Depolar, Helm Chart'larının saklandığı yerlerdir. Başlangıçta Helm'in kendi deposu yoktur. Bunun yerine Helm, yöneticileri ve DevOps uzmanlarını kendi depolarını üretmeye teşvik eder. Bu, Kubernetes kümenizde MongoDB barındırmak istiyorsanız, bunu Helm Deposuna kendiniz eklemeniz gerekeceği anlamına gelir. Depoları bulmanıza yardımcı olması için Artifact.io kullanabilirsiniz. Bu, tüm Helm chart'ları için açık kaynaklı bir katalogdur ve CNCF tarafından yönetilmektedir..

Aşağıda size bir depoyu nasıl kuracağınızı ve yazılımı nasıl indirip yükleyeceğinizi göstereceğiz. Örnek olarak MongoDB kurulumunu ele alacağız. Kubernetes kümenize MongoDB kuracağınızı varsayalım. Kurulum için aşağıdaki adımları izleyin:

  1. İlk olarak, şu adrese gidin: https://artifacthub.io.

  2. Ardından, MongoDB'yi aratın. Arama yaptığınızda, birçok seçeneğin mevcut olduğunu göreceksiniz. Bizim ilgilendiğimiz seçenek: MongoDB by Bitnami:
    search_mongodb

  3. Arama sona erdiğinde farklı seçenekler göreceksiniz. Her bir chart'ın karşısında yayıncıyı, sürümü ve diğer ilgili bilgileri görebilirsiniz. İstediğiniz chart'ı bulduğunuzda, onu seçmeniz gerekir. Burada MongoDB by Bitnami seçeneğine tıklıyoruz:
    select_mongodb

  4. Şimdi teknik kısım gerçekten başlayabilir. Genel açıklamaya bakarsanız, hizmetlerden herhangi birini kurmak isteyen herkes için iyi bir kılavuzun mevcut olduğunu göreceksiniz. Farklı seçenekleri, yapılandırmaları, parametreleri, chart'ın nasıl silineceğini ve bilgiye ihtiyaç duyabileceğiniz diğer her şeyi inceleyebilirsiniz. Şu butonu bulun: Install butonu ve ona tıklayın:
    mongodb_install Kubernetes with Helm

  5. İşte MongoDB'yi kurmak için ihtiyacınız olan her şey. İlk olarak, depoyu eklemeniz ve ardından chart'ı kurmanız gerekir. Depoyu eklemek için terminali açın ve şu komutu yazın:

Aşağıdaki çıktıyı göreceksiniz:

repo_add_bitnami

Depoyu kurduğunuza göre, şimdi chart'ı yüklemeniz gerekiyor. İletişim kutusundaki komutu kopyalayın ve ardından çalıştırın:

İşlem tamamlandığında MongoDB kurulumunuz hazır olacaktır.

Adım 3: Sürümleri Yönetme

Yazılım geliştirmede sürüm yönetimi hayati önem taşır. Her zaman önceki sürümlere güncellemeniz veya geri dönmeniz gereken zamanlar olur. Neyse ki, Helm'de sürümleri yönetmek nispeten basit bir işlemdir. Helm, her zaman önceki sürüme geri dönebilmeniz için sürüm numaralarını tutar. Benzer şekilde, uygulamanızın dağıtıldığını ve yayında olduğunu ve yapılandırmalar yapmanız gerektiğini varsayalım; Helm bunu da destekler. Aşağıda, bu işlemleri gerçekleştirmenize yardımcı olacak bazı en iyi uygulamaların üzerinden geçeceğiz.

  • Uygulama nasıl güncellenir

Varsayalım ki values.YAML dosyanızda, uygulamanın çalışan iki örneğine (instance) sahip olmanız gerektiğini belirttiniz. Bunun nedeni uygulamanızın yüksek oranda erişilebilir (highly available) olması gerekmesi olabilir. Ancak daha sonra, uygulamanın üç örneğe sahip olması gerektiğini fark ediyorsunuz. Helm olmadan, önce uygulamayı durdurmanız, ardından yapılandırmanız ve yeniden dağıtmanız gerekir. Helm kullanarak, önce values.YAML dosyasında değişiklikler yapabilir ve ardından aşağıdaki komutu çalıştırmanız yeterlidir. Helm dosyalarınızın bulunduğu dizinde aşağıdaki komutu çalıştırın:

  • Sürüm nasıl geri alınır

Şimdi sürümünüzün bozulduğunu varsayalım. Belki yanlış port numaralarını veya yolları yapılandırdınız. Herhangi bir önceki sürüme geri dönmek için tek yapmanız gereken aşağıdaki komutu çalıştırmaktır; ardından Helm sürümü önceki versiyona geri döndürecektir:

Helm tüm sürümlerle ve sürüm oluşturmayla ilgilenecektir. Bu, Kubernetes ile Helm kullanmanın en büyük avantajlarından biridir. Herhangi bir uygulamanın tüm sürümlerini görmek için Helm chart'larını ve YAML dosyalarını içeren dizinde aşağıdaki komutu çalıştırın:

Adım 4: Kendi Chart'ınızı Oluşturun

Son olarak, artık Helm konusunda rahat olduğunuza ve nasıl çalıştığını anladığınıza göre, kendi chart'ınızı oluşturma zamanı geldi. Kendi özel chart'ınızı oluşturarak, uygulamanızı kolayca dağıtabilir ve herhangi bir depoda barındırabilirsiniz. Aşağıda özetleyeceğimiz adımları izlerseniz chart'ınızı oluşturmak oldukça basit bir işlemdir. İlk olarak, terminali açın ve aşağıdaki komutu çalıştırın:

Bu, belirttiğiniz isimle bir dizin oluşturacaktır. Biz şu ismi kullanıyoruz: my-app. Klasörün içeriğine bakalım:

Aşağıdaki yapıyı elde edeceksiniz:

İşte çıktıdaki içeriğin bir özeti:

  • charts klasörü – Bağımlı chart'ları eklemek için kullanılır.
  • templates klasörü – Kümede konuşlandırılacak yapılandırma.
  • YAML dosyası – Helm chart yapısının taslağı.
  • YAML dosyası – Chart'ı yapılandırmak için biçimlendirme bilgileri.

Ardından, chart'ınızı yüklemek ve yapılandırmak için aşağıdaki adımları izleyin:

  • Görüntüyü yapılandırın ve çekin

Şu dosyayı açın: values.YAML dosyası. Burada image düğümünü bulun. Ardından, istediğiniz gibi yapılandırabilirsiniz. Olası değerler şunlardır: IfNotPresent, Always, Latest. Değerlerin tam listesini resmi belgelerde bulabilirsiniz.

  • Chart adını geçersiz kılma

Bu adım isteğe bağlıdır, dilerseniz atlayabilirsiniz:
override

  • Servis adı

Şu dosyayı açın: values.YAML dosyası ve şu düğümü bulun: serviceName. Ardından, istediğiniz adı ekleyin. Chart'ı yüklemeden önce bir ad hazırlamış olmak iyidir:
service_name

  • Chart'ı yükleyin

Son olarak, chart'ı yüklemek için aşağıdaki komutu çalıştırın:

Kümede konuşlandırmadan önce chart'ınızı yapılandırmak için mevcut tüm seçenekleri dikkatlice incelemenizi öneririz.

Geliştiriciler Neden Helm'i Seviyor?

Helm, dağıtımları zaman zaman başlatıp durdurması gereken geliştiriciler ve DevOps uzmanları arasında popülerlik kazanıyor. İşte Helm'in başlıca avantajlarından bazıları:

  1. Helm, dağıtım sürecini basitleştirir. Öğrenilecek yeni bir şey getirmez, aksine mevcut YAML dağıtımlarının kullanıcı tarafından kolayca yapılandırılabilmesini sağlar.

  2. Küme sayısı veya bağlantı noktaları gibi yapılandırmaları sık sık değiştirmek yerine, Helm bunu kolayca yapılandırılabilir hale getirir. Kullanıcının tek yapması gereken, değerleri şu dosyada güncellemektir: values.YAML dosyası.

  3. Helm, uygulamayı depolarda paketleyerek diğer kullanıcılarla paylaşmaya olanak tanır.

Sonuç

Bu eğitimde, Windows üzerinde sıfırdan Helm paket yöneticisinin nasıl kurulacağını inceledik. Helm'in gücünden yararlanmak için net bir şekilde anlaşılması gereken farklı temel kavramlara baktık. Ayrıca keşfedilen Helm depolarında bulunan farklı işlevleri de gördük. Artık kendinizi Helm konusunda rahat hissetmeli ve bir sonraki Kubernetes projenizde/dağıtımınızda uygulamalısınız.

Kubernetes ve işlevleri hakkındaki bilginizi daha da artırmak için blogumuzdaki diğer eğitimlere göz atabilirsiniz:

Keyifli Çalışmalar!

author

Pranay Kapgate

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.