2014年9月21日
から hiruta
0件のコメント
Compute Engine のオートスケール機能を使用してみました。
Compute Engine Autoscalerは、現在Limit Preview機能ですので、デフォルトでは使用することができませんので、ここからリクエストを申請する必要があります。 |
まずは、Autoscaler機能は現在Limit Previewですので、CLI(gcloud)初期状態はpreview機能は使えませんので以下コマンドを有効にしておきます。
gcloud components update preview
Replica Poolファイルを作成します。AWSでいうLaunch Configurationに相当すると思われます。
vi replica.template
{ "template": {
"vmParams": {
"machineType": "n1-standard-1",
"baseInstanceName": "my-replica",
"disksToCreate": [{
"boot": "true",
"initializeParams": {
"sourceImage": "https://www.googleapis.com/compute/v1/projects/centos-
cloud/global/images/centos-7-v20140903",
"diskSizeGb": "10"
}
}],
"networkInterfaces": [{
"network": "default",
"accessConfigs": [{
"type": "ONE_TO_ONE_NAT",
"name": "External NAT"
}]
}]
}
}
}
上記で作成したReplica Pool configでReplica Poolを作成します。
gcloud preview replica-pools --zone asia-east1-a create --size 1 --template replica.template asia-east1a-pool
Replica pool asia-east1a-pool is being created.
replia数を最小値、最大値を1にしてオートスケールの設定をします。
gcloud preview autoscaler --zone asia-east1-a create aisa-east-aurtoscaler --max-num-replicas 1 --min-num-replicas 1 --target-cpu-utilization 0.6 --target https://www.googleapis.com/replicapool/v1beta1/projects/skillful-fx-531/zones/asia-east1-a/pools/asia-east1a-pool
VMインスタンスが起動することが確認できます。そこで、replica数の最小値、最大値を2にしてみます。時間をたたずにもう1つ VMインスタンスが起動できることが確認できます。Replica数を2から1にしても、1 VMインスタンスがterminateされます。
gcloud preview autoscaler --zone asia-east1-a update aisa-east-aurtoscaler --target https://www.googleapis.com/replicapool/v1beta1/projects/skillful-fx-531/zones/asia-east1-a/pools/asia-east1a-pool --max-num-replicas 2 --min-num-replicas 2
ただ、Replica数を0にすることはできないようです。Autoscalerを発動しないようにしておくことはできなそう。
gcloud preview autoscaler --zone asia-east1-a update aisa-east-aurtoscaler --target https://www.googleapis.com/replicapool/v1beta1/projects/skillful-fx-531/zones/asia-east1-a/pools/asia-east1a-pool --max-num-replicas 0 --min-num-replicas 0
<pre>{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required field not specified: autoscaling_policy.max_num_replicas."
}
],
"code": 400,
"message": "Required field not specified: autoscaling_policy.max_num_replicas."
}
}
SSD Persistent diskに対応していないゾーンで、disk typeにSSD diskを指定するとエラーになります。SSD Persistent diskに対応していないゾーンは、us-central1-aになります。
VMインスタンスを障害をみたてて、「nmcli c down eth0」でインスタンスに接続できない状況を発生させて、自動復旧できるか試してみました。
が、自動復旧されない。Replica PoolにHealthChecksがある。→ここ

使おうとすると、Unknown field nameとなる。???