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
フロントエンジニアでも GKEの開発環境を作りたいっ!!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yasushi Asahi
February 14, 2019
Programming
0
490
フロントエンジニアでも GKEの開発環境を作りたいっ!!
Yasushi Asahi
February 14, 2019
Tweet
Share
More Decks by Yasushi Asahi
See All by Yasushi Asahi
VueでCSSモジュールを使った感想
yasushiasahi
1
710
Other Decks in Programming
See All in Programming
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
410
モダンOBSプラグイン開発
umireon
0
160
Claude Code Skill入門
mayahoney
0
410
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
280
CSC307 Lecture 14
javiergs
PRO
0
480
AI 開発合宿を通して得た学び
niftycorp
PRO
0
160
安いハードウェアでVulkan
fadis
0
620
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
350
Windows on Ryzen and I
seosoft
0
330
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記 / "It’s Not Working!" A Struggle with Error Handling in API Platform using DI
mkmk884
0
110
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
720
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
220
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
320
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
75
Six Lessons from altMBA
skipperchong
29
4.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
[SF Ruby Conf 2025] Rails X
palkan
2
840
Optimizing for Happiness
mojombo
378
71k
Color Theory Basics | Prateek | Gurzu
gurzu
0
260
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
Statistics for Hackers
jakevdp
799
230k
Transcript
フロントエンジニアでも GKEの開発環境を作りたいっ!!
自己紹介 名前 zero 本名:旭康史(あさひやすし) 所属 カラビナテクノロジー 仕事 フロントエンド 経歴 エンジニアとしは半年足らずのペーペーです(元々は広告の営業) 技術 React好き。Docker好き。Golang好き。TypeScript好き。 趣味 テレビアニメ鑑賞(今期の覇権は「わたてん」)
まずは作ったものをご紹介
Karabiner Members http://35.244.227.203/ 人の名前を覚えるのが苦手なので、入社したての 頃にメンバーの顔と名前を一致させるために作り ました。 こいつをGKE上で走らせています。 使用しているGCPのサービス ・Kubernates Engine(GCP上のkubernates環境) ・Container
Registry(Docker image置き場) ・Source Repositories(gitのレポジトリ) ・Cloud Build(自動ビルド、自動デプロイ)
Golang Ingress kubernetesクラスター httpリクエストの受け口 apiと静的ファイルの ルーティング 静的ファイルを返す apiサーバー 永続Volume pod
pod pod 構成図 Persistent Volumes DBサーバー pod
本日はこれの 開発&デプロイ環境のお話です
開発環境
Docker for Desktop(ローカルkubernates環境) ・おおむねGKEと同じように動かせる ・Docker for Mac(Docker for Windows)に付属さ れているので楽ちん
・Minikubeという方法もあるが別途インストールが 必要 ここから有効化できます。
・クラスタ内のコンテナのフォルダとローカ ルのフォルダをバインドする。 ・ここではローカルでwebpackから出力さ れたhtmlとjsをクラスタ内のnginxコンテ ナからも見れるようにしている。 本番用のyaml(一部抜粋) 開発用のyaml(一部抜粋) nginxコンテナ内の /usr/share/nginx/html と
ローカルのディレクトリ( webpackが生成するdistフォルダ) をバインドする。 使用するdocker imageを変更 プロセスが停止してもコンテナを維持 開発用の yamlを作る フロント編
開発用の yamlを作る サーバー編 ・フロントと同じ要領でコンテナとローカル のフォルダをバインド。 ・この場合はGolangの開発フォルダまる まるバインド。 ・ローカルでコードを変更するとクラスタ内 のGolangコンテナが検知して、再ビルド、 サーバー起動を行ってくれるように設定
する。 grm.sh Dockerfile_dev コンテナ起動時に この コマンドが実行される
demo①
思ったこと ・考え方は普通のDockerの開発環境と同じ(ディレクトリのバインド、ポートフォワード)。 ・本番用、開発用でyamlファイルが分かれてしまうので、管理方法を検討する必要がある。 helm、 kustomizeなど。 ・ローカルのパス指定はルートからの絶対パスしか受け付けてくれないので、 PCを変える時に書き換えが 必要
デプロイ環境
Cloud Build ・GCPが用意しているCI/CDサービス ・Container RegistryとSource Repositoriesを使っていれば認証関連を一切気にする必要がない。
トリガーを設定 ・コンソールからポチポチと設定すればト リガーを作れます。
ビルドステップを yamlで定義 ・yaml or Dockerfileでビルドステップを定 義します。 ・ここでは、 → docker imageをビルド
→ imageをRepositoryにpush → GKEのコンテナを更新 ということをしています。
demo②
思ったこと ・CI/CDを設定するのは初めてでしたが簡単でした。 ・やはり認証が必要ないことが大きい。
まとめ ・kubernatesは慣れると簡単 ・GCP内で物事を完結させると楽ち ん ・フロントエンドエンジニアでも構築 出来ました!!
ありがとうございました 旭康史
[email protected]
(株)カラビナテクノジー 801-0001 福岡市中央区天神1-2-4 農業共済ビル2F