为Google部署管理器

时间:2017-03-29 14:25:56

标签: google-cloud-platform google-compute-engine

我尝试使用Googles部署管理器创建计算实例。它应该有两个磁盘,一个基于启动映像,另一个是空白。稍后将通过盐堆正确地形成和安装空白盘。部署经理抱怨“必须指定源映像”。如何使用Deployment Manager为计算实例创建第二个空白磁盘?

我的compute-instance.jinja:

resources:
- type: compute.v1.instance
  name: {{ env["deployment"] }}-{{ env["name"] }}
  properties:
    zone: europe-west1-c
    machineType: zones/europe-west1-c/machineTypes/n1-standard-1
    disks:
    - deviceName: {{ env["deployment"] }}-{{ env["name"] }}
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        sourceImage: global/images/XXXXXXX
    - deviceName: {{ env["deployment"] }}-{{ env["name"] }}-data
      type: PERSISTENT
      boot: false
      autoDelete: true
      initializeParams:
        diskSizeGb: {{ properties["size"] }}
    networkInterfaces:
    - network: global/networks/default
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT

2 个答案:

答案 0 :(得分:4)

通过使用以下方法为磁盘创建单独的资源来解决: - type: compute.v1.disk name: {{ env["deployment"] }}-{{ env["name"] }}-1-data properties: sizeGb: {{ properties["size"] }} zone: europe-west1-c 然后从compute-instance中引用它: - deviceName: {{ env["deployment"] }}-{{ env["name"] }}-1-data boot: false autoDelete: true source: $(ref.{{ env["deployment"] }}-{{ env["name"] }}-1-data.selfLink)

答案 1 :(得分:2)

如果必须提供源图像,则可以创建空磁盘的图像。

这样做的缺点是,当您实际存储任何内容时,您将开始paying(并不太难)获得10gb的图像存储。

gcloud compute disks create emptydisk --size 10GB
gcloud compute images create empty-disk-image --source-disk emptydisk

然后将其用作源图像

- deviceName: {{ env["deployment"] }}-{{ env["name"] }}-data
  type: PERSISTENT
  boot: false
  autoDelete: true
  initializeParams:
    sourceImage: projects/your-project-id/global/images/empty-disk-image
    diskSizeGb: {{ properties["size"] }}