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 サーバーが公開されたメトリクスを検出してスクレイピングできるようになります。