TokyuRuby会議12 発表資料
https://tokyurubykaigi.github.io/tokyu12/
#tqrk12 Draft で作る k8s 上 Rails 開発環境Draft で作る k8s 上 Rails 開発環境@mtsmfmFumiaki MatsushimaTokyuRuby会議12 #tqrk12
View Slide
#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 開発環境開発環境どうしてますか
#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-skaffold-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 applicationsthat run on Kubernetes. Draft targets the"inner loop" of a developer's workflow: asthey hack on code, but before code iscommitted 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
#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/3c3983b479b775e39b4b7507314ac40ed3386cf3/draft.toml.example
#tqrk12 Draft で作る k8s 上 Rails 開発環境https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40ed3386cf3/draft.toml.exampleset は Helm の valuesの上書きになる
#tqrk12 Draft で作る k8s 上 Rails 開発環境https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40ed3386cf3/draft.toml.example手元の変更を即座に反映させるためにマウントしたい
#tqrk12 Draft で作る k8s 上 Rails 開発環境https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40ed3386cf3/charts/rails/templates/deployment.yaml
#tqrk12 Draft で作る k8s 上 Rails 開発環境https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40ed3386cf3/draft.toml.example開発中はwebpack-dev-server欲しい
#tqrk12 Draft で作る k8s 上 Rails 開発環境https://github.com/mtsmfm/gh-deck/blob/3c3983b479b775e39b4b7507314ac40ed3386cf3/charts/rails/templates/deployment.yaml#L55-L61
#tqrk12 Draft で作る k8s 上 Rails 開発環境やってみての感想➔ docker build して再起動したい draft upvsdocker 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)