Azure Kubernetes Servisi Üzerinde Grafana-Prometheus Kurulumu

Çiğdem Kadakoğlu
4 min readFeb 21

--

AKS-Grafana-Prometheus-Azure-Helm

Herkese merhaba,

Bu yazıda var olan Azure Kubernetes Servisimiz için grafana-prometheus stack ini nasıl kuracağımızı göstereceğim.

kadakoglucigdem

Öncelikle helm reposunu Azure DevOps repomuza import edelim; çünkü versiyonlar vs değiştiği için sonradan sorun yaşamamak adına var olan versiyonu kendi repomuza almak iyi bir pratiktir.

kadakoglucigdem

Import → https://github.com/prometheus-community/helm-charts/tree/main

kadakoglucigdem

Bu işlem biraz zaman alabilir.

kadakoglucigdem

Bu işlem bittikten sonra default olarak main branchi seçebilirsiniz; çünkü main branch üzerinden ilerleyeceğiz.

kadakoglucigdem

Şimdi azure-pipelines yaml dosyamızı oluşturma vakti!

kadakoglucigdem

Pipelines → Create Pipeline

Azure Repos Git →

kadakoglucigdem

Prometheus Community →

kadakoglucigdem

Starter Pipeline →

kadakoglucigdem

Şimdi pipeline ı düzenleyebiliriz. AKS için connection kurduğunuzdan emin olun.

Öncelikle monitoring adında bir namespace oluşturalım. Kubernetes taskı ile bunu ekleyelim.

- task: Kubernetes@1
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceEndpoint: 'aks-connection'
command: 'create'
arguments: 'namespace monitoring'

Sıradaki adım ise helm ile chartımızı yüklemek olacak.

- task: HelmDeploy@0
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceConnection: 'aks-connection'
namespace: 'monitoring'
command: 'install'
chartType: 'FilePath'
chartPath: 'charts/kube-prometheus-stack'
releaseName: 'prometheus'
arguments: '--dependency-update'

Burada “ — dependency-update” argümanı önemli; çünkü diğer bağımlılıkların da yüklenmesini sağlamaktadır.

Save&Run butonuna tıklayalım.

kadakoglucigdem

Grafana servisi default olarak ClusterIP kullanır. Bunu servisimizi dışarı açmak için repomuzdan değiştirelim.

charts/kube-prometheus-stack/values.yaml dosyasındaki 894. satırı aşağıdaki gibi değiştirip commitleyelim.

kadakoglucigdem

Pipeline ımıza upgrade taskını ekleyelim.

- task: HelmDeploy@0
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceConnection: 'aks-connection'
namespace: 'monitoring'
command: 'upgrade'
chartType: 'FilePath'
chartPath: 'charts/kube-prometheus-stack'
releaseName: 'prometheus'
arguments: '--dependency-update'

Diğer 2 taskı disabled edip pipeline ı tekrar çalıştırabiliriz.

kadakoglucigdem

Gördüğünüz gibi upgrade edildi.

Burada isterseniz pipeline isterseniz de Azure Portal üzerinden Grafana için reserve edilen ip yi görebilirsiniz.

Grafana için default kullanıcı ve şifresi aşağıdaki gibidir:

kullanıcı : admin

şifre : prom-operator

İsterseniz chart üzerinden de değiştirebilirsiniz.

kadakoglucigdem

Giriş yaptıktan sonra Dashboard tabına baktığınızda hali hazırda birçok dashboard ile kurulmuş olduğunu görebilirsiniz.

kadakoglucigdem

YAML dosyamızın son hali:

trigger:
- none

pool:
vmImage: ubuntu-latest

steps:
- task: Kubernetes@1
enabled: false
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceEndpoint: 'aks-connection'
command: 'create'
arguments: 'namespace monitoring'

- task: HelmDeploy@0
enabled: false
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceConnection: 'aks-connection'
namespace: 'monitoring'
command: 'install'
chartType: 'FilePath'
chartPath: 'charts/kube-prometheus-stack'
releaseName: 'prometheus'
arguments: '--dependency-update'

- task: HelmDeploy@0
inputs:
connectionType: 'Kubernetes Service Connection'
kubernetesServiceConnection: 'aks-connection'
namespace: 'monitoring'
command: 'upgrade'
chartType: 'FilePath'
chartPath: 'charts/kube-prometheus-stack'
releaseName: 'prometheus'
arguments: '--dependency-update'
kadakoglucigdem

Umarım faydalı bir yazı olmuştur. Her türlü önerinizi ve sorunuzu bana bildirmekten ve sormaktan çekinmeyin lütfen.

Herkese iyi günler diliyorum!

--

--

Çiğdem Kadakoğlu

Senior Cloud&DevOps Engineer | Instructor | Docker Captain | Azure Solutions Architect | CK{A|AD}-AZ{104|204|305|400|800|801|900}-DP900🐧🐳🌼☕🍋🦆🐙