如何从一个项目在另一个项目中重新创建 Google 计算引擎虚拟机?

如何从一个项目在另一个项目中重新创建 Google 计算引擎虚拟机?

我在 GCE 中的项目 A 中创建了一个 VM。我想在另一个项目 B 中基于此 VM 创建一个新实例。

我认为我可以根据磁盘快照生成一个新实例。但是我找不到任何选项来跨项目传输此类快照。

我的问题是:

1)如何在 Google Cloud Platform 项目中跨项目传输磁盘快照?

2)除了使用docker镜像之外,还有其他更好的方法来实现这一点吗?

答案1

由于我无法关闭源 VM(因为它当前正在生产环境中使用),因此我必须使用以下步骤在另一个项目中创建镜像 VM:

1)创建源虚拟机启动盘的快照

2)在目标项目中根据此快照创建磁盘

 gcloud compute disks create vm-prod-disk --source-snapshot \
 https://www.googleapis.com/compute/v1/projects/<source-\
 project>/global/snapshots/<source-vm-snapshot> --project target-project

3)基于步骤 2 中的新磁盘创建虚拟机

gcloud compute instances create vm-prod-duplicate \
--project target-project --disk name=vm-prod-disk,boot=yes

答案2

首先,您必须在old-project

gcloud compute images create "my-image" --source-disk "my-disk"

现在,您可以使用它在另一个项目中创建一台机器,因为图像是全局资源:

gcloud compute instances create "my-instance" \
    --image "my-image" \
    --image-project "new-project"

还有其他解决方案

答案3

在旧项目中创建一个图像

    gcloud compute images create "my-image" --source-disk "my-disk"

将图像复制到新项目

    gcloud compute --project=newprojectid images create image-2 --source-image=image-1 --source-image-project=oldprojectid

使用此图像创建实例

相关内容