【Helm】helmfileでPrometheusとGrafanaを構築する

2021.12.17
2024.03.24
Kubernetes
GrafanaHelmHelmfilePrometheus

はじめに

helmfileを使ってKubernetes上にPrometheusとGrafanaをデプロイしてみたいと思います。

今回はローカルのKubernetes上にデプロイして、Grafanaを使ってみます。

helmfileについては下記で解説しています。

unknown link

PrometheusとGrafanaでダッシュボードを作成する方法については下記で解説しています。

unknown link

今回はhelmfileを使ってPrometheusのチャートとGrafanaのチャートをインストールします。

用意するファイルとディレクトリ構成

用意するファイルとディレクトリ構成は下記の通りになります。

1.
2├── helmfile.yaml       # 全体のhelmfile
3├── grafana
4│   ├── grafana.yaml    # grafanaのvaluesファイル
5│   └── helmfile.yaml   # grafanaのhelmfile
6└── prometheus
7    ├── helmfile.yaml   # prometheusのhelmfile
8    └── prometheus.yaml # prometheusのvaluesファイル

helmfile.yamlの作成

全体を取りまとめるhelmfile.yamlを作成します。

PrometheusとGrafanaのhelmfile.yamlのパスを指定します。

1helmfiles:
2  - ./prometheus/helmfile.yaml
3  - ./grafana/helmfile.yaml

Prometheus用ファイルの作成

Prometheus用のファイルを作成します。

今回利用するチャートは下記のprometheus-community/prometheusです。

helm-charts/charts/prometheus at main · prometheus-community/helm-charts

helm-charts/charts/prometheus at main · prometheus-community/helm-charts

Prometheus community Helm charts. Contribute to prometheus-community/helm-charts development by creating an account on GitHub.

下記のチャートは非推奨になっています。

charts/stable/prometheus-operator/README.md at master · helm/charts

charts/stable/prometheus-operator/README.md at master · helm/charts

⚠️(OBSOLETE) Curated applications for Kubernetes. Contribute to helm/charts development by creating an account on GitHub.

prometheus/helmfile.yamlは下記の通りです。

1releases:
2  - name: prometheus
3    namespace: default
4    chart: prometheus-community/prometheus
5    values:
6      - ./prometheus.yaml

prometheus/prometheus.yamlは下記の通りです。

1alertmanager:
2  enabled: false
3kube-state-metrics:
4  enabled: false
5prometheus-pushgateway:
6  enabled: false

Grafana用ファイルの作成

Grafana用のファイルを作成します。

利用するチャートは下記のgrafana/grafanaです。

unknown link

grafana/helmfile.yamlは下記の通りです。

1releases:
2  - name: grafana
3    namespace: default
4    chart: grafana/grafana
5    values:
6      - ./grafana.yaml

grafana/grafana.yamlは下記の通りです。

1service:
2  port: 8080

helmfileの適用

まずはGrafanaとPrometheusのチャートがあるリポジトリを追加します。

1helm repo add grafana https://grafana.github.io/helm-charts
2helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helmfileでチャートのインストールをします。

1helmfile apply

PrometheusとGrafanaのチャートがインストールされたのが確認できます。

1❯ helm list
2NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
3grafana         default         1               2021-12-17 22:20:51.414171 +0900 JST    deployed        grafana-6.20.1          8.3.3
4prometheus      default         2               2021-12-17 22:20:44.423359 +0900 JST    deployed        prometheus-11.12.1      2.20.1

Grafanaにアクセスしてみる

Grafanaにログインしてみます。

まずは初回ログインのパスワードを下記コマンドから取得します。

1kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo

ローカルからアクセスできるようにポートフォワードしておきます。

1kubectl port-forward svc/grafana 8080:8080

adminユーザーと先ほど取得したパスワードでGrafanaにログインできます。

これでGrafanaが使えるようになりました。

片付け

最後に用済みの場合は下記で削除します。

1helmfile delete

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee