Deploying Loki in Kubernetes
1. Grafana Helm Repo Eklenmesi
İlk adım, Grafana’nın Helm deposunu Kubernetes kümesine tanıtmaktır:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo updatehelm repo add: Belirtilen URL’yi “grafana” adıyla Helm repositories listesine ekler.helm repo update: Mevcut Helm repo’larınızı günceller, böylece en yeni chart sürümlerine erişebilirsiniz.
2. Loki ile İlgili Chart’ları Aramak
Repo eklendikten sonra, “Loki” anahtar sözcüğüyle ilgili chart’ları listeleyebilirsiniz:
helm search repo lokiArama sonucunda “grafana/loki-stack”, “grafana/loki-canary”, “grafana/loki-distributed” gibi seçenekler görürsünüz. Burada:
loki-stack: Tek seferde Loki, Grafana ve Promtail kurulumunu yapar.
3. Chart Değerlerini (values) İncelemek
Her chart, özelleştirilmesine izin veren bir values.yaml içeriğine sahiptir. helm show values komutuyla varsayılan değerleri görebilirsiniz:
helm show values grafana/loki-stack > values.yamlBu sayede values.yaml içeriğini metin editöründe inceleyip özelleştirebilirsiniz. Tipik olarak şunlar yer alır:
Loki konfigürasyonu (ör. depolama, replikalar vb.)
Promtail ayarları (hangi etiketlerle log toplayacağı, hangi node selector’ları vb.)
Grafana bileşenini etkinleştirme veya devre dışı bırakma ( enable duruma getiriyoruz )
Diğer opsiyonel kısımlar (örn. Fluent Bit entegrasyonu)

4. values.yaml Özelleştirmesi
values.yaml Özelleştirmesigrafana.enabled = trueyaparak Grafana bileşenini aktif hale getiriyoruz (varsayılan olarakfalseolabilir).grafana.image.tag = latestdiyerek Grafana’nın son sürümünün çekilmesini sağlıyoruz (daha sabit bir sürüm kullanmak isterseniz tag’i belirtebilirsiniz).promtail.enabledvarsayılan olarak zatentruegörünüyor; bu sayede Promtail DaemonSet olarak kurulup her node’dan log toplayacak şekilde çalışıyor.
Bu ayarları kaydedip values.yaml dosyasından çıkıyoruz.
5. Loki Stack’i Kurma
Şimdi özelleştirdiğimiz values.yaml dosyasıyla beraber loki-stack chart’ını kurabiliriz:
helm install \
--values values.yaml \
loki \
grafana/loki-stacklokiburada “release name” olarak geçiyor. İstediğiniz bir isim verebilirsiniz.grafana/loki-stack: Kullanmak istediğimiz chart.
Kurulum tamamlandığında Helm bize, loki-stack’in başarılı şekilde kurulduğunu ve Grafana üzerinde otomatik olarak Loki veri kaynağının oluşturulduğunu belirten bir mesaj verir.
6. Kurulum Sonrası Kontrol (kubectl get all)

kubectl get all komutu ile kaynakları görüntülediğinizde şunları görürsünüz:
Pod’lar:
loki-0adlı bir StatefulSet pod’u (Loki’nin kendisi).loki-grafana-xxxxadlı bir Deployment pod’u (Grafana).loki-promtail-xxxxxadlı bir DaemonSet pod’u (Promtail, her node’da bir tane).
Services:
service/loki(Loki’yi erişilebilir kılar).service/loki-grafana(Grafana için Service).service/loki-headless,service/loki-memberlistvb. (Loki’nin dahili iletişimi).
StatefulSet / Deployment / ReplicaSet / DaemonSet:
Grafana (Deployment)
Loki (StatefulSet)
Promtail (DaemonSet)
Bu düzen sayesinde, Promtail tüm node’lardaki log’ları okur ve Loki’ye iletir. Grafana arayüzünde (varsayılan 80 veya 3000 portuyla) Loki datasource’u otomatik tanımlanmış şekilde görürsünüz.
7. Özet
Helm repo ekledik ve güncelledik.
Loki-stack chart’ını aradık ve
values.yaml’ı inceleyip özelleştirdik (Grafana’yı etkinleştirdik, sürüm tag’lerini güncelledik).Helm install komutuyla tek seferde Loki, Grafana ve Promtail’i Kubernetes üzerinde çalışır hale getirdik.
kubectl get all komutuyla, StatefulSet (Loki), Deployment (Grafana) ve DaemonSet (Promtail) kaynaklarının başarılı şekilde oluşturulduğunu doğruladık.
Last updated
Was this helpful?