如何将镜像机器导出到另一个GCP帐户?

问题描述 投票:0回答:3

我想将一个帐户中创建的机器映像导入到另一个谷歌云平台帐户中。你能帮我吗?

google-cloud-platform google-compute-engine
3个回答
12
投票

有一种方法可以使用来自不同项目的机器映像来创建实例和新机器映像。

我在自己的项目中重现了这个场景,并且我能够使用来自不同项目的机器映像来创建我的实例,我遵循了下一个文档

我已经在我的

my-machine-image
上创建了一个机器映像
machine-image-project-origin
,并且我向新项目
[email protected]
下的服务帐户
vm-project-destination
授予了权限。

值得一提的是,我的

machine-image-project-origin
和我的
vm-project-destination
属于不同的组织,并且是用不同的帐户创建的。

要使用 gcloud 命令行工具授予对存储在项目

my-machine-image
中的
machine-image-project-origin
的访问权限:

gcloud beta compute machine-images add-iam-policy-binding my-machine-image \
    --project=machine-image-project-origin \
    --member='serviceAccount:[email protected]' \
    --role='roles/compute.admin'

您将获得类似:

Updated IAM policy for machine image [my-machine-image].
bindings:
- members:
  - serviceAccount:[email protected]
  role: roles/compute.admin
etag: BwXtXMjY8wZ=
version: 1

然后使用此图像创建一个新实例

my-instance
,在我的新项目中
vm-project-destination

gcloud beta compute instances create my-instance \
 --project=vm-project-destination \
 --zone us-east1-b \
 --source-machine-image projects/machine-image-project-origin/global/machineImages/machine-image-to-share \
 --service-account [email protected]

你会得到类似的东西:

Created [https://www.googleapis.com/compute/beta/projects/vm-project-destination/zones/us-east1-b/instances/my-instance].
NAME             ZONE        MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP   STATUS
my-instance      us-east1-b  n1-standard-1               10.122.0.2   35.222.19.36  RUNNING

然后,如果需要,您可以基于我们已经创建的新实例创建一个新的机器映像,该映像基本上是原始项目中创建的机器映像的副本。

另一方面,我建议您查看以下有关提问的指南:如何提出一个好问题?如何创建最小、完整且可验证的示例,以便提供更好的背景信息你正在做什么以及你想要实现什么。

我希望您发现这些信息有用。


2
投票

首先查看这些文档:这里

这应该让您深入了解跨帐户共享图像。

一旦您正确共享了对其他帐户图像的访问权限。我相信你可以做这样的事情:

gcloud compute --project=destinationproject images create dest-image --source-image=src-image --source-image-project=sourceproject


0
投票

我收到此错误

错误:(gcloud.compute.disks.create)缺少必需参数 [--replica-zones]:创建区域磁盘需要 --replica-zones

© www.soinside.com 2019 - 2024. All rights reserved.