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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Fumiaki MATSUSHIMA
July 29, 2018
Programming
400
3
Share
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.3k
Ruby で作る Ruby (物理)
mtsmfm
1
270
GraphQL Ruby benchmark
mtsmfm
1
900
タイムアウトにご用心 / 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
310
Canary release in StudySapuri
mtsmfm
0
3.3k
Other Decks in Programming
See All in Programming
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
120
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
390
今さら聞けないCancellationToken
htkym
0
200
Moments When Things Go Wrong
aurimas
3
130
iOS26時代の新規アプリ開発
yuukiw00w
0
220
LLM Plugin for Node-REDの利用方法と開発について
404background
0
140
AIエージェントの隔離技術の徹底比較
kawayu
0
440
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4.4k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1k
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
290
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
470
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
310
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
470
HDC tutorial
michielstock
2
680
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
320
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
180
A Soul's Torment
seathinner
6
2.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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)