正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Exporterチャートの使用

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

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

要件

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

設定

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

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

以下の表に、helm installコマンドに--setフラグを使用して指定できる、チャートの構成オプションをすべて示します。

パラメータデフォルト説明
affinity{}ポッドの割り当てのアフィニティルール
annotationsポッドの注釈
common.labels{}このチャートによって作成されたすべてのオブジェクトに適用される補足ラベル。
podLabels追加のポッドラベル。セレクターには使用されません。
common.labelsこのチャートによって作成されたすべてのオブジェクトに適用される補足ラベル。
deployment.strategy{}デプロイで使用される更新ストラテジを構成できます
enabledtrueGitLab Exporterが有効なフラグ
extraContainers含めるコンテナのリストを含む複数行のリテラルスタイル文字列
extraInitContainers含める追加のinitコンテナのリスト
extraVolumeMounts実行する追加のボリュームマウントのリスト
extraVolumes作成する追加のボリュームのリスト
extraEnv公開する追加の環境変数のリスト
extraEnvFrom公開する他のデータソースからの追加の環境変数のリスト
image.pullPolicyIfNotPresentGitLabイメージのプルポリシー
image.pullSecretsイメージリポジトリのシークレット
image.repositoryregistry.gitlab.com/gitlab-org/build/cng/gitlab-exporterGitLab Exporterイメージリポジトリ
image.tagイメージタグ
init.image.repositoryinitコンテナイメージ
init.image.taginitコンテナイメージタグ
init.containerSecurityContextinitコンテナ固有のsecurityContext
init.containerSecurityContext.allowPrivilegeEscalationfalseinitコンテナ固有: プロセスがその親プロセスよりも多くの特権を取得できるかどうかを制御します
init.containerSecurityContext.runAsNonRoottrueinitコンテナ固有: コンテナを非rootユーザーで実行するかどうかを制御します
init.containerSecurityContext.capabilities.drop[ "ALL" ]initコンテナ固有: コンテナのLinuxケイパビリティを削除します
metrics.enabledtrueメトリクスエンドポイントをスクレイプできるようにするかどうか
metrics.port9168メトリクスエンドポイントのポート
metrics.path/metricsメトリクスエンドポイントのパス
metrics.serviceMonitor.enabledfalsePrometheus Operatorがメトリクスのスクレイピングを管理できるようにServiceMonitorを作成するかどうか。これを有効にすると、prometheus.ioスクレイピングアノテーションが削除されることに注意してください
metrics.serviceMonitor.additionalLabels{}ServiceMonitorに追加する追加のラベル
metrics.serviceMonitor.endpointConfig{}ServiceMonitorの追加のエンドポイント設定
metrics.annotations非推奨 明示的なメトリクス注釈を設定します。テンプレートコンテンツに置き換えられました。
priorityClassNameポッドに割り当てられるPriority class
resources.requests.cpu75mGitLab Exporterの最小CPU
resources.requests.memory100MGitLab Exporterの最小メモリ
serviceLabels{}補足サービスラベル
service.externalPort9168GitLab Exporterが公開するポート
service.internalPort9168GitLab Exporterの内部ポート
service.namegitlab-exporterGitLab Exporterサービス名
service.typeClusterIPGitLab Exporterサービスタイプ
serviceAccount.annotations{}ServiceAccount注釈
serviceAccount.automountServiceAccountTokenfalseデフォルトのServiceAccountアクセストークンをポッドにマウントするかどうかを示します
serviceAccount.createfalseServiceAccountを作成するかどうかを示します
serviceAccount.enabledfalseServiceAccountを使用するかどうかを示します
serviceAccount.nameServiceAccountの名前。設定しない場合、チャートのフルネームが使用されます
securityContext.fsGroup1000ポッドを開始するグループID
securityContext.runAsUser1000ポッドを開始するユーザーID
securityContext.fsGroupChangePolicyボリュームの所有権と権限を変更するためのポリシー(Kubernetes 1.23が必要です)
securityContext.seccompProfile.typeRuntimeDefault使用するSeccompプロファイル
containerSecurityContextコンテナの起動時に適用されるsecurityContextをオーバーライドする
containerSecurityContext.runAsUser1000コンテナを開始する特定のセキュリティコンテキストユーザーIDのオーバーライドを許可します
containerSecurityContext.allowPrivilegeEscalationfalseコンテナのプロセスがその親プロセスよりも多くの特権を取得できるかどうかを制御します
containerSecurityContext.runAsNonRootfalseコンテナを非rootユーザーで実行するかどうかを制御します
containerSecurityContext.capabilities.drop[ "ALL" ]GitalyコンテナのLinuxケイパビリティを削除します
tolerations[]ポッド割り当ての容認ラベル
psql.portPostgreSQLサーバーポートを設定します。これは、global.psql.portよりも優先されます。
tls.enabledfalseGitLab Exporter TLSが有効
tls.secretName{Release.Name}-gitlab-exporter-tlsGitLab Exporter TLSシークレット。Kubernetes TLSシークレットを指している必要があります。
listenAddr*GitLab Exporterのlistenアドレス。

チャート構成の例

extraEnv

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

extraEnvFrom

extraEnvFromを使用すると、ポッド内のすべてのコンテナで、他のデータソースからの追加の環境変数を公開できます。

extraEnvFromの使用例を以下に示します:

extraEnvFrom:
  MY_NODE_NAME:
    fieldRef:
      fieldPath: spec.nodeName
  MY_CPU_REQUEST:
    resourceFieldRef:
      containerName: test-container
      resource: requests.cpu
  SECRET_THING:
    secretKeyRef:
      name: special-secret
      key: special_token
      # optional: boolean
  CONFIG_STRING:
    configMapKeyRef:
      name: useful-config
      key: some-string
      # optional: boolean

image.pullSecrets

pullSecretsを使用すると、プライベートレジストリに対して認証して、ポッドのイメージをプルできます。

プライベートレジストリとその認証方法に関する追加の詳細は、Kubernetesドキュメントにあります。

pullSecretsの使用例を以下に示します:

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

serviceAccount

このセクションでは、ServiceAccountを作成するかどうか、およびデフォルトのアクセストークンをポッドにマウントするかどうかを制御します。

名前デフォルト説明
annotationsマップ{}ServiceAccount注釈。
automountServiceAccountTokenブール値falseデフォルトのServiceAccountアクセストークンをポッドにマウントする必要があるかどうかは、で制御します。これは、特定のサイドカーが正常に機能するために必要という場合(Istioなど)を除き、有効にしないようにしてください。
createブール値falseServiceAccountを作成するかどうかを示します。
enabledブール値falseServiceAccountを使用するかどうかを示します。
name文字列ServiceAccountの名前。設定しない場合、チャートのフルネームが使用されます。

アフィニティ

詳細については、affinityを参照してください。

注釈

annotationsを使用すると、注釈をGitLab Exporterポッドに追加できます。例:

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

グローバル設定

いくつかの一般的なグローバル設定は、チャート間で共有されます。GitLabやレジストリのホスト名など、一般的な構成オプションについては、グローバルドキュメントを参照してください。

チャートの設定

次の値は、GitLab Exporterポッドを構成するために使用されます。

metrics.enabled

デフォルトでは、ポッドは/metricsでメトリクスエンドポイントを公開します。メトリクスが有効になっている場合、Prometheusサーバーが公開されたメトリクスを検出してスクレイプできるように、注釈が各ポッドに追加されます。