GitLab-Exporterチャートの使い方

gitlab-exporter サブチャートは、GitLab アプリケーション固有のデータに対する Prometheus メトリクスを提供します。PostgreSQL と直接やり取りして、CI ビルドやプルミラーなどのデータを取得するためのクエリを実行します。さらに、Sidekiq API を使用して、Sidekiq キューの状態 (ジョブ数など) に関するさまざまなメトリクスを収集するために Redis とやり取りします。

要件

このチャートはRedisとPostgreSQLのサービスに依存しています。RedisとPostgreSQLは完全なGitLabチャートの一部として、あるいはこのチャートがデプロイされているKubernetesクラスターから到達可能な外部サービスとして提供されています。

設定

gitlab-exporter チャートは次のように設定します:グローバル設定と チャート設定

インストールコマンドラインオプション

以下の表は、--set フラグを使用して、helm install コマンドに供給できるすべての可能なチャート・コンフィギュレーションです。

パラメータ デフォルト 説明
annotations   ポッド注釈
enabled true GitLab Exporter有効フラグ
extraContainers   追加コンテナのリスト
extraInitContainers   追加するinitコンテナのリスト
extraVolumeMounts   追加ボリュームのマウントリスト
extraVolumes   作成する追加ボリュームのリスト
extraEnv   公開する追加環境変数のリスト
image.pullPolicy IfNotPresent GitLab イメージのプルポリシー
image.pullSecrets   画像リポジトリの秘密
image.repository registry.gitlab.com/gitlab-org/build/cng/gitlab-exporter GitLab Exporter イメージリポジトリ
image.tag   イメージタグ
init.image.repository   initContainer イメージ
init.image.tag   initContainer画像タグ
metrics.enabled true Prometheus メトリクス・エクスポーターの切り替え
metrics.port 9168 Prometheus メトリクス・エクスポーターのリスンポート
resources.requests.cpu 75m GitLab Exporterの最小cpu
resources.requests.memory 100M GitLab Exporterの最小メモリ
service.externalPort 9168 GitLab Exporterの公開ポート
service.internalPort 9168 GitLab Exporter内部ポート
service.name gitlab-exporter GitLab Exporterサービス名
service.type ClusterIP GitLab Exporterサービスタイプ
securityContext.fsGroup 1000 ポッドを起動するグループID
securityContext.runAsUser 1000 ポッドを起動するユーザID
tolerations [] ポッド割り当てのためのトレラベル
psql.port   PostgreSQL サーバのポートを設定します。global.psql.port

チャート構成例

画像.pullSecrets

エクストラエンバイロメント

extraEnv を使用すると、ポッド内のすべてのコンテナで追加の環境変数を公開できます。

以下はextraEnvの使用例です:

extraEnv:
  SOME_KEY: some_value
  SOME_OTHER_KEY: some_other_value

コンテナを起動すると、環境変数が公開されていることを確認できます:

env | grep SOME
SOME_KEY=some_value
SOME_OTHER_KEY=some_other_value

pullSecrets を使うと、非公開レジストリで認証してポッドのイメージを取り出せるようになります。

非公開レジストリとその認証方法についての詳細は、Kubernetesのドキュメントに記載されています。

以下はpullSecretsの使用例です:

image:
  repository: my.image.repository
  pullPolicy: Always
  pullSecrets:
  - name: my-secret-name
  - name: my-secondary-secret-name

コンメンタール

annotations を使うと、GitLab Exporterのポッドにアノテーションを追加することができます。 たとえば、以下のように:

annotations:
  kubernetes.io/example-annotation: annotation-value

グローバル設定

GitLabやレジストリのホスト名など、共通の設定オプションについてはGlobals Documentationを参照ください。

チャート設定

以下の値は GitLab Exporter ポッドの設定に使用されます。

メトリクス.enabled

デフォルトでは、ポッドは/metricsでメトリクス・エンドポイントを公開します。 メトリクスを有効にすると、各ポッドにアノテーションが追加され、Prometheus サーバーが公開されたメトリクスを検出してスクレイピングできるようになります。