GCP Deployment Manager中的启动脚本

时间:2019-08-02 18:19:27

标签: google-cloud-platform google-deployment-manager

我正在使用GCP部署管理器来部署VM实例。在部署过程中应执行一些初始化操作。 我已导入一个启动脚本,并在以下示例中添加了T& operator=(const T& other) // copy assignment { if (this != &other) { // self-assignment check expected if (other.size != size) { // storage cannot be reused delete[] mArray; // destroy storage in this size = 0; mArray = nullptr; // preserve invariants in case next line throws mArray = new int[other.size]; // create storage in this size = other.size; } std::copy(other.mArray, other.mArray + other.size, mArray); } return *this; } 属性: https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/examples/v2/metadata_from_file/jinja/config.yaml

但是我看不到那些动作被执行了。还有其他方法可以将这些脚本包含在部署计划中吗?

2 个答案:

答案 0 :(得分:1)

我建议您看一下有关在Deployment Manager中设置启动脚本的文档[1]。它规定将元数据设置为不同的格式,然后尝试一下它应该可以工作。

metadata:
     items:
     - key: startup-script
       value: "STARTUP-SCRIPT-CONTENTS"

如果仍有问题,请在此处共享您的部署的YAML信息,不要提供敏感信息,我们将很乐意为您提供帮助。

[1] https://cloud.google.com/deployment-manager/docs/step-by-step-guide/setting-metadata-and-startup-scripts

答案 1 :(得分:1)

启动脚本文件在启动时执行虚拟机中存在的文件 。如果使用Deployment Manager部署VM,则您的VM是新的。因此,该文件必须已经存在于引导映像中。 您正在使用自定义图片吗?

如果没有,建议您使用启动脚本URL,并指定存储在Google存储器中的启动文件。确保计算引擎具有足够的权限来读取文件。 有关计算引擎启动脚本的更多详细信息,请参见: https://cloud.google.com/compute/docs/startupscript