Cloud 谷歌计算引擎:使用另一个项目的快照?
我的开发者控制台中有两个项目。我已经拍摄了project-1中一个虚拟机的“快照”。我想使用在project-1中创建的快照在project-2中创建一个新VM。现在快照未显示在选项中。Cloud 谷歌计算引擎:使用另一个项目的快照?,cloud,google-compute-engine,google-cloud-platform,Cloud,Google Compute Engine,Google Cloud Platform,我的开发者控制台中有两个项目。我已经拍摄了project-1中一个虚拟机的“快照”。我想使用在project-1中创建的快照在project-2中创建一个新VM。现在快照未显示在选项中。 如何将快照从一个项目导入到另一个项目?好的,这是不可能的。要完成你所描述的,最好的方法是使用。您有几个步骤可以创建一个空白磁盘,将其连接到有问题的机器,对启动分区进行tarball,并将其上载到云存储。完成后,在本地下载,切换项目并上传到另一个项目。然后,当单击“新建实例”时,您可以从映像列表中选择机器。您可以
如何将快照从一个项目导入到另一个项目?好的,这是不可能的。要完成你所描述的,最好的方法是使用。您有几个步骤可以创建一个空白磁盘,将其连接到有问题的机器,对启动分区进行tarball,并将其上载到云存储。完成后,在本地下载,切换项目并上传到另一个项目。然后,当单击“新建实例”时,您可以从映像列表中选择机器。您可以从管理单元项目1创建映像,然后使用项目2从该映像创建实例 我假设您在这两个项目中都有编辑权限 您的问题是,您有一个快照,希望在项目2中从管理单元项目1生成一个实例 如果快照的磁盘仍然可用,请确保它不再连接到实例。如果它仍然连接到实例,请取消选中“删除实例时删除启动盘”并删除该实例。转到“映像”,单击“从磁盘创建映像”,然后从此磁盘创建映像 如果没有可用磁盘,只有快照,请创建一个实例,将启动磁盘设置为快照,然后选择快照。然后按照上面的说明通过先删除实例来创建图像 现在您在项目1中有了一个图像。您应该看到它列在“图像”下 我不知道为什么,但您不会看到project 2中控制台中列出的映像,但是您可以使用gcloud在project 2中使用project 1中的映像创建实例。在项目1中,单击图像并单击“查看REST”,图像将有一个完整的URL,如下所示:
https://www.googleapis.com/compute/v1/projects/cpomeroy-whitelist/global/images/ruby-image
使用gcloud在项目2中使用项目1中的映像创建实例:
gcloud config set project <project-id-of-project-2>
gcloud config list
gcloud配置集项目
gcloud配置列表
(您应该验证您是否在项目2中)
gcloud计算实例创建--imagehttps://www.googleapis.com/compute/v1/projects/cpomeroy-whitelist/global/images/ruby-image
显然,你的URL会有所不同
我刚刚测试了这个,它是有效的。如果您需要更多帮助,请告诉我。由“chrispomeroy”提供的解决方案工作正常,但需要首先使用您的个人google用户帐户(而不是project2服务帐户)初始化gcloud(因为该帐户具有访问这两个项目的权限):
gcloud init(并选择[2]使用新凭据登录)
然后,您确实可以使用以下方法在项目2上创建VM(从项目1上的基本映像):
gcloud计算实例创建testimg--image--image项目(不需要URL)
我今天(2015年11月)进行了测试,效果良好
@chrispomeroy发布的答案对我来说很有用,但我能够简化它一点,因为我需要越来越多地这样做 假设您在project-1中有一个图像,并且需要在project-2中使用该图像创建一个实例
gcloud config set project "project-2"
gcloud compute instances create <name-of-new-instance> \
--image <name-of-your-image-from-project-1> \
--image-project "project-1"
gcloud配置集项目“project-2”
gcloud计算实例创建\
--形象\
--图像项目“项目-1”
这样就无需担心使用URL
进行任何操作
编辑:在这一点上,我的答案与他的答案非常相似,但这方面的文档如下:
可以使用图像在整个项目中创建实例。现在,如果在项目1中有图像,也可以在项目2中选择该图像 但是,到今天为止,您无法看到整个项目中的磁盘。如果必须将带有关联附加磁盘的VM从项目1迁移到项目2,请执行以下操作
gcloud
命令界面在项目2中创建磁盘。
连接到项目2,然后执行:
gcloud compute --project "GCPProject2" disks create "myserver-disk1" --size "50" --zone "us-east1-b" --source-snapshot https://www.googleapis.com/compute/v1/projects/GCPProject1/global/snapshots/snapshot-myserver-disk1 --description "DriveName" --type "pd-standard"
myserver bootdisk
创建映像。
创建映像后,切换到项目2,然后从映像创建服务器,使用下拉列表并从项目1中选择映像这是通过浏览器单击的唯一解决方案。您需要什么? 你需要有形象。要从磁盘创建映像,必须将磁盘与任何实例分离 如果您在Project1中只有一个实例,那么步骤是什么:
- 从Project1中的实例创建快照
- 在Project1中从此快照创建实例。取消勾选“删除启动”
“删除实例时的磁盘”。此实例仅用于
现在就要删除了 - 删除刚创建的实例
- 转到“磁盘”菜单,您必须在那里看到 例如
- 转到“图像”菜单->“创建图像”。在这里您可以创建图像。如果没有分离的磁盘,则不会有任何磁盘 可在下拉列表中找到
- 转到项目2,使用为项目1创建的自定义映像创建实例。怎么用?启动磁盘->更改->自定义 图像->选择项目1->在这里可以看到您的自定义图像
- 您不需要映像或临时虚拟机,也不必中断源虚拟机。只需在源项目中创建快照:
$ gcloud compute --project p1 disks snapshot the-snapshot src-disk --snapshot-names=the-snapshot
Created [https://www.googleapis.com/compute/v1/projects/p1/global/snapshots/the-snapshot].
然后在目标项目中创建一个磁盘,其中--source snapshot
指向上面返回的“Created”URL:
$ gcloud compute --project p2 disks create the-disk \
--source-snapshot https://www.googleapis.com/compute/v1/projects/p1/global/snapshots/the-snapshot
这个用法没有显示在gcloud
中,我在
$ gcloud compute --project p2 disks create the-disk \
--source-snapshot https://www.googleapis.com/compute/v1/projects/p1/global/snapshots/the-snapshot
$ gcloud compute --project p2 instances create the-vm --disk name=the-disk,boot=yes
$ gcloud compute images create image-1 --source-disk=src-disk-image --source-disk-zone=zone1
$ gcloud compute --project p2 instances create <name-of-new-instance> --image image-1 \
--image-project p1 --zone=zone