![見出し画像](https://assets.st-note.com/production/uploads/images/43724697/rectangle_large_type_2_2c32231cfe97dff219a8c4a2df0eb61e.png?width=1200)
Raspberry pi 3 × k3s に Grafanaでメトリクスを見れるようにする
仕事で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としてはこんな感じに。
Grafana
grafanaという名前でnamespaceを作成し、GrafanaのPodをdeploymentでデプロイします。イメージはオフィシャルのgrafana/grafanaでデプロイできます。こちらもデータ永続のためにpvc/pvを作成しています。
また、クラスター外部から接続できるようにtraefikのingressも作りました。
grafanaにアクセスできたら、データソースをingressで作成したPrometheusのホストを指定します。
あとはダッシュボードを設定していきます。
Node exporterで提供しているクエリーが使えるで、それを使って監視したい項目をダッシュボードに表示していきます。
下記のページで監視すべき項目や設定方法が解説されているので、参考にしてみてください。
まとめ
Raspberry pi 3 × k3sでもgrafanaでかっこよくリソース監視できました!
超ざっくりですいません。
ラズパイはarmv7でDocker hubに転がっているイメージが使えないときが多々あるので、そこが玉に瑕👾