Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Draft で作る k8s 上 Rails 開発環境 / Rails Development ...
Search
Fumiaki MATSUSHIMA
July 29, 2018
Programming
3
360
Draft で作る k8s 上 Rails 開発環境 / Rails Development Environment built on Draft
TokyuRuby会議12 発表資料
https://tokyurubykaigi.github.io/tokyu12/
Fumiaki MATSUSHIMA
July 29, 2018
Tweet
Share
More Decks by Fumiaki MATSUSHIMA
See All by Fumiaki MATSUSHIMA
Learning from performance improvements on GraphQL Ruby
mtsmfm
1
1.2k
Ruby で作る Ruby (物理)
mtsmfm
1
210
GraphQL Ruby benchmark
mtsmfm
1
830
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.6k
Build REST API with GraphQL Ruby
mtsmfm
0
330
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
730
Gaming PC on GCP
mtsmfm
0
740
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
250
Canary release in StudySapuri
mtsmfm
0
3.1k
Other Decks in Programming
See All in Programming
型で語るカタ
irof
1
850
Understanding Kotlin Multiplatform
l2hyunwoo
0
230
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
5
1.2k
Claude Code派?Gemini CLI派? みんなで比較LT会!_20250716
junholee
1
750
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
110
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
3
290
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
190
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
6.9k
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
730
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
1.7k
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
190
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
210
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Being A Developer After 40
akosma
90
590k
GitHub's CSS Performance
jonrohan
1031
460k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
720
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Embracing the Ebb and Flow
colly
86
4.8k
For a Future-Friendly Web
brad_frost
179
9.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Transcript
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Draft で作る k8s
上 Rails 開発環境 @mtsmfm Fumiaki Matsushima TokyuRuby会議12 #tqrk12
#tqrk12 Draft で作る k8s 上 Rails 開発環境 ➔ Web Dev
at Quipper ➔ Ruby と麻雀と DbD が好き ➔ 西日暮里.rb 主催 ➔ GraphQL Tokyo 主催 @mtsmfm.inspect #tqrk12 Draft で作る k8s 上 Rails 開発環境
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://studysapuri.jp/ #tqrk12 Draft
で作る k8s 上 Rails 開発環境
#tqrk12 Draft で作る k8s 上 Rails 開発環境
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://nishinipporirb.doorkeeper.jp/events/77847 #tqrk12 Draft
で作る k8s 上 Rails 開発環境
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://twitter.com/mtsmfm/status/1022166525644398593 #tqrk12 Draft
で作る k8s 上 Rails 開発環境
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://www.meetup.com/ja-JP/GraphQL-Tokyo/ #tqrk12 Draft
で作る k8s 上 Rails 開発環境
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Draft で作る k8s
上 Rails 開発環境 @mtsmfm Fumiaki Matsushima TokyuRuby会議12 #tqrk12
#tqrk12 Draft で作る k8s 上 Rails 開発環境 開発環境 どうしてますか
#tqrk12 Draft で作る k8s 上 Rails 開発環境 docker-compose
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://speakerdeck.com/mtsmfm/qall-development-env-on-docker-for-quipper
#tqrk12 Draft で作る k8s 上 Rails 開発環境 k8s 使ってますか
#tqrk12 Draft で作る k8s 上 Rails 開発環境 本番は k8s 開発は
docker-compose
#tqrk12 Draft で作る k8s 上 Rails 開発環境 それでいいのか???
#tqrk12 Draft で作る k8s 上 Rails 開発環境 “本番となるべく同じに”
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Docker Swarm 使ってないでしょ?
#tqrk12 Draft で作る k8s 上 Rails 開発環境 d4m に k8s
到来 https://blog.docker.com/2018/01/docker-mac-kubernetes/
#tqrk12 Draft で作る k8s 上 Rails 開発環境 どうやって作るか
#tqrk12 Draft で作る k8s 上 Rails 開発環境 どうやっても 開発環境との 差異はある
#tqrk12 Draft で作る k8s 上 Rails 開発環境 本番と開発環境との差異 ➔ RAILS_ENV
➔ DB接続情報 ➔ 外部接続先 ➔ 開発用プロセスの有無 ◆ Webpack とか
#tqrk12 Draft で作る k8s 上 Rails 開発環境 最低限 差異の管理と k8s
への適用が必要
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://blog.hasura.io/draft-vs-gitkube-vs-helm-vs-ksonnet-vs-metaparticle-vs-s kaffold-f5aa9561f948
#tqrk12 Draft で作る k8s 上 Rails 開発環境 関連ツール 多すぎ
#tqrk12 Draft で作る k8s 上 Rails 開発環境 とりあえず Draft 素振ってみた
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://draft.sh/
#tqrk12 Draft で作る k8s 上 Rails 開発環境 “Draft makes it
easy to build applications that run on Kubernetes. Draft targets the "inner loop" of a developer's workflow: as they hack on code, but before code is committed to version control.”
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Draft とは ➔
開発中のループ、コードを書いてコミットするま での間にフォーカスしたツール ◆ 多分ここを狙ったツールはこいつと skaffold くらい • 他に知ってたら教えてください ➔ 中では Docker で Image をビルドし、Helm で デプロイ
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Helm とは ➔
k8s 用パッケージマネージャ ◆ YAML を束ねられる ◆ YAML にテンプレートも提供
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Draft とは ➔
draft create するとテンプレを生成 ◆ 使用言語を検出してくれる • GitHub の言語検出の仕組み (linguist) を使用 ➔ draft up するとデプロイされる ◆ docker build ◆ helm install --set <draft.toml の内容>
#tqrk12 Draft で作る k8s 上 Rails 開発環境 構成 ➔ /draft.toml
➔ /Dockerfile ➔ /charts/rails/templates ◆ deployment.yaml ◆ service.yaml ◆ …
#tqrk12 Draft で作る k8s 上 Rails 開発環境 構成 ➔ /draft.toml
➔ /Dockerfile ➔ /charts/rails/templates ◆ deployment.yaml ◆ service.yaml ◆ … Draft の設定ファイル 本番との差異を吸収
#tqrk12 Draft で作る k8s 上 Rails 開発環境 構成 ➔ /draft.toml
➔ /Dockerfile ➔ /charts/rails/templates ◆ deployment.yaml ◆ service.yaml ◆ … Helm のファイル郡 k8s に展開
#tqrk12 Draft で作る k8s 上 Rails 開発環境 本番との 差異の書き方
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40e d3386cf3/draft.toml.example
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40e d3386cf3/draft.toml.example set
は Helm の values の上書きになる
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40e d3386cf3/draft.toml.example 手元の変更を即座に
反映させるために マウントしたい
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40e d3386cf3/charts/rails/templates/deployment.yaml
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40e d3386cf3/draft.toml.example 開発中は
webpack-dev-server 欲しい
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40e d3386cf3/charts/rails/templates/deployment.yaml#L55-L61
#tqrk12 Draft で作る k8s 上 Rails 開発環境 やってみての感想 ➔ docker
build して再起動したい draft up vs docker build も再起動もしたくない Rails ◆ ファイル変更して即座に反映されるというのが Rails の 売りの一つだったような... ◆ 開発時に assets:precompile いらないでしょ ◆ Dockerfile わけたくなっちゃう
#tqrk12 Draft で作る k8s 上 Rails 開発環境 やってみての感想 ➔ draft
create 無力 ◆ 言語を検出 == 無から create できない ◆ 結局全部自分で書いたわ~ ➔ デプロイしようとしたら結局本番との差異でハマる ◆ ingress-nginx と GKE ingress の挙動の違い ◆ 本番との差異をなくすとは...
#tqrk12 Draft で作る k8s 上 Rails 開発環境 やってみての感想 ➔ Helm
だけでよくないか? ◆ Values の差し替えは Helm でできる ◆ 実質 docker build やってくれるだけのためにツール増 やすか?
#tqrk12 Draft で作る k8s 上 Rails 開発環境 https://github.com/Azure/draft/tree/e657813f23d23b967ec99a6363533fc3f1253312
#tqrk12 Draft で作る k8s 上 Rails 開発環境 コントリビュート チャンス
#tqrk12 Draft で作る k8s 上 Rails 開発環境 Happy Helming! (for
now)