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
220
GraphQL Ruby benchmark
mtsmfm
1
850
タイムアウトにご用心 / Timeout might break application state
mtsmfm
6
2.6k
Build REST API with GraphQL Ruby
mtsmfm
0
340
GraphQL Ruby をちょっとだけ速くした / Make graphql-ruby faster a bit
mtsmfm
1
750
Gaming PC on GCP
mtsmfm
0
740
How to introduce GraphQL to an existing React-Redux application
mtsmfm
1
260
Canary release in StudySapuri
mtsmfm
0
3.1k
Other Decks in Programming
See All in Programming
Build your own WebP codec in Swift
kishikawakatsumi
2
840
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
100
Advance Your Career with Open Source
ivargrimstad
0
190
VisionFrameworkで実現する - プライバシーに配慮した「顔ぼかし」機能 / Face blurring with Vision Framework
imaizume
0
190
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
130
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.2k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
2.4k
私はどうやって技術力を上げたのか
yusukebe
42
17k
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3.1k
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
810
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
230
株式会社 Sun terras カンパニーデック
sunterras
0
170
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Site-Speed That Sticks
csswizardry
11
870
YesSQL, Process and Tooling at Scale
rocio
173
14k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Designing Experiences People Love
moore
142
24k
We Have a Design System, Now What?
morganepeng
53
7.8k
How GitHub (no longer) Works
holman
315
140k
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)