Coreos

無法在 GCE 中使用啟動腳本啟動實例

  • February 8, 2019

我正在嘗試像這樣在 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 ...

注意不同的位置'。正如您'在啟動腳本中使用的那樣,您的引用可能會遇到其他問題,您需要修復這些問題。

引用自:https://serverfault.com/questions/679057