Open Stackのインストール
このドキュメントの目的は、オートスケーラーを構成して実行するための十分な技術的詳細を提供することです。適切に構成されている場合、Droneサーバーのビルドボリュームに基づいてOpen Stackインスタンスを自動的に提供して終了します。
前提条件
Droneトークンを作成する
オートスケーラーに提供できる管理者権限を持つDroneユーザートークンを作成する必要があります。オートスケーラーはこのトークンを使用して、Droneビルドキューにリモートアクセスします。トークンの作成方法がわからない場合はチュートリアルを参照してください。
ダウンロード
オートスケーラーは、軽量のDockerイメージとして配布されます。イメージは自己完結型であり、外部要件はありません。
docker pull drone/autoscaler
サーバーを起動する
オートスケーラーコンテナは、以下のコマンドで起動できます。コンテナは環境変数を介して構成されます。構成パラメータの完全なリストについては、 構成リファレンスを参照してください。
1 docker run -d \
2 -v /var/lib/autoscaler:/data \
3 -e DRONE_POOL_MIN=${DRONE_POOL_MIN} \
4 -e DRONE_POOL_MAX=${DRONE_POOL_MAX} \
5 -e DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} \
6 -e DRONE_SERVER_HOST=${DRONE_SERVER_HOST} \
7 -e DRONE_SERVER_TOKEN=${DRONE_SERVER_TOKEN} \
8 -e DRONE_AGENT_TOKEN=${DRONE_AGENT_TOKEN} \
9 -p 8080:8080 \
10 --restart=always \
11 --name=autoscaler \
12 drone/autoscaler
参照
環境
構成パラメータは環境変数を使用して設定されます。このセクションでは、推奨される構成パラメーターのサブセットを定義します。完全なリストについては、構成リファレンスをご覧ください。
DRONE_POOL_MIN
オートスケーラーが維持する必要のあるインスタンスの最小数を定義する整数です。デフォルト値は2つのインスタンスです。
DRONE_POOL_MIN=2
DRONE_POOL_MAX
オートスケーラーがプロビジョニングできるインスタンスの最大数を定義する整数です。デフォルト値は4つのインスタンスです。
DRONE_POOL_MAX=4
DRONE_SERVER_PROTO
Droneサーバープロトコルスキームを含む文字列です。この値はhttpまたはhttpsに設定する必要があります。
DRONE_SERVER_PROTO=https
DRONE_SERVER_HOST
Droneサーバーのホスト名またはIPアドレスを含む文字列です。
DRONE_SERVER_HOST=drone.domain.com
DRONE_SERVER_TOKEN
Droneユーザートークンを含む文字列です。このトークンは、Droneサーバーへの管理アクセスを許可する必要があります。
DRONE_AGENT_CONCURRENCY
エージェントが実行できる同時ビルドの最大数を定義する整数です。この値は、新しいエージェントを構成するために使用されます。
DRONE_AGENT_CONCURRENCY=2
DRONE_AGENT_TOKEN
エージェントからサーバーへの通信を許可する共有シークレット (DRONE_RPC_SECRET) を含む文字列です。この値は、新しいエージェントを構成するために使用されます。
DRONE_AGENT_TOKEN=IiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ikxvb2
Network
オートスケーラーはRESTエンドポイントを公開して、システムからランタイム情報を抽出できるようにします。オートスケーラーはコンテナ内のポート8080でリッスンし、ホストマシンで公開する必要があります。
--publish=8080:8080
Volumes
オートスケーラーはsqliteデータベースを作成し、 /data
コンテナボリュームに保持します。データ損失を防ぐために、データボリュームをホストマシンにマウントすることをお勧めします。
--volume=/var/lib/autoscaler:/data