【Helm】helmfileでPrometheusとGrafanaを構築する
はじめに
helmfileを使ってKubernetes上にPrometheusとGrafanaをデプロイしてみたいと思います。
今回はローカルのKubernetes上にデプロイして、Grafanaを使ってみます。
helmfileについては下記で解説しています。
【Helm】helmfile使ってみる
:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。
PrometheusとGrafanaでダッシュボードを作成する方法については下記で解説しています。
ローカルでPrometheusとGrafanaでダッシュボード作成してみる
はじめに 今回は、**ローカルでPromethesとGrafana動かし、メトリクスの可視化**
今回は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
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
⚠️(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
です。
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
参考
- grafana/helm-charts
- prometheus-community/helm-charts: Prometheus community Helm charts
- charts/stable/prometheus at master · helm/charts