LoginSignup
1
2

More than 5 years have passed since last update.

CoreOS で CloudStorage 上のスタートアップスクリプトを利用する

Last updated at Posted at 2015-01-27

概要

Google Compute Engine にて,インスタンスの OS に CoreOS を選んだ場合,なぜか CloudStorage からスタートアップスクリプトを読み込めない.CloudStorage にアクセスするためのパッケージを準備するスクリプトを別サーバからダウンロードして対応する.

スタートアップスクリプト

Google Compute Engine ではインスタンス起動時に実行する スタートアップスクリプト を指定できる.ドキュメント には CloudStorage に置いたファイルをスタートアップスクリプトに指定できると書かれているが,OS が CoreOS の場合,URL スキーム gs を扱うコマンドがスタートアップスクリプト実行時点では用意されていないようだ.httphttps にはアクセスできるため,gs を扱い本当のスタートアップスクリプトを取得,実行するスクリプトを別に用意して対処する.

そのスクリプトは,下記の通りで gist に置いてある.

#!/bin/bash
URL=$(curl http://metadata/computeMetadata/v1/instance/attributes/startup -H "Metadata-Flavor: Google")

docker pull google/cloud-sdk

cd /tmp
docker run -t --rm google/cloud-sdk /google-cloud-sdk/bin/gsutil cat $URL | tr -d "\r" > startup.sh
chmod a+x startup.sh
./startup.sh

使用する場合,メタデータとして,

を設定すれば良い.

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2