我正在使用 gcloudcomputeinstancecreate
命令创建 GCE 虚拟机,并使用 --metadata-from-files
参数传入启动 shell 脚本用于一些配置。
但是,我需要使用指定值预先填充各种环境变量,以便启动脚本正常工作。它们不能被硬编码到启动脚本中,因为对于我正在编写的整个脚本的不同用户来说,它们会有所不同(例如,传递到新实例的环境变量可能基于调用脚本的 $USER)。
我也尝试使用 --metadata
参数添加键值对,但这不起作用,并且引用的 shell 变量在启动脚本的执行中仍然未绑定(bind)。
如何发出 gcloud 计算实例创建命令来转发一组环境变量,这些变量将填充到环境中以便启动脚本使用它们?
--metadata
参数似乎应该是正确的,因为 docs说,
Metadata to be made available to the guest operating system running on the instances.
最佳答案
您应该能够使用此文档生成适当的 curl
命令来提取元数据:
https://cloud.google.com/compute/docs/storing-retrieving-metadata
然后您可以使用提取的值来设置环境变量。
(已编辑以修复 URL。)
关于environment-variables - 如何将环境变量注入(inject)到 gcloud 计算实例创建的启动脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59648495/