如何将环境变量注入到 gcloud 计算实例创建的启动脚本中?



我正在使用gcloud compute instances create命令创建一个GCE VM,并且正在使用--metadata-from-files参数传入启动shell脚本以进行某些配置。

但是,我需要用指定的值预填充各种环境变量,以便启动脚本正常工作。它们不能硬编码到启动脚本中,因为它们对于我正在编写的整个脚本的不同用户会有所不同(例如,传递给新实例的 env var 可能基于调用脚本$USER(。

我也尝试使用--metadata参数添加键值对,但这不起作用,并且引用的 shell 变量在启动脚本的执行中仍然未绑定。

如何发出 gcloud 计算实例创建命令,该命令转发一组环境变量,这些变量将填充到环境中以供启动脚本使用它们?

--metadata参数似乎应该是正确的,因为文档说,

要提供给实例上运行的来宾操作系统的元数据。

您应该能够使用此文档生成相应的curl命令来提取元数据: https://cloud.google.com/compute/docs/storing-retrieving-metadata

然后,您可以使用提取的值来设置环境变量。

(已编辑以修复网址。