【大阪】GCPUG Kansai 〜 Cloud Next Extended ~
Cloud Run- Quickstartの1歩先 -2019/05/14GCPUG Kansairito
View Slide
目次➔ 自己紹介➔ Cloud Run のQuickstart➔ Cloud SQLへの接続➔ Cloud Buildsの設定
名前: rito職業: Webエンジニア(アプリケーションエンジニア)分野: Ruby on Rails, Nodejs, React, Docker,AWS, GCP所属: Ateam Finergy Inc. CTOコミュニティ: Rails follow-up OsakaOsaka Web Developers Meetuptwitter: @chimame_rt
Cloud RunのQuickstart
超手抜き要は以下の2コマンドで終わる$ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld$ gcloud beta run deploy --image gcr.io/[PROJECT-ID]/helloworld
終わり
実際のアプリケーションはそうはいかない
特にデータ保存に使うアイツ
Cloud Run(beta)リリース当初
近いうちに対応するからちょっと待て(超意訳)
Cloud SQLへの接続
実行するDockerイメージにオプションを付与
$ gcloud beta run deploy \--image [IMAGE] \--add-cloudsql-instances ::Instance name>
add-cloudsql-instancesオプションにより実行するDockerコンテナにCloud SQLProxyが自動的に設定される
アプリケーションからの接続
Cloud SQL Proxyの設定をすることで以下のパスにunix socketファイルが生成されるので接続する/cloudsql/::
これだけで接続可能
Cloud Buildの設定
Quickstartにはもう1つコマンドがある
$ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld$ gcloud beta run deploy --image gcr.io/[PROJECT-ID]/helloworld
確かに動くけど後で困ることがある
Dockerイメージビルド⏳
このままだと何もキャッシュが効かない
Kanikoとは❏ Googleが開発したDockerイメージをビルドするためのツール❏ Dockerデーモンに依存せずイメージをビルドできるという特徴を持つ
Kanikoを使ってキャッシュを効かせる呪文
$ gcloud config set builds/use_kaniko True
ビルド設定のyamlファイル
steps:- name: 'gcr.io/kaniko-project/executor:latest'args:- --build-arg=HOGE=fuga- --destination=gcr.io//name>:latest- --cache=truelogsBucket: 'gs://hoge-logs/cloud-build'
このyamlファイルを指定してgcloud buildsを実行
$ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld$ gcloud builds submit --config ./cloudbuild.yaml
これだけでビルド時間が2分30秒→30秒になった(フルでキャッシュが効いた場合)
ただ、まだ完璧ではない
Cloud SQLよりVPC対応は時間かかるから首を長くして待ってて(超意訳)
最後に
ご清聴ありがとうございました。ちまめ@rito