見出し画像

Raspberry pi 3 × k3s に Grafanaでメトリクスを見れるようにする

画像1

仕事でopenshift/kubernetesを触ることが多いので、お家にRaspberry Piでkubernetesクラスターを作りました。

k3sでクラスターを作りました。k3sは超ざっくり説明するとめちゃ軽いkubernetesです。なので非力なラズパイでも動きます。

今回は、ラズパイk3sクラスターにPrometheus/Grafanaを入れて、基本的なリソースを監視できるようにしたので、紹介します。

Prometheus

Prometheusはサーバのリソース状況等を収集するモニタリングシステムです。これを使ってノードの情報を収集し、ダッシュボードツールであるGrafanaに送ってあげるという感じです。

prometheusという名前でネームスペースを作成し、そこにDeploymentでPrometheus、DaemonSetでNode Exporterをデプロイします。DaemonSetはノード全台にPodをデプロイするリソースなのでNode Exporterにはピッタリです。

ラズパイのCPUアーキテクチャがarmv7なので、それに対応したイメージが必要です。今回はrycus86/prometheusからイメージをプルします。

データ永続化のために、pvc/pvの作ってあげたり、prometheusのConfigを設定するため、configmapを作ってあげたりしてます。

また、grafanaからデータをGETできるように、traefikのingressを作成しています。

適用したマニフェストは下記においたので参考にしてください。

Podとしてはこんな感じに。

スクリーンショット 2021-01-22 19.55.14

Grafana

grafanaという名前でnamespaceを作成し、GrafanaのPodをdeploymentでデプロイします。イメージはオフィシャルのgrafana/grafanaでデプロイできます。こちらもデータ永続のためにpvc/pvを作成しています。

また、クラスター外部から接続できるようにtraefikのingressも作りました。

grafanaにアクセスできたら、データソースをingressで作成したPrometheusのホストを指定します。

スクリーンショット 2021-01-22 19.43.16

あとはダッシュボードを設定していきます。

Node exporterで提供しているクエリーが使えるで、それを使って監視したい項目をダッシュボードに表示していきます。

スクリーンショット 2021-01-22 19.45.30

下記のページで監視すべき項目や設定方法が解説されているので、参考にしてみてください。

まとめ

Raspberry pi 3 × k3sでもgrafanaでかっこよくリソース監視できました!

超ざっくりですいません。

ラズパイはarmv7でDocker hubに転がっているイメージが使えないときが多々あるので、そこが玉に瑕👾

この記事が気に入ったらサポートをしてみませんか?