GCP 图像和元数据

GCP images and metadatas

我没有在 Google 文档中找到它,但是自定义 GCP 图像是否也存储来自引用实例的元数据?

我的意思是,如果我使用自定义映像部署新 VM,它的元数据是否与原始机器相同?

案例 1 :

如果您已将启动或关闭脚本存储为托管在外部位置(例如云存储)的文件,并提供了 创建实例时启动脚本 URL 然后你的元数据是 已经存在的最后一个 instance.These 文件被下载到新的 VM 实例上,而不是在通常的 VM 创建过程中发生的元数据服务器中。

案例二:

如果您创建了项目范围的元数据,那么所有 instances/resources 都将具有该项目的元数据。

设置项目范围的元数据以将元数据应用于项目中的所有实例。例如,如果您定义项目范围的元数据对 baz=bat ,则该元数据对会自动应用于项目中的所有实例。

案例 3 :

如果您没有将启动或关闭脚本存储为文件,那么默认情况下每个实例都将其元数据存储在元数据服务器上并且是不同且独立的。您可以从实例中和从 Compute Engine API.

以编程方式查询此元数据服务器

在您提到的情况下,元数据会有所不同

自己看,

  • 创建一个名为 instance-1 的新 VM 并拍摄快照 连接到 运行 VM 实例的磁盘
  • 根据快照制作一个名为 image-1 的自定义图像。
  • 使用此 image-1 创建另一个名为 instance-2 的实例。

现在检查实例的元数据值:

元数据服务器使用目录来组织某些元数据键。任何以尾部斜杠结尾的元数据条目都是一个目录。例如,disks/ 条目是附加到该实例的磁盘目录:

Detailed explanation of the commands:

curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"

0/

1/

2/

If you wanted more information about the disk 0/ directory, you can query the specific URL for that directory:

curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/0/" -H "Metadata-Flavor: Google"

device-name

index

mode

type

因此,如果您 select 实例元数据的设备名称-

每个实例分别作为instance-1和instance-2出现。