Member-only story
PrometheusとGrafanaによるKubernetesコストモニタリング(前半)
この記事は長いので、前半と後半に分けておおくりいたします。今回は前半です。
どのようなインフラを運用しているかにかかわらず、コストは常に重要です。クラウドの課金が制御不能になったという恐ろしい話はよくあることで、チームはリソースの使用状況を監視し、予期せぬ事態を回避するための何らかの対策を講じる必要があります。インフラストラクチャの使用量とコストを監視することには、他にも利点があります。インフラストラクチャのアップグレードや拡張を決定する際に、この追加データにアクセスできることは有益な情報となるかもしれません。
この記事は、Kubernetesクラスターを監視するためにGrafanaとPrometheusをセットアップする方法についての記事です。Kubernetes と同様に、Prometheus も Cloud Native Computing Foundation からより進化したものです。オープンソースの監視システムであり、他の多くのツールやシステムと統合してデータを収集します。同じくオープンソースのプロジェクトであるGrafanaは、Prometheusを含むさまざまなデータソースのダッシュボードおよびビジュアライザーとして機能し、最高級のサポートを誇っている。この2つのツールを使えば、クラスタの使用状況について有益な指針を得ることができるはずです。
Setting Up Prometheus Operator
PrometheusとGrafanaをスタンドアロンアプリケーションとして独立してインストール・管理し、後から接続することも可能ですが、かなり多くのコンフィグレーションボイラープレートが必要となり、Prometheus Operatorを使用することですべてをアブストラクトすることができます。具体的には、本ガイドでは、Prometheus Operatorの設定とGrafanaの設定を行うHelmチャートであるkube-prometheus-stackを使用します。
この Helm チャートでは、必要最小限のコンフィグレーションで機能的なモニタリングスタックが利用可能で、これらのツールの実験に最適な方法です。また、監視スタックに既存のコンポーネントがない場合、長期的なデプロイメントのためのセットアップに適しています。
始める前に、前提条件が整っていることを確認してください。kube-prometheus-stackを使用する場合、必要なのはKubernetesクラスタとHelm 3だけです。
これらのリソースにはデフォルトでないネームスペースを使用することをお勧めします。このように新しいネームスペースを作成することができます。
kubectl create namespace monitoring