我试图在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跟随了这个例子。我在做什么错了?
看起来你有你的报价错误。 考虑这个例子
... --metadata startup-script='#! /bin/bash...
然后看看你的类似的节
... --metadata 'startup-script=#!/bin/sh ...
注意'的不同位置。 正如您在启动脚本中使用过' ,您可能会在引用时遇到其他问题,您需要修复这些问题。