Есть ли в Google Compute Engine способ изменить тип машины (например, добавить ядра процессора) после создания машины?
Как изменить тип машины в Google Compute Engine?
Ответы (6)
Теперь это возможно в вычислительном движке Google (см. этот документ).
Вам просто нужно остановить экземпляр. Затем вы можете отредактировать тип экземпляра и перезапустить.
Кажется, это возможно в gcloud:
https://cloud.google.com/sdk/gcloud/reference/compute/instances/set-machine-type
gcloud compute instances set-machine-type
позволяет вам изменить тип виртуальной машины в состоянии TERMINATED (то есть экземпляр виртуальной машины, который был остановлен). Например, если example-instance - это виртуальная машина g1-small, которая в настоящее время находится в состоянии TERMINATED, выполняется:
$ gcloud compute instances set-machine-type example-instance \
--zone us-central1-b --machine-type n1-standard-4
изменит тип машины на n1-standard-4, так что при следующем запуске example-instance он будет подготовлен как n1-standard-4 вместо g1-small.
ОБНОВЛЕНИЕ: этот ответ больше не соответствует действительности, поскольку возможность изменения типа экземпляра была добавлена после того, как этот ответ был написан. См. Принятый ответ.
Хотя в GCE нет прямой опции «редактировать тип машины», способ добиться этого:
- Удаление старого экземпляра (при этом убедитесь, что диск не удален).
- Создание нового экземпляра с желаемым типом и использование диска из старого экземпляра (вместо создания нового)
Используйте gcloud compute instances set-machine-type
, чтобы изменить остановленный к машине другого типа, например:
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
foobaz us-central1-a f1-micro 10.128.0.2 104.197.19.103 RUNNING
$ gcloud compute instances stop foobaz
$ gcloud compute instances set-machine-type foobaz --machine-type g1-small
$ gcloud compute instances start foobaz
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
foobaz us-central1-a g1-small 10.128.0.2 104.197.179.223 RUNNING
Предполагается, что вы уже установили зону по умолчанию, например:
$ gcloud config set compute/zone us-central1-a
Также обратите внимание, что EXTERNAL_IP
изменилось в приведенном выше примере. Если вы хотите, чтобы на новом компьютере с измененным размером сохранялся исходный IP-адрес, то перед его остановкой вы должны измените внешний IP-адрес с эфемерного на статический:
$ ipaddr=$(gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances describe foobaz)
$ gcloud compute addresses create foobaz-ip --addresses $ipaddr
В документации Google Cloud указано, что вы можете сделать это со страницы, на которой перечислены экземпляры виртуальных машин, однако сейчас это не так. Я обнаружил, что вам нужно щелкнуть имя изображения в этом списке. Затем откроется страница, на которой вы можете отредактировать экземпляр, включая тип.
Чтобы изменить тип машины вашего экземпляра виртуальной машины. Сначала вам нужно остановить свой экземпляр виртуальной машины. После этого нажмите «Изменить», затем измените тип машины и сохраните его.