2025-01-30Hünkar Döner

Helmfile Nedir? EKS İçin Neden Kullanılır?

HelmfileHelmEKSIaC
H

Helmfile Nedir? EKS İçin Neden Kullanılır?

Helm harikadır, ancak onlarca mikroservisiniz ve her biri için ayrı bir Helm chartınız varsa, bunları tek tek helm install ile kurmak zordur. Ayrıca hangi chartın hangi versiyonunun kurulu olduğunu takip etmek imkansızlaşır.

Helmfile, "Helm for Helm" gibidir. Tüm Helm chartlarınızı, versiyonlarını ve value dosyalarını tek bir helmfile.yaml dosyasında tanımlamanızı sağlar.

Neden Helmfile?

  • Deklaratif: Sisteminizin olması gereken durumunu (Desired State) tarif edersiniz. helmfile apply komutu, sistemi o duruma getirir.
  • Ortam Yönetimi: Dev, Staging ve Prod için farklı values.yaml dosyalarını kolayca yönetir.
  • Sıralama: Önce veritabanı, sonra backend kurulsun gibi bağımlılıkları yönetebilir.

Örnek helmfile.yaml

repositories:
  - name: ingress-nginx
    url: https://kubernetes.github.io/ingress-nginx

releases:
  - name: my-ingress
    namespace: ingress
    chart: ingress-nginx/ingress-nginx
    version: 4.0.0
    values:
      - ./values/ingress-prod.yaml
  
  - name: my-app
    namespace: default
    chart: ./charts/my-app
    values:
      - ./values/app-prod.yaml

Amazon EKS projelerimizde, GitOps'a (ArgoCD) geçmeden önceki aşamada altyapıyı yönetmek için Helmfile vazgeçilmez aracımızdır.