В 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-малка виртуална машина в момента в състояние TERMINATED, работеща:
$ gcloud compute instances set-machine-type example-instance \
--zone us-central1-b --machine-type n1-standard-4
ще промени типа машина на n1-standard-4, така че когато следващия път стартирате примерен екземпляр, той ще бъде осигурен като 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 се посочва, че можете да направите това от страницата, която изброява VM екземплярите, но сега не изглежда така. Открих, че трябва да щракнете върху името на изображението в този списък. След това извежда страница, където можете да редактирате екземпляра, включително типа.
За да промените типа машина на вашия VM екземпляр. Първо трябва да спрете своя VM екземпляр. След това щракнете върху редактиране, след това променете типа машина и след това го запазете.