概要

CloudStack で新規 VM デプロイ時にロードバランサーに自動で join する。

必要なもの

仮想マシンテンプレートに以下をインストールしておく。

また、既存の LoadBalancerRule の ID を確認しておく。

$ cs listLoadBalancerRules | jq -r '.loadbalancerrule[].id'
2cef1457-36d4-43fc-9694-c83dde6e60a1

VM デプロイ

UserData に以下のスクリプトを設定して cloud-init で起動時に実行されるようにする。

#!/bin/bash
LoadBalancerRule=2cef1457-36d4-43fc-9694-c83dde6e60a1
virtualmachineid=`curl http://data-server/latest/meta-data/vm-id`

cs assignToLoadBalancerRule id=$LoadBalancerRule virtualmachineids=$virtualmachineid

※meta-data から自身の virtualmachineid を取得して、既存のロードバランサーにアサイン

VM 削除でロードバランサーから自動で切り離しされる。