无法使用 GCE 中的启动脚本启动实例

无法使用 GCE 中的启动脚本启动实例

我正在尝试像这样在 GCE 上启动 CoreOS 实例

gcloud compute instances create instance-1 --project myproject --image coreos-stable-607-0-0-v20150317 --zone us-central1-a --machine-type n1-standard-4 --metadata 'startup-script=#!/bin/sh
        ETCD_DISCOVERY_URL=https://discovery.etcd.io/a47e463f976655d93b3c77aaad1af77e
        HOSTNAME=$(curl http://metadata/computeMetadata/v1//hostname)
        IPADDR=$(ifconfig eth0| grep '\''inet '\'' | cut -dt -f2 | awk '\''{ print $1}'\'')
        sudo systemctl start fleet
        etcd -name $HOSTNAME -peer-addr $IPADDR:7001 -addr $IPADDR:4001 -discovery $ETCD_DISCOVERY_URL
        EOF'

我不断回到

usage: gcloud compute instances create  NAME [NAME ...] [optional flags]
ERROR: (gcloud.compute.instances.create) argument --metadata: key/value pair must be of the form KEY=VALUE; received: startup-script=#!/bin/sh
        ETCD_DISCOVERY_URL=https://discovery.etcd.io/a47e463f976655d93b3c777aaad1af77e
        HOSTNAME=$(curl http://metadata/computeMetadata/v1//hostname)
        IPADDR=$(ifconfig eth0| grep 'inet ' | cut -dt -f2 | awk '{ print $1}')
        sudo systemctl start fleet
        etcd -name $HOSTNAME -peer-addr $IPADDR:7001 -addr $IPADDR:4001 -discovery $ETCD_DISCOVERY_URL
        EOF

我按照以下示例进行操作https://cloud.google.com/compute/docs/startupscript 我究竟做错了什么?

答案1

看起来你的引用有误。考虑以下示例

 ... --metadata startup-script='#! /bin/bash...

然后看看你的类似诗节

 ... --metadata 'startup-script=#!/bin/sh ...

注意 的不同位置'。正如您在启动脚本中使用的那样,'您可能在引用方面存在其他问题,需要进行修复。

相关内容