Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Cloud Run - step ahead of the tutorial -
chimame
May 14, 2019
Technology
2
480
Cloud Run - step ahead of the tutorial -
【大阪】GCPUG Kansai 〜 Cloud Next Extended ~
chimame
May 14, 2019
Tweet
Share
More Decks by chimame
See All by chimame
chimame
1
93
chimame
0
510
chimame
1
230
chimame
0
310
chimame
3
180
chimame
0
180
chimame
0
1.6k
chimame
1
790
chimame
3
1.4k
Other Decks in Technology
See All in Technology
line_developers
PRO
2
450
ayatokura
1
170
1ftseabass
PRO
0
110
junendo
0
170
kanaugust
PRO
0
100
oracle4engineer
9
6.1k
aamine
4
890
kentaro
2
510
michigari
0
230
line_developers
PRO
1
330
autifyhq
1
770
legalforce
PRO
0
180
Featured
See All Featured
myddelton
109
11k
bryan
32
3.5k
edds
56
9.4k
hannesfritz
29
980
jensimmons
208
10k
mza
80
4.2k
aarron
258
36k
brad_frost
157
6.5k
tammielis
237
23k
sachag
445
36k
jlugia
217
16k
rasmusluckow
318
19k
Transcript
Cloud Run - Quickstartの1歩先 - 2019/05/14 GCPUG Kansai rito
目次 ➔ 自己紹介 ➔ Cloud Run の Quickstart ➔ Cloud
SQLへの接続 ➔ Cloud Buildsの設定
名前: rito 職業: Webエンジニア (アプリケーションエンジニア) 分野: Ruby on Rails, Nodejs,
React, Docker, AWS, GCP 所属: Ateam Finergy Inc. CTO コミュニティ: Rails follow-up Osaka Osaka Web Developers Meetup twitter: @chimame_rt
Cloud RunのQuickstart
None
超手抜き 要は以下の2コマンドで終わる $ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud
beta run deploy --image gcr.io/[PROJECT-ID]/helloworld
終わり
実際のアプリケーションは そうはいかない
特にデータ保存に使うアイツ
None
Cloud Run(beta)リリース当初
None
近いうちに対応するから ちょっと待て(超意訳)
None
None
None
Cloud SQLへの接続
実行するDockerイメージに オプションを付与
$ gcloud beta run deploy \ --image [IMAGE] \ --add-cloudsql-instances
<Project ID>:<region>:<Cloud SQL Instance name>
add-cloudsql-instancesオプションにより 実行するDockerコンテナにCloud SQL Proxyが自動的に設定される
アプリケーションからの接続
Cloud SQL Proxyの設定をすることで 以下のパスにunix socketファイルが 生成されるので接続する /cloudsql/<Project ID>:<region>:<Cloud SQL Instance
name>
これだけで接続可能
Cloud Buildの設定
Quickstartには もう1つコマンドがある
$ gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld $ gcloud beta run
deploy --image gcr.io/[PROJECT-ID]/helloworld
確かに動くけど 後で困ることがある
Dockerイメージビルド⏳
このままだと 何もキャッシュが効かない
None
Kanikoとは ❏ Googleが開発したDockerイメージをビルドするた めのツール ❏ Dockerデーモンに依存せずイメージをビルドでき るという特徴を持つ
None
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/<Project ID>/<Image
name>:latest - --cache=true logsBucket: '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秒になった (フルでキャッシュが効いた場合)
ただ、まだ完璧ではない
None
None
Cloud SQLよりVPC対応は 時間かかるから 首を長くして待ってて (超意訳)
最後に
None
None
ご清聴ありがとうご ざいました。 ちまめ@rito