2016-08-25 2 views
2

Я использую движок Google для работы с nodejs.
Я хочу ограничить количество экземпляров, используемых движком приложения. Я попытался app.yaml перед развертыванием с gcloud кли, но я думаю, что это не работает ...
Я поставил app.yaml файл как следующийgoogle app engine как управлять числом экземпляров nodejs

runtime: nodejs 
vm: true 
automatic_scaling: 
    min_num_instances: 1 
    max_num_instances: 3 
    cool_down_period_sec: 120 # default value 
    cpu_utilization: 
    target_utilization: 0.7 

Но его использование 8 экземпляров еще в этот момент ,
Как уменьшить количество экземпляров и контролировать их?

После запуска gcloud app versions list,

SERVICE VERSION   TRAFFIC_SPLIT LAST_DEPLOYED    SERVING_STATUS 
default 20160811t015921 0.00   2016-08-11T02:03:24+09:00 SERVING 
default 20160811t022251 0.00   2016-08-11T02:26:20+09:00 SERVING 
default 20160811t023404 0.00   2016-08-11T02:36:45+09:00 STOPPED 
default 20160811t031525 0.00   2016-08-11T03:17:48+09:00 STOPPED 
default 20160811t053241 0.00   2016-08-11T05:35:19+09:00 STOPPED 
default 20160817t191913 0.00   2016-08-17T19:21:46+09:00 STOPPED 
default 20160817t220352 0.00   2016-08-17T22:06:17+09:00 STOPPED 
default 20160818t171126 0.00   2016-08-18T17:14:07+09:00 STOPPED 
default 20160820t000714 0.00   2016-08-20T00:10:16+09:00 STOPPED 
default 20160820t033731 0.00   2016-08-20T03:39:45+09:00 STOPPED 
default 20160821t023159 0.00   2016-08-21T02:34:05+09:00 STOPPED 
default 20160821t025235 1.00   2016-08-21T02:55:13+09:00 SERVING 

И после запуска gcloud app instances list,

SERVICE VERSION   ID VM_STATUS DEBUG_MODE 
default 20160811t015921 0 RUNNING 
default 20160811t015921 1 RUNNING 
default 20160811t022251 0 RUNNING 
default 20160811t022251 1 RUNNING 
default 20160811t022251 2 RUNNING 
default 20160811t022251 3 RUNNING 
default 20160811t022251 4 RUNNING 
default 20160821t025235 0 RUNNING YES 

выходит.

+0

Эй, я нахожусь в команде App Engine. Можете ли вы запустить несколько команд для меня? 'gcloud app versions list' ... then' gcloud app examples list' –

+0

Я предполагаю, что вы развернули несколько версий своего приложения, и каждый из них создает новые экземпляры. Но это всего лишь предположение :) –

+0

Я добавил более подробную информацию и отредактировал вопрос. спасибо за помощь @JustinBeckwith –

ответ

1

Основываясь на выходе из ваших команд, похоже, у вас есть несколько версии вашего приложения. Каждая версия будет разворачивать (n) экземпляры на основе нагрузки, , даже если они не получают трафик.

Похоже, что версия 20160821t025235 - это та, которую вы хотите продолжать работать. Попробуйте сделать это:

gcloud app versions stop 20160811t015921 20160811t022251 

Если вы сделаете это, оно должно остановить другие версии.

+0

Это сработало! Спасибо за помощь!! –

1

Это известная проблема с GAE, вы можете захотеть ее запечатлеть: https://code.google.com/p/googleappengine/issues/detail?id=12363.

В потоке или в ссылках с резьбы предлагаются несколько обходных решений.

Один из них приводит к ответу, который, как представляется, являются хорошим способом устранения необходимости вручную останавливать и удалять нежелательные экземпляры: How to stop creating extra instances when using google managed vms?

+0

спасибо ~ так это значит, что теперь я должен останавливать экземпляры один за другим, который превышает мой максимальный предел? –

+0

Да для уже созданных. Смотрите мой обновленный ответ, чтобы избежать этого. –