GCE スタートアップスクリプトで gsutil を使う
Posted: , Modified: GoogleCloudPlatform GoogleComputeEngine CoreOS Qiita
本稿は Qiita 投稿記事 のバックアップです.
問題
GoogleComputeEngine(GCE) CoreOS では,gsutil などのツールは,google/cloud-sdk という
docker イメージ内にあるものを利用している.しかし,これらが使えるようになるのは
スタートアップスクリプト終了後になっているため,スタートアップスクリプト内で gsutil
などを使うと command not found
となる.
解決策
スタートアップスクリプト内で google/cloud-sdk を pull し,
そこに含まれているコマンドを利用する.また,なぜか gcloud components update
しろと警告が出るので,予めアップデートしておく.
$ docker pull google/cloud-sdk
$ docker run -t --name updating google/cloud-sdk /google-cloud-sdk/bin/gcloud components update -q
$ docker commit updating google/cloud-sdk:latest
その後,gsutil コマンドを利用する,
$ docker run -t --rm google/cloud-sdk /google-cloud-sdk/bin/gsutil cat <url>