Prometheus

KubernetesでPrometheusを導入する準備と手順

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

KubernetesクラスターでPrometheusを導入する前に準備すること

KubernetesクラスターにPrometheusをデプロイするには、環境の確認と前提条件の整備が不可欠です。特にHelm CLIPrometheus Operatorの理解は、スムーズなインストールに直結します。以下で必要な準備を確認してください。

Kubernetesクラスターの確認

まず、既存のKubernetesクラスターが正常に動作しているかを確認しましょう。kubectl get nodesコマンドでノード情報やクラスター状態をチェックし、リソース不足やネットワーク問題がないことを確かめます。また、クラスターにRBAC(Role-Based Access Control)が有効になっていることも重要です。

注意: クラスターのセキュリティ設定は、Prometheusの監視機能を安定して実行するための基盤となるため、事前に確認してください。

Helm CLIのインストール

HelmはKubernetesアプリケーションのパッケージ管理ツールで、Prometheusのデプロイを簡易化します。公式サイトから最新バージョンのHelm CLIをダウンロード・インストールし、helm versionコマンドで動作確認を行ってください。

Prometheus Operatorの概要

Prometheus OperatorはKubernetes用に設計されたオペレータで、ServiceMonitorやPodMonitorなどのカスタムリソースを介してメトリクス収集を自動化します。これにより、手動での設定や管理が不要となり、運用負荷の軽減が可能です。

最新情報: 前年までのkube-prometheus-stackチャートではなく、Prometheus Operator自体を直接使用するケースが増えています。公式のカスタムリソースとOperatorの組み合わせで柔軟性が向上しています。


HelmチャートでPrometheusをインストールする手順

Helmチャートを使用することで、Prometheusのデプロイを効率的かつ再現性高く進められます。以下に具体的な手順を解説します。

Prometheus Operatorの導入

kube-prometheus-stackチャートは時代遅れになりつつあり、現在はPrometheus Operator自体を直接インストールする方法が推奨されます。公式リポジトリからOperatorを取得し、以下のように適用してください。

  1. リポジトリの追加: helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
  2. リポジトリの更新: helm repo update

重要: 以前はkube-prometheus-stackを使用するケースが多かったため、注意が必要です。Operator本体を直接使うことで、カスタムリソースの管理やバージョンの統一性が得られます。

カスタム設定ファイルの作成

デフォルトの設定では、ストレージやセキュリティポリシーが適用されない場合があります。values.yamlファイルをカスタマイズし、以下のように設定します(例)。

デプロイコマンドの実行

準備が整ったら、Helmチャートを適用します。デプロイ時のオプションで--namespace--valuesを指定し、クラスター環境に合わせた設定を行います。


ServiceMonitorの設定によるメトリクス収集

ServiceMonitorはPrometheusがKubernetesサービスを監視するためのカスタムリソースです。以下に作成手順とポイントを説明します。

apiVersionの更新

以前はmonitoring.coreos.com/v1でしたが、最新バージョンではv1beta1が推奨されています。以下の例のように変更してください。

ターゲットサービスとの関連付け

ServiceMonitorに指定したラベル(例: app: my-app)が、監視対象のKubernetesサービスのメタデータと一致する必要があります。また、endpointsでポートやパスを指定し、メトリクスエンドポイントを正しく認識させましょう。

注意: 前バージョンとの互換性に配慮しつつ、最新のapiVersionにアップグレードすることが重要です。


PersistentVolumeによるデータ永続化設定

Prometheusが収集したメトリクスはPersistentVolume(PV)に保存されるため、クラスター再起動やポッドのリセット時にデータが失われないよう構成が必要です。

StorageClassの選択

ストレージクラスはクラスターやクラウドプロバイダーごとに異なります。kubectl get storageclassで利用可能なクラスを確認し、values.yamlに適切な名前(例: standard)を指定してください。

クラウドプロバイダー 推奨StorageClass 注意事項
AWS EBS gp2 または io1 IOPSが高く、I/O性能が必要な場合にio1を推奨します。
GCP PD pd-standard または pd-ssd データの高可用性が求められる場合はpd-ssdを選択してください。
Azure Disk Standard_LRS 比較的コストパフォーマンスに優れます。

PVCとPVの作成

PersistentVolumeClaim(PVC)を作成し、クラスターが自動で対応するPVを割り当てます。YAMLファイルは以下のように記述します。

Prometheusデプロイ時のマウント設定

Helmのvalues.yamlで指定したストレージが、Prometheusデプロイ時に自動的にマウントされるよう構成します。StatefulSetを用いることで永続化されたデータが保持されます。


セキュリティポリシー(RBAC)の適用方法

Prometheusはクラスター内でのメトリクス収集のために、特定のリソースへのアクセス権が必要です。RBAC設定により適切なセキュリティを確保しましょう。

RoleとClusterRoleの定義

Prometheusが監視対象とするエンドポイントやノードの情報を取得できるようにRoleClusterRoleを作成します。以下は基本的な例です。

ServiceAccountへのバインディング

作成したClusterRoleを、Prometheusが利用するServiceAccountにバインドします。これにより、アクセス権限が付与されます。

重要: default ServiceAccountへのバインディングはセキュリティリスクが高いため、専用ServiceAccountの作成と使用が推奨されます


メトリクスの可視化確認とトラブルシューティング

Prometheusのデプロイ後は、収集されたメトリクスが正しく表示されるかをチェックし、問題があれば対応する必要があります。

Grafanaとの連携

GrafanaにPrometheusデータソースを登録し、テンプレートやダッシュボードで可視化します。クラスター内のリソース使用率やエラーメトリクスがリアルタイムで確認可能になります。

Prometheus UIでのデータ確認

ブラウザからhttp://<prometheus-svc>:9090にアクセスし、メトリクスの値が表示されているかを確認します。Graphタブで特定のメトリクスを検索・グラフ化できます。

基本的なエラーチェック方法

  • メトリクスが収集されていない場合: kubectl logs <prometheus-pod>でロギングを確認。
  • ServiceMonitorの設定ミス: kubectl get servicemonitorsでステータスを確認。

まとめ

本記事では、KubernetesクラスターでPrometheusをデプロイする際の具体的な手順と実践的な知識を解説しました。重点的に扱った内容は以下の通りです。

  • Helmチャートによる効率的なインストール方法
  • ServiceMonitorの設定とメトリクス収集の仕組み
  • PersistentVolumeでのデータ永続化構成
  • RBAC設定によるセキュリティ確保
  • 可視化ツールとの連携と基本的なトラブルシューティング

これらの知識を活用し、自社クラスターでも安定したメトリクス収集環境の構築が可能になります。本記事の手順を参考にPrometheusデプロイを試してみてください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Prometheus