GitLab-Grafanaチャートの使い方
gitlab-grafana
サブチャートは、Omnibus GitLab インストールと同じレベルの設定でstable/grafana
チャートが正しく動作するように適応します。 さらに、Grafana のインストールにより、エンドユーザが追加のダッシュボードをインストールし、GitLab 提供のダッシュボードに組み込むことができます。
要件
このチャートは、通常GitLab
メタチャートによってインストールされるstable/grafana
チャートに依存します。さらに、/-/grafana
パスを使用して Grafana リクエストを適切にルーティングするには、Kubernetes Ingress サポートが必要です。
デザインの選択
Helmの制限により、初期パスワードのSecretの動的な名前を知っている状態でGrafanaチャートを設定することはできません。 その結果、初期パスワードを含む静的な名前のSecretが作成されます。このSecretの名前はgitlab-grafana-initial-password
。
同じイシューが、Grafana コンテナに初期パスワードを注入するために使用されるスクリプトを含む ConfigMap にも存在します。 その ConfigMap の名前はgitlab-grafana-import-secret
です。
初期パスワードSecretとインポートスクリプトConfigMapの両方がGrafanaコンテナにマウントされ(それぞれ/tmp/initial
、/tmp/scripts
)、コンテナコマンドラインは、初期パスワードをGrafanaサーバに安全に公開するために、これらの両方のオブジェクトを使用するように拡張されます。 コンテナコマンドラインを変更すると、一般的に初期パスワードがGrafanaサーバ環境に注入されるのを防ぐことができます。
設定
必須の設定はありません。すべてのチャートを一緒にデプロイすれば、すぐに動作するはずです。管理者認証情報はshared-secrets
チャートで作成され、管理者ユーザー名はroot
に設定されています。 Grafana の root ユーザーのパスワードは、次のコマンドで抽出できます:
kubectl get secret gitlab-grafana-initial-password -ojsonpath='{.data.password}' | base64 --decode ; echo
インストールコマンドラインオプション
パラメータ | デフォルト | 説明 |
---|---|---|
ingress.tls
| {}
| GitLab cert managerがインストールされていない場合のIngress TLS設定のハッシュ化 |
ingress.annotations
| {}
| Grafana Ingressリソースに追加するアノテーション |
ダッシュボードのサポート
Grafanaのダッシュボードは、デプロイされた名前空間内のConfigMapから自動的に検出されます。 ConfigMapがgitlab_grafana_dashboard
ラベルをtrue
に設定して作成されている場合、ConfigMap内のJSONエンコードされたダッシュボードがGrafanaにインポートされます。 このインポートは一度だけ行われ(Grafanaが再起動されたとき)、ダッシュボードへの変更はConfigMapに書き戻されません。
ユーザが作成したダッシュボードは、gitlab_grafana_dashboard
ラベルを使用して ConfigMap を作成し、ConfigMap を自分で管理することでインポートできます。
データソースのサポート
データソースは、gitlab_grafana_datasource
ラベルを追加することで、ダッシュボードと同じ方法で作成できます。このチャートでは、埋め込まれた Prometheus メトリクスを使用するように Grafana に指示する ConfigMap を追加します。