ジョブルーター
- プラン: 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コントローラーを参照してください。