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

ジョブルーター

  • プラン: Ultimate
  • 提供形態: GitLab Self-Managed、GitLab Dedicated
  • ステータス: 実験的機能

ジョブルーターは、高度なジョブオーケストレーション機能を提供するGitLabエージェントサーバー(KAS)のコンポーネントです。RunnerがGitLabにジョブを直接ポーリングする代わりに、Runnerはジョブルーターに接続し、ジョブの配信を管理し、アドミッションコントロールのような機能を提供します。

アーキテクチャ

GitLab Instance → Job Router (KAS) → Runner
              Runner Controller (optional)

ジョブルーター:

  • Runnerからのジョブリクエストを受信します
  • Runnerに実行するジョブで応答します
  • オプションで、アドミッションの決定のためにRunnerコントローラーに相談します

前提条件

ジョブルーターを使用するには、以下が必要です:

  • 次の機能フラグがtrueに設定されたGitLabインスタンス:
    • job_router: グループRunnerとプロジェクトRunnerの場合
    • job_router_instance_runners: インスタンスRunnerの場合
    • job_router_admission_control: アドミッションコントロールの場合(オプション)
  • FF_USE_JOB_ROUTER環境変数がtrueに設定されたGitLab Runner 18.9以降。

ジョブルーター情報の検出

Runnerは、ジョブルーター検出APIを使用してジョブルーターのURLを検出できます。

Runnerコントローラー

Runnerコントローラーを使用すると、ジョブルーターを介してルーティングされるジョブのアドミッションコントロールを有効にできます。詳細については、Runnerコントローラーを参照してください。