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

GitLab Runnerインスタンスグループオートスケーラー

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

GitLab Runnerインスタンスグループオートスケーラーは、Docker Machineをベースとしたオートスケールテクノロジーの後継機能です。GitLab Runnerインスタンスグループのオートスケールソリューションのコンポーネントは次のとおりです:

  • taskscaler: 自動スケールロジック、ブックキーピングを管理し、クラウドプロバイダーのインスタンスの自動スケールグループを使用するRunnerインスタンスのフリートを作成します。
  • Fleeting: クラウドプロバイダー仮想マシンの抽象化。
  • クラウドプロバイダープラグイン: ターゲットクラウドプラットフォームへのAPIコールを処理します。プラグイン開発フレームワークを使用して実装されます。

GitLab Runnerのインスタンスグループオートスケールは、次のように動作します:

  1. Runnerマネージャーは、GitLabジョブを継続的にポーリングします。
  2. 応答として、GitLabはジョブのペイロードをRunnerマネージャーに送信します。
  3. Runnerマネージャーは、パブリッククラウドインフラストラクチャとやり取りして、ジョブを実行するための新しいインスタンスを作成します。
  4. Runnerマネージャーは、これらのジョブをオートスケールプール内の利用可能なRunnerに配布します。

GitLab Next Runner Autoscalingの概要

Runnerマネージャーを設定する

GitLab Runnerインスタンスグループオートスケーラーを使用するには、Runnerマネージャーを設定する必要があります。

  1. Runnerマネージャーをホストするインスタンスを作成します。これはスポットインスタンス(AWS)またはスポット仮想マシン(GCP、Azure)であってはなりません

  2. インスタンスにGitLab Runnerをインストールします。

  3. クラウドプロバイダーの認証情報をRunnerマネージャーのホストマシンに追加します。

    コンテナ内でRunnerマネージャーをホストできます。GitLab.comおよびGitLab DedicatedのホストされたRunnerの場合、Runnerマネージャーは仮想マシンインスタンスでホストされます。

GitLab Runnerインスタンスグループオートスケーラーの認証情報の設定例

AWS環境のRunnerマネージャーにはAWSアイデンティティおよびアクセス管理(IAM)インスタンスプロファイルを使用できます。AWSでRunnerマネージャーをホストしない場合は、認証情報ファイルを使用できます。

次に例を示します:

## credentials_file

[default]
aws_access_key_id=__REDACTED__
aws_secret_access_key=__REDACTED__

認証情報ファイルはオプションです。

サポートされているパブリッククラウドインスタンス

パブリッククラウドプロバイダーのコンピューティングインスタンスでは、次のオートスケールオプションがサポートされています:

  • Amazon Web Services EC2インスタンス
  • Google Compute Engine
  • Microsoft Azure Virtual Machines

これらのクラウドインスタンスは、GitLab Runner Docker Machineオートスケーラーでもサポートされています。

サポートされているプラットフォーム

executorLinuxmacOSWindows
インスタンスexecutorcheck-circle 対応check-circle 対応check-circle 対応
Docker Autoscaler executorcheck-circle 対応dotted-circle 非対応check-circle 対応