パッカーテンプレートからGCEイメージを作成しようとしています。パッカーでGCEのメタデータを指定する方法は?
ここに私がその目的のために使用している部分があります。
"builders": [
...
{
"type": "googlecompute",
"account_file": "foo",
"project_id": "bar",
"source_image": "centos-6-v20160711",
"zone": "us-central1-a",
"instance_name": "packer-building-image-centos6-baz",
"machine_type": "n1-standard-1",
"image_name": "centos6-some-box-name",
"ssh_username": "my_username",
"metadata": {
"startup-script-log-dest": "/opt/script.log",
"startup-script": "/opt/startup.sh",
"some_other_custom_metadata_key": "some_value"
},
"ssh_pty": true
}
],
...
必要なファイルも作成しました。ここにその部分があります
"provisioners": [
...
{
"type": "file",
"source": "{{user `files_path`}}/startup.sh",
"destination": "/opt/startup.sh"
},
...
{
"type": "shell",
"execute_command": "sudo sh '{{.Path}}'",
"inline": [
...
"chmod ugo+x /opt/startup.sh"
]
}
...
「メタデータ」フィールドがなくてもすべて機能します。私は提供されたパラメータでイメージ/インスタンスを作成することができます。イメージからインスタンスを作成しようとすると、提供されたメタデータを見つけることができず、起動スクリプトを実行したり、ロギングファイルやその他のカスタムメタデータを設定することができません。 ここに私が使用しているソースはhttps://www.packer.io/docs/builders/googlecompute.html#metadataです。
提案が役に立ちます。メタデータタグstartup-script
がactuallスクリプトではありませんパスを含める必要があり、事前