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
400
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Draft で作る k8s 上 Rails 開発環境 / Rails Development Environment built on Draft
TokyuRuby会議12 発表資料
https://tokyurubykaigi.github.io/tokyu12/
Fumiaki MATSUSHIMA
July 29, 2018
More Decks by Fumiaki MATSUSHIMA
See All by Fumiaki MATSUSHIMA
Learning from performance improvements on GraphQL Ruby
mtsmfm
1
1.4k
Ruby で作る Ruby (物理)
mtsmfm
1
290
GraphQL Ruby benchmark
mtsmfm
1
920
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.7k
Build REST API with GraphQL Ruby
mtsmfm
0
390
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
780
Gaming PC on GCP
mtsmfm
0
810
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
320
Canary release in StudySapuri
mtsmfm
0
3.3k
Other Decks in Programming
See All in Programming
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
4.8k
今さら聞けない .NET CLI
htkym
0
180
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
200
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
450
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
440
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
250
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
230
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Optimizing for Happiness
mojombo
378
71k
First, design no harm
axbom
PRO
2
1.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
The Curious Case for Waylosing
cassininazir
1
450
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
360
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.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)