Helm Charts の入門 (Prometheus Operator を使用したモニタリング)
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このドキュメントでは、Prometheus Operator (kube-prometheus-stack) を使用して Kubernetes 上で Scalar 製品の監視を開始する方法について説明します。 ここでは、テスト用の Mac または Linux 環境がすでにあることを前提としています。 このドキュメントでは Minikube を使用しますが、これから説明する手順はどの Kubernetes クラスターでも機能するはずです。
私たちが作るもの
次のように、次のコンポーネントを Kubernetes クラスターにデプロイします。
+--------------------------------------------------------------------------------------------------+
| +------------------------------------------------------+ +-----------------+ |
| | kube-prometheus-stack | | Scalar 製品 | |
| | | | | |
| | +--------------+ +--------------+ +--------------+ | -----(監視)----> | +-----------+ | |
| | | Prometheus | | Alertmanager | | Grafana | | | | ScalarDB | | |
| | +-------+------+ +------+-------+ +------+-------+ | | +-----------+ | |
| | | | | | | +-----------+ | |
| | +----------------+-----------------+ | | | ScalarDL | | |
| | | | | +-----------+ | |
| +--------------------------+---------------------------+ +-----------------+ |
| | |
| | Kubernetes |
+----------------------------+---------------------------------------------------------------------+
| <- localhost (127.0.0.1) に公開するか、ロードバランサーなどを使用してアクセスします
|
(HTTP 経由でダッシュボードにアクセスする)
|
+----+----+
| ブラウザ |
+---------+
ステップ 1. Kubernetes クラスターを開始する
まず、Kubernetes クラスターを準備する必要があります。 minikube 環境を使用する場合は、Scalar Helm Charts の入門 を参照してください。 すでに Kubernetes クラスターを開始している場合は、この手順をスキップできます。
ステップ 2. カスタム値ファイルを準備する
-
kube-prometheus-stack
のサンプル ファイル scalar-prometheus-custom-values.yaml を保存します。 -
次のように
scalar-prometheus-custom-values.yaml
にカスタム値を追加します。- 設定
prometheus.service.type
をLoadBalancer
に設定します。alertmanager.service.type
をLoadBalancer
に設定します。grafana.service.type
をLoadBalancer
に設定します。grafana.service.port
を3000
に設定します。
- 例
alertmanager:
service:
type: LoadBalancer
...
grafana:
service:
type: LoadBalancer
port: 3000
...
prometheus:
service:
type: LoadBalancer
... - 注記:
-
Helm Chart を使用して Prometheus Operator デプロイメントをカスタマイズする場合は、Scalar 製品を監視するために次の構成を設定する必要があります。
- Prometheus Operator が Scalar 製品の
ServiceMonitor
およびPrometheusRule
を検出できるように、serviceMonitorSelectorNilUsesHelmValues
およびruleSelectorNilUsesHelmValues
をfalse
(デフォルトではtrue
) に設定します。
- Prometheus Operator が Scalar 製品の
-
Scalar Manager を使用する場合は、Scalar Manager が CPU およびメモリ リソースを収集できるように次の構成を設定する必要があります。
kubeStateMetrics.enabled
、nodeExporter.enabled
、およびkubelet.enabled
をtrue
に設定します。
-
Scalar Manager を使用する場合は、Scalar Manager が Grafana を組み込みきるように次の構成を設定する必要があります。
grafana.ini.security.allow_embedding
およびgrafana.ini.auth.anonymous.enabled
をtrue
に設定します。grafana.ini.auth.anonymous.org_name
を使用中の組織に設定します。Scalar のサンプルを使う場合では、Main Org.
に設定します。grafana.ini.auth.anonymous.org_role
をEditor
に設定します。
-
- 設定
ステップ 3. kube-prometheus-stack
をデプロイする
-
prometheus-community
helm リポジトリを追加します。helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
-
Kubernetes 上に名前空間
monitoring
を作成します。kubectl create namespace monitoring
-
kube-prometheus-stack
をデプロイします。helm install scalar-monitoring prometheus-community/kube-prometheus-stack -n monitoring -f scalar-prometheus-custom-values.yaml