Rem*_*oon 24 cloud google-compute-engine google-cloud-platform
我的开发者控制台中有两个项目.我拍摄了项目1中其中一个虚拟机的"快照".我想使用在project-1中创建的快照在project-2中创建一个新VM.目前,快照未显示在选项中.如何将快照从一个项目导入另一个项目?
chr*_*roy 39
您可以从项目1中的快照创建图像,然后使用项目2从该图像创建实例.
我假设你在这两个项目中都有编辑权限.
您的问题表明您有一个快照,并希望从项目1中的快照创建项目2中的实例.
如果您仍有可用的快照磁盘,请确保它不再附加到实例.如果它仍然附加到实例,请取消选中"删除实例时删除引导磁盘"并删除该实例.转到图像并单击从磁盘创建映像,然后从该磁盘创建映像.
如果您没有可用磁盘,只有快照,请创建实例并将引导磁盘设置为快照并选择快照.然后按照上面的说明通过首先删除实例来创建图像.
现在,您在项目1中有一个图像.您应该在图像下看到它.
我不确定原因,但您不会在项目2中看到控制台中列出的图像,但您可以使用gcloud在项目2中使用项目1中的图像创建实例.在项目1中,单击图像然后单击"查看REST",将有一个完整的图像URL,类似于:
https://www.googleapis.com/compute/v1/projects/cpomeroy-whitelist/global/images/ruby-image
Run Code Online (Sandbox Code Playgroud)
使用gcloud使用项目1中的图像在项目2中创建实例:
gcloud config set project <project-id-of-project-2>
gcloud config list
Run Code Online (Sandbox Code Playgroud)
(您应该验证您是否在项目2中)
gcloud compute instances create <name of instance> --image https://www.googleapis.com/compute/v1/projects/cpomeroy-whitelist/global/images/ruby-image
Run Code Online (Sandbox Code Playgroud)
显然,您的网址会有所不同.
我只是测试了它,它的工作原理.如果您需要更多帮助,请告诉我.
jim*_*kiz 21
@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"
Run Code Online (Sandbox Code Playgroud)
这消除了担心使用URL任何东西的需要.
编辑:我的答案在这一点上几乎看起来像他,但这个东西的文档在这里:
vdm*_*vdm 17
您不需要映像或临时VM,也不必中断源VM.只需在源项目中创建快照:
$ 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].
Run Code Online (Sandbox Code Playgroud)
然后在目标项目中创建一个磁盘,并--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
Run Code Online (Sandbox Code Playgroud)
这个用法没有在gcloud 文档中显示,我在@krishna praveen的答案中找到了,但他的解释是不正确的; 您不需要删除任何实例,也不需要使用图像.即使源和目标都是引导磁盘,这也可以工作:
$ gcloud compute --project p2 instances create the-vm --disk name=the-disk,boot=yes
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因需要图像,您仍然可以将快照还原到磁盘并使用此快照创建没有临时VM的映像.如果临时VM在引导时自动启动服务,这可能会干扰同一项目网络上的其他正在运行的VM,则这是首选.
$ gcloud compute images create image-1 --source-disk=src-disk-image --source-disk-zone=zone1
Run Code Online (Sandbox Code Playgroud)
此图像现在可以从另一个项目中使用(如上面的@jiminikiz所示).
$ gcloud compute --project p2 instances create <name-of-new-instance> --image image-1 \
--image-project p1 --zone=zone
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15588 次 |
| 最近记录: |